Closed Bug 809677 Opened 7 years ago Closed 7 years ago

recent httpd.js changes have broken xpcshell for B2G


(Testing :: General, defect)

Not set


(blocking-basecamp:+, firefox18 fixed, firefox19 fixed)

blocking-basecamp +
Tracking Status
firefox18 --- fixed
firefox19 --- fixed


(Reporter: jduell.mcbugs, Assigned: gps)



(1 file)

When I build with for desktop B2G:

  ac_add_options --enable-application=b2g

Running 'make xpcshell-tests' I see 108 xpcshell tests fail, all with 

  Error: resource://testing-common/httpd.js - EXPORTED_SYMBOLS is not an array.

With the same tree and --enable-application=browser, all tests succeed.

Perhaps some B2G boilerplate is already defining a different EXPORTED_SYMBOLS?
We'll want xpcshell test coverage for B2G.
blocking-basecamp: --- → ?
httpd.js is using "const EXPORTED_SYMBOLS" instead of "this.". I suspect this file missed the CPG refactor train.
I think this will do it. Patch is untested.
Attachment #679448 - Flags: review?(mcmanus)
No longer blocks: 755196, 772272
Assignee: nobody → gps
Attachment #679448 - Flags: review?(mcmanus) → review?(jwalden+bmo)
(In reply to Gregory Szorc [:gps] from comment #3)
> I think this will do it. Patch is untested.

I've just imported it locally and now my tests pass again.
Comment on attachment 679448 [details] [diff] [review]
this qualify exported symbols from httpd.js, v1

Review of attachment 679448 [details] [diff] [review]:

Did we really break every existing JSM when we made the change from having EXPORTED_SYMBOLS be a global variable, to having it be a property added to |this|?  I'm more than a bit surprised we think we can get away with doing this, breaking every extension that has a JSM, even if the fix for extensions is super-small.
Attachment #679448 - Flags: review?(jwalden+bmo) → review+
This only affects things running in b2g, which has no extensions.
Closed: 7 years ago
Resolution: --- → FIXED
blocking-basecamp: ? → +
Component: httpd.js → General
You need to log in before you can comment on or make changes to this bug.