In bug 798580 and bug 805829 we discovered that we were setting the dom.browser_frames.oop_by_default pref to "true" in our B2G mochitests which causes an exception in shell.js (since it was written under the assumption that the browserFrame iframe is in process).
Reftests do the same thing. I'm not sure if it's responsible for any of the issues/failing tests but it can't hurt to fix. Ideally the reftests would be run within the test-container app's iframe (bug 805829) as this is closer to how a webapp is actually run.
I talked to cjones and apparently this is not what we want at all. Ideally we want to replace shell.xul with reftest.xul and run the tests from there.
Created attachment 703023 [details] [diff] [review]
I was able to get it working by modifying the files one step at a time in the test-package-stage dir and making sure I don't break things along the way. Unfortunately every time I then go to make a patch, change the Makefiles and rebuild, it stops working.
I get REFTEST TEST-UNEXPECTED-FAIL | | EXCEPTION: TypeError: invalid 'in' operand args
Created attachment 706029 [details] [diff] [review]
This patch gets tests running (though xul tests still fail since allowXULXBL isn't getting set). But there are still a lot of odd things happening and I'm not quite sure how to proceed (intermittent timeouts, marionette can't connect, additional test failures etc). Since this seems to make reftests less stable, I'm going to put this work on hold indefinitely until/if there is a definite need for it.
Not actively working on this. Though marionette/b2g tests in general have stabilized a lot since January. Might be worth revisiting this at some point.