Platform/JS Compartments Mochitest
This page is a tracking page for getting the JS compartments work to pass xpcshell tests and Mochitests and other automated test suites.
xpcshell
default compartment leaks
bug 599761 (_newJSDContext), landed, missed a part (now bug 600580)
bug 599762 (js::ctypes::CClosure::ClosureStub), patch in bug, tryservering
bug 600022 (XPCShellEnvironment::Init()), patch in bug, tryservering
bug 600032 (JetpackChild::Init()), landed
bug 600173 (atoms should always be in the default compartment), ready to land
bug 600402 (don't copy strings for the same compartment), patch in bug
bug 600580 (_newJSDContext, part 2), patch in bug, tryservering
Mochitest
Run with python runtests.py --total-chunks=20 --this-chunk=n --autorun --debugger=gdb
where n
is the chunk you want to examine.
Remaining large-ish items
- XPCNativeWrapper.unwrap() different compartments
- XPCSafeJSObjectWrapper::WrapObject() fails
- Error hacks?
- XPCNW holder objects vs JS_ClearScope()
- Location object
- DocShell navigation tests
- IndexedDB and DOM worker tests, need cross compartment structured clone (jorendorff/bent)
FIXED issues:
- nsJSContext::BindCompiledEventHandler(), target and funobj from
- Components.utils.import() from non-chrome code.
failing tests:
/tests/js/src/xpconnect/tests/mochitest/test_bug505915.html /tests/js/src/xpconnect/tests/mochitest/test_cows.html /tests/js/src/xpconnect/tests/mochitest/test_frameWrapping.html /tests/dom/tests/mochitest/ajax/offline/test_updatingManifest.html /tests/docshell/test/navigation/test_opener.html /tests/docshell/test/navigation/test_reserved.html /tests/mochitest/bugs/test_bug346659.html (win.foo undefined) /tests/docshell/test/test_bug529119-1.html /tests/docshell/test/test_bug529119-2.html /tests/content/html/content/test/test_bug388558.html (mounir?)
assert-to-death tests:
/tests/toolkit/components/passwordmgr/test/test_basic_form_observer_autofillForms.html /tests/toolkit/components/passwordmgr/test/test_basic_form_observer_foundLogins.html
Chunk 1
pass, 22848 tests
Chunk 2
pass
Chunk 3
1 test failed out of 14582
/tests/content/html/content/test/test_bug209275.xhtml iframeCw.document is null on line 232.
Chunk 4
pass, 19244 tests
Chunk 5
12 failures, doesn't complete, got through 865 tests, two tests fail in /tests/docshell/test/navigation/*, gets stuck on /tests/dom/indexedDB/ tests (bent looking into that)
pass: /tests/dom/tests/mochitest/ajax
fails: tests/dom/tests/mochitest/bugs/test_bug346659.html, /tests/dom/tests/mochitest/bugs/test_bug396843.html, http://mochi.test:8888/tests/dom/tests/mochitest/bugs/test_bug409349.html, http://mochi.test:8888/tests/dom/tests/mochitest/bugs/test_bug440572.html, http://mochi.test:8888/tests/dom/tests/mochitest/bugs/test_bug531176.html, http://mochi.test:8888/tests/dom/tests/mochitest/bugs/test_bug61098.html, http://mochi.test:8888/tests/dom/tests/mochitest/dom-level0/test_setting_document.domain_idn.html (idn failures?),
Chunk 6
127 tests pass, then we hit test_xhrAbort.html, and fail miserably in nsContentUtils::ReparentClonedObjectToScope(). (bent?)
Chunk 7
pass, 177 tests
Chunk 8
pass, 346 tests
Chunk 9
pass, per peterv.
Chunk 10
pass, per peterv.
Chunk 11
pass, per peterv.
Chunk 12
pass, per peterv.
Chunk 13
pass, per peterv.
Chunk 14
pass, per peterv.
Chunk 15
pass, per peterv.
Chunk 16
pass
was: * 1907 INFO TEST-START | /tests/dom/tests/mochitest/localstorage/test_localStorageOriginsDiff.html
Compartment mismatch 0x105d5cc00 vs. 0x10640ec00
Assertion failure: compartment mismatched, at /src/mozilla/tracemonkey/js/src/jscntxtinlines.h:515 -- fixed
Chunk 17
pass, 573 tests (sloooooooooow to run)
Chunk 18
pass, 5073 tests
Chunk 19
pass
Chunk 20
pass, 17850 tests, with the exception of the passwrd manager failures listed up top.