Closed
Bug 1231759
Opened 9 years ago
Closed 9 years ago
--jsdebugger with xpcshell is broken for some tests
Categories
(Testing :: XPCShell Harness, defect)
Testing
XPCShell Harness
Tracking
(firefox45 affected, firefox46 fixed)
RESOLVED
FIXED
mozilla46
People
(Reporter: Gijs, Assigned: jryans)
References
Details
Attachments
(1 file)
STR (on OSX): 1. ./mach xpcshell-test --jsdebugger toolkit/modules/tests/xpcshell/test_PermissionsUtils.js ER: get debugger AR: no debugger, following error in the console: 0:00.56 LOG: Thread-1 INFO "Failed to initialize debugging: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXPCComponents_Utils.import]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: /Users/gkruitbosch/dev/fx-team/testing/xpcshell/head.js :: _setupDebuggerServer :: line 386" data: no] _setupDebuggerServer@/Users/gkruitbosch/dev/fx-team/testing/xpcshell/head.js:386:21 _initDebugging@/Users/gkruitbosch/dev/fx-team/testing/xpcshell/head.js:436:24 _execute_test@/Users/gkruitbosch/dev/fx-team/testing/xpcshell/head.js:475:7 @-e:1:1 That line is: let { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {}); so I'm assuming this is what busted it... Ryan, any chance you can look into this?
Flags: needinfo?(jryans)
Assignee | ||
Comment 1•9 years ago
|
||
For xpcshell to access the resource://devtools files, it needs to have the "-a" argument (for app dir) to be set to the browser subdir of the install path. It's possible to make this happen by setting: firefox-appdir = browser in the xpcshell.ini file. This can also change the functionality of the test directory by altering what modules are loaded by the test environments in other ways as well, so it can't very easily be enabled everywhere unfortunately. I investigated changing this globally, so that it would not need to be set in each xpcshell.ini in bug 1215378, but I ended up with too many test failures to sort through. Editing the xpcshell.ini for the directory you mentioned appears to resolve the issue.
Flags: needinfo?(jryans)
Reporter | ||
Comment 2•9 years ago
|
||
(In reply to J. Ryan Stinnett [:jryans] (use ni?) (at work week until Dec. 14) from comment #1) > For xpcshell to access the resource://devtools files, it needs to have the > "-a" argument (for app dir) to be set to the browser subdir of the install > path. > > It's possible to make this happen by setting: > > firefox-appdir = browser > > in the xpcshell.ini file. > > This can also change the functionality of the test directory by altering > what modules are loaded by the test environments in other ways as well, so > it can't very easily be enabled everywhere unfortunately. > > I investigated changing this globally, so that it would not need to be set > in each xpcshell.ini in bug 1215378, but I ended up with too many test > failures to sort through. > > Editing the xpcshell.ini for the directory you mentioned appears to resolve > the issue. Can we guard for this and print a nicer (and more visible) message? Right now we just continue running the test(s) without showing the debugger, which is unfortunate.
Flags: needinfo?(jryans)
Assignee | ||
Comment 3•9 years ago
|
||
(In reply to :Gijs Kruitbosch from comment #2) > Can we guard for this and print a nicer (and more visible) message? Right > now we just continue running the test(s) without showing the debugger, which > is unfortunate. Sure, I'll take a look.
Assignee: nobody → jryans
Status: NEW → ASSIGNED
Component: Developer Tools: Debugger → XPCShell Harness
Flags: needinfo?(jryans)
Product: Firefox → Testing
Assignee | ||
Comment 4•9 years ago
|
||
Bug 1231759 - Explain DevTools appdir issue when debugging xpcshell. r=Gijs
Attachment #8698470 -
Flags: review?(gijskruitbosch+bugs)
Reporter | ||
Comment 5•9 years ago
|
||
Comment on attachment 8698470 [details] MozReview Request: Bug 1231759 - Explain DevTools appdir issue when debugging xpcshell. r=Gijs https://reviewboard.mozilla.org/r/28013/#review25073 Untested, but this looks great from code inspection, thanks! ::: testing/xpcshell/head.js:388 (Diff revision 1) > + ({ require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {})); Interesting syntax. I presume you need the extra () because JS doesn't like `try {{` for some reason?
Attachment #8698470 -
Flags: review?(gijskruitbosch+bugs) → review+
Assignee | ||
Comment 6•9 years ago
|
||
https://reviewboard.mozilla.org/r/28013/#review25073 > Interesting syntax. I presume you need the extra () because JS doesn't like `try {{` for some reason? It's destructuring when not prefixed by `let` on the same line. The braces alone can't be distinguished from a new block. Took me a while to learn that one. :) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Syntax
Comment 8•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/71c45c3742f4
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox46:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
You need to log in
before you can comment on or make changes to this bug.
Description
•