Platform/JS Compartments Mochitest: Difference between revisions
GregorWagner (talk | contribs) (→done) |
|||
| Line 41: | Line 41: | ||
== Remaining large-ish items == | == Remaining large-ish items == | ||
Minor | |||
* Error hacks? | |||
* XPCSafeJSObjectWrapper::WrapObject() fails | * XPCSafeJSObjectWrapper::WrapObject() fails | ||
-> remove XPCSafeJSObjectWrapper | -> remove XPCSafeJSObjectWrapper | ||
FIXED issues: | FIXED issues: | ||
| Line 59: | Line 56: | ||
* XPCNativeWrapper.unwrap() different compartments | * XPCNativeWrapper.unwrap() different compartments | ||
* IndexedDB and DOM worker tests, need cross compartment structured clone (jorendorff/bent) | * IndexedDB and DOM worker tests, need cross compartment structured clone (jorendorff/bent) | ||
* XPCNW holder objects vs JS_ClearScope() | |||
failing tests: | failing tests: | ||
Revision as of 00:22, 1 October 2010
This page is a tracking page for getting the JS compartments work to pass xpcshell tests and Mochitests and other automated test suites.
How to get the patch queue
Install hg queues.
Then add to .hg/patches/.hg/hgrc
[paths]
default = http://hg.mozilla.org/users/mrbkap_mozilla.com/brain-transplants
Then go into .hg/patches and hg pull, hg up and then go back to ../../ and do hg qpush -a. Build. Every time we update the queue you have to do qpop -a in the repository, then pull and update the patch queue, and then go back and do qpush -a to get the patches applied again.
xpcshell
default compartment leaks
todo
done
bug 599761 (_newJSDContext)
bug 599762 (js::ctypes::CClosure::ClosureStub)
bug 600022 (XPCShellEnvironment::Init())
bug 600032 (JetpackChild::Init())
bug 600173 (atoms should always be in the default compartment)
bug 600580 (_newJSDContext, part 2)
bug 600402 (don't copy strings for the same compartment)
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
Minor
- Error hacks?
- XPCSafeJSObjectWrapper::WrapObject() fails
-> remove XPCSafeJSObjectWrapper
FIXED issues:
- Fix up XrayWrappers
- Make chrome wrappers expose nothing by default
- added scriptOnly check to chrome object and make all XOWs script only
- Location object
- nsJSContext::BindCompiledEventHandler(), target and funobj from
- Components.utils.import() from non-chrome code.
- DocShell navigation tests
- XPCNativeWrapper.unwrap() different compartments
- IndexedDB and DOM worker tests, need cross compartment structured clone (jorendorff/bent)
- XPCNW holder objects vs JS_ClearScope()
failing tests:
http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/test_updatingManifest.html http://mochi.test:8888/tests/dom/tests/mochitest/bugs/test_bug396843.html http://mochi.test:8888/tests/content/base/test/test_bug574596.html
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
Make chrome tests:
[TODO] http://mochi.test:8888/tests/js/src/xpconnect/tests/mochitest/test_cows.html [Done] /tests/js/src/xpconnect/tests/mochitest/test_bug484459.html (XPCSafeJSObjectWrapper) [Done but real failures] /tests/js/src/xpconnect/tests/mochitest/test_wrappers.html (XPCSafeJSObjectWrapper)
Chunk 1
5 failures, 22848 tests
http://mochi.test:8888/tests/browser/base/content/test/test_offlineNotification.html http://mochi.test:8888/tests/browser/base/content/test/test_offline_gzip.html http://mochi.test:8888/tests/browser/components/feeds/test/test_bug408328.html http://mochi.test:8888/tests/browser/components/feeds/test/test_bug494328.html http://mochi.test:8888/tests/browser/base/content/test/test_feed_discovery.html
Chunk 2
9 failures out of 11244:
http://mochi.test:8888/tests/content/events/test/test_bug547996-2.xhtml http://mochi.test:8888/tests/content/events/test/test_bug586961.xul http://mochi.test:8888/tests/content/events/test/test_clickevent_on_input.html http://mochi.test:8888/tests/content/html/content/test/test_bug109445.html http://mochi.test:8888/tests/content/html/content/test/test_bug109445.xhtml
Chunk 3
10 failures, 14532 tests:
http://mochi.test:8888/tests/content/html/content/test/test_bug500885.html http://mochi.test:8888/tests/content/html/content/test/test_bug535043.html http://mochi.test:8888/tests/content/html/content/test/test_bug556013.html http://mochi.test:8888/tests/content/html/content/test/test_bug557087-4.html http://mochi.test:8888/tests/content/html/content/test/test_bug561636.html http://mochi.test:8888/tests/content/html/content/test/test_bug564001.html http://mochi.test:8888/tests/content/html/content/test/test_bug589696.html http://mochi.test:8888/tests/content/html/content/test/test_bug592802.html
Chunk 4
failed 1, 19300 tests
http://mochi.test:8888/tests/content/media/test/test_play_twice.html
Chunk 5
pass, with the exception of the tests listed above (two worker tests).
Chunk 6
fail, 4701 tests. 12 failures, all listed up top.
Chunk 7
pass, 194 tests
Chunk 8
pass, 346 tests
Chunk 9
pass, 159 tests
Chunk 10
pass, 396 tests
Chunk 11
pass, 234 tests
Chunk 12
pass, ~300ish tests
Chunk 13
pass, 458 tests
Chunk 14
pass, 482 tests
Chunk 15
pass, 491 tests
Chunk 16
gets stuck on test_postMessage.html. Used to pass :(
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.
Mochichrome
35 failing tests, in these files:
chrome://mochikit/content/chrome/docshell/test/chrome/test_bug454235.xul chrome://mochikit/content/chrome/js/src/xpconnect/tests/chrome/test_bug500931.xul chrome://mochikit/content/chrome/js/src/xpconnect/tests/chrome/test_evalInSandbox.xul -> add a function that the sandbox can call which forwards to getClassName chrome://mochikit/content/chrome/layout/base/test/chrome/test_printpreview.xul chrome://mochikit/content/chrome/toolkit/content/tests/chrome/test_browser_drop.xul chrome://mochikit/content/chrome/widget/tests/test_input_events_on_deactive_window.xul