Support --pause-on-error in Chrome and PhantomJS
- Dominant language
- Dart
- Stars
- 536
- Forks
- 232
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 10
Description
This is a very useful flag for debugging. With #294 and #296 it isn't strictly necessary, since the user can just set it manually via the dev tools, but it's much easier to set it via the command-line.
This will require starting and connecting to the Chrome dev tools and sending [`Debugger.setPauseOnExceptions`](https://chromedevtools.github.io/devtools-protocol/tot/Debugger/#method-setPauseOnExceptions) before we begin loading or running tests. I'm reasonably sure that PhantomJS uses a similar protocol, since it's WebKit based and its remote debugger is Chrome-compatible, but we'll have to make sure.
It's also possible that this could work with IE using the [IE Diagnostics Adapter](https://github.com/Microsoft/IEDiagnosticsAdapter/).
Contributor guide
Research direction
No files or tests are named. Start by tracing command-line flag handling and the Chrome and PhantomJS remote-debugger connection, then verify how Debugger.setPauseOnExceptions can be sent before tests load or run. Done means --pause-on-error works in Chrome and PhantomJS, with PhantomJS protocol compatibility confirmed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart
- Domain
- cli, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100