Closed
Bug 1142772
Opened 9 years ago
Closed 9 years ago
Interleave the DOM Cache tests run through the mini-framework
Categories
(Core :: DOM: Core & HTML, defect)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla39
Tracking | Status | |
---|---|---|
firefox39 | --- | fixed |
People
(Reporter: ehsan.akhgari, Assigned: ehsan.akhgari)
References
Details
Attachments
(1 file)
21.35 KB,
patch
|
bkelly
:
review+
|
Details | Diff | Splinter Review |
Here are the changes needed to achieve this: * We tag each message posted to the framework with a context argument. context can be one of "Window", "Worker" or "ServiceWorker". In the places where we handle messages, we only handle the ones corresponding to the context that we expect. * We use Promise.all in order to interleave the execution of the tests. This has the nice property of actually getting the tests run simultaneously on multi-core machines. * For ease of debugging test failures, we print the context from which each test message is coming from. * In order for the tests that are run in parallel to not step on each other's toes, we introduce a global `context' variable that the test script can use to create names that do not clash with concurrent test runs. For example, instead of `caches.open("foo")', one must now use: `caches.open("foo" + context)'. * The existing tests are modified based on the above. * When running the tests in parallel, the service worker may end up controlling both frame.html and message_receiver.html. The hunk at the end of worker_wrapper.js is intended to ensure that we will always be communicating with message_receiver.html. * An order argument has been added to runTests which can be set to "sequential" in order to run the tests in different contexts in parallel. If the argument is omitted, the default is "parallel".
Assignee | ||
Comment 1•9 years ago
|
||
Attachment #8576958 -
Flags: review?(bkelly)
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → ehsan
Blocks: cachetests
Comment 2•9 years ago
|
||
Comment on attachment 8576958 [details] [diff] [review] Interleave the DOM Cache tests run through the mini-framework Review of attachment 8576958 [details] [diff] [review]: ----------------------------------------------------------------- LGTM. Thanks! ::: dom/cache/test/mochitest/driver.js @@ +10,5 @@ > // The function returns a promise which will get resolved once all tests > // finish. The caller of this function is responsible to call SimpleTest.finish > // when the returned promise is resolved. > > +function runTests(testFile, order) { Update the comment above to document the order param? ::: dom/cache/test/mochitest/test_cache.js @@ +1,2 @@ > var c = null > +var request = "http://example.com/hmm?q=foobar" + context; Add ok(context) here and in other files to verify its defined?
Attachment #8576958 -
Flags: review?(bkelly) → review+
Comment 3•9 years ago
|
||
Comment on attachment 8576958 [details] [diff] [review] Interleave the DOM Cache tests run through the mini-framework Review of attachment 8576958 [details] [diff] [review]: ----------------------------------------------------------------- Do we want to turn this on for both sequential and parallel in test_cache.html, etc?
Assignee | ||
Comment 4•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/c9517c8bce9a
Comment 5•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c9517c8bce9a
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox39:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
Updated•5 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•