-
Notifications
You must be signed in to change notification settings - Fork 35
add launch.json 'console' option, and some minor changes #64
Conversation
Travis says 1 tests fails for two Linux+Perl combinations, where the tests pass on Mac+Perl with the same Perl version. Inclined to mark the test to be skipped, I have no way to test this locally, and might indeed get different results than Travis for any number of reasons... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hoehrmann over all looks good - alot of improvements!
Regarding the test - I would love to create a layer wrapping the perl debugger, the output is not consistent depending on os/platform/distribution/padwalker/perl version etc. If we could isolate that and run the test matrix against that part only. (thats the messy part, but it's basically a task to reimplement the whole perl db interface into one stable / consistent interface)
This extension could just rely on that and only run one test.
For now we have to spin up a docker image to test locally..
@hoehrmann I've checked out the code works great!! |
Glad to hear that! So what is left to do for this PR? Do you want me to change it to remove Perl 5.14 does not even compile on my system due to an incompatibility with my version of gcc https://rt.perl.org/Public/Bug/Display.html?id=123784 Perl 5.16 has similar issues on my system. Anyways... a notable difference between Note that the failing test had been |
yes - lets remove the deprecatedDebugConsole - I think the terminal is more clear . |
@raix: Okay, will update the PR tomorrow. |
The new commit:
|
Awesome work @hoehrmann let's get this out :) |
🎉 This PR is included in version 0.5.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This adds a new
launch.json
option to set the kind of console the debuggee runs in. The current behaviour is dubbeddeprecatedDebugConsole
, new options areintegratedTerminal
,externalTerminal
,remote
, andnone
.console: 'remote'
takes the place of the old
if port is true-ish
logic allowingport
to be set to zero so that a random available port is selected automatically.The
console: 'none'
mode is intended for the test suite.The
integratedTerminal
andexternalTerminal
options use the newrunInTerminal
reverse request API.Furthermore:
if (this.debug) console.log...
has been replaced with calls to alogDebug
functionskip
test has been fixed (confusing with paths vs cwd)print { $DB::OUT } ...
replaced withp ...
as that is just what thep
command doesprovideInitialConfigurations
command, that's never used as far as I can telllaunch.json
magic. That allows you to start debugging simple scripts without anylaunch.json
configuration at all, among other things.onDebug
nowthen
callback withawait
.pid
exposure and adapted some tests accordinglyTest suite passes, and all but 2 tests would still pass if
adapter.test.ts
andconnection.test.ts
usedconsole: 'none'
instead (the failing tests have syntax errors, we do not quite see that withnone
).