Commit Graph

6644 Commits

Author SHA1 Message Date
Wes Kocher
108e153990 Backed out 15 changesets (bug 1107706) for marionette bustage CLOSED TREE
Backed out changeset 3c25064e24da (bug 1107706)
Backed out changeset 3b7cdf06f4b9 (bug 1107706)
Backed out changeset ec2b1317d3c6 (bug 1107706)
Backed out changeset 91b35cb3308b (bug 1107706)
Backed out changeset 43c58b21251f (bug 1107706)
Backed out changeset e3ddaf8aae39 (bug 1107706)
Backed out changeset 0cd696bfc3b0 (bug 1107706)
Backed out changeset eeb3d39874b1 (bug 1107706)
Backed out changeset 7bc309f733fa (bug 1107706)
Backed out changeset 69669d0e6ddc (bug 1107706)
Backed out changeset 7f506cdb77b8 (bug 1107706)
Backed out changeset 7abef4010b30 (bug 1107706)
Backed out changeset b0d00faceef4 (bug 1107706)
Backed out changeset 0c074cdc434e (bug 1107706)
Backed out changeset 3b449f8dd470 (bug 1107706)
2015-03-23 18:48:07 -07:00
Wes Kocher
e748054f7f Backed out changeset 3f4f37b1b910 (bug 1143565) for web platform test failures due to pypi download errors CLOSED TREE 2015-03-23 18:36:15 -07:00
Wes Kocher
258247b47c Backed out changeset 8673899b8229 (bug 1143565) 2015-03-23 18:35:46 -07:00
Andreas Tolfsen
5b451903dc Bug 1107706: Part 15: Fix emulator callbacks for content process 2015-03-23 15:40:51 +00:00
Andreas Tolfsen
013d39a671 Bug 1107706: Part 14: Fix quitApplication 2015-03-20 20:44:17 +00:00
Andreas Tolfsen
0d093569bf Bug 1107706: Part 13: Style fixes
Linting; no functional changes.
2015-03-23 20:43:18 +00:00
Andreas Tolfsen
a01e6bf3da Bug 1107706: Part 12: Drop marionette-* prefix on files 2015-03-23 21:32:03 +00:00
Andreas Tolfsen
d5baf60535 Bug 1107706: Part 11: Global modal dialogue support 2015-03-20 15:46:46 +00:00
Andreas Tolfsen
05887e4d25 Bug 1107706: Part 10: Disable test_anonymous_content.py on B2G
It uses chrome context to test XUL related functionality that is not
necessary nor desirable to run on B2G.
2015-03-11 17:10:18 +00:00
Andreas Tolfsen
31622f3939 Bug 1107706: Part 9: Disable XUL component tests on B2G 2015-03-12 18:12:05 +00:00
Andreas Tolfsen
8f2340370b Bug 1107706: Part 8: Adapt emulator callbacks
Emulator callbacks are now created dynamically upon request, and uses
a nicer data structure in chrome context.  Each emulator callback is
encapsulated in EmulatorCallback, and stored on Emulator.

Emulator is stored on Dispatcher (as opposed to in marionette-server.js)
which bypasses some of the problems with circumventing the Marionette
protocol in GeckoDriver because of CommandProcessor.

Emulator callbacks to the client should be considered transparent, hence
they do not use the ListenerProxy.  They are explicitly meant _not_
to be blocking.
2015-03-17 16:10:58 +00:00
Andreas Tolfsen
13f8a26edc Bug 1107706: Part 7: Add timeout test for async scripts 2015-02-26 17:41:54 +00:00
Andreas Tolfsen
8b1e3107f2 Bug 1107706: Part 6: Make SpecialPowersError a prototypal Error
If special powers is imported using Components.utils.import on B2G which
has some special concepts around global scoping, a TypeError will be
raised unless the custom error is a prototypal Error.

An explanation can be found for a similar issue in bug 843892, which
states that toString is attached to the instances rather than the
prototype, and that this causes problems once the object goes through
Object.freeze.  It was patched in bug 1014484.

This patch also renames SpecialPowersException to SpecialPowersError.
2015-02-26 17:40:21 +00:00
Andreas Tolfsen
fe54ac0fd1 Bug 1107706: Part 5: Refactor Marionette chrome/content communication
The Marionette server handles requests separately with a global sense
of state which makes it hard to introduce generalised behaviour to many
commands.  This effectively slows down protocol implementation because
each command request individually needs to do heavy lifting.

This patch introduces a series of abstractions that separates out the
WebDriver implementation to a new class, GeckoDriver.  It also features
a new interface to mediate messages between the chrome- and content
processes.

This allows the code living in the chrome context to make direct calls
on the listener through a promise-based API:

	let listener = new ListenerProxy(mm, sendCallback);
	let res = yield listener.functionOnListener("arg1", "arg2");

The MarionetteServer class that used to live in marionette-server.js
has now been moved to server.js, while the WebDriver implementation
has moved to driver.js.  By introducing more stringent separation,
MarionetteServer now properly encapsulates the server process allowing
us to unit tests for it in the future.

The patch is a refactor in the truest sense, in the meaning that no
input or output should have changed.
2015-03-19 21:12:58 +00:00
Andreas Tolfsen
f912c129ab Bug 1107706: Part 4: Add dispatching mechanism to encapsulate connection
The dispatcher is analogous to the client socket connection, and handles
receiving packets and closing connections.

It also encompasses some of the functionality needed to establish the
devtools and Marionette connection, that previously used to live in
MarionetteServerConnection in marionette-server.js.

For each connection, recognised commands will be forwarded to the command
processor (command.js) unless a handler is defined in Dispatcher.requests.
2015-03-18 12:27:29 +00:00
Andreas Tolfsen
0d8b40d434 Bug 1107706: Part 3: Add a command processor to Marionette
The command processor receives messages, processes them, and wraps the
execution of the command implementations.  This allows commands to throw
errors without worrying about the side effects.

This patch also introduces a Response object which correspondingly wraps
the replies to the client.  This shifts the responsibility of managing
the correctness of the packets from the commands to this.
2015-03-17 14:49:27 +00:00
Andreas Tolfsen
f6d781f7d9 Bug 1107706: Part 2: Add error module and WebDriver error objects
Adds the ability to throw error objects for WebDriver statuses, and an
error module with convenience functions for manipulation of these and
for handling other error related operations.
2015-03-17 14:27:20 +00:00
Andreas Tolfsen
4b8c7a459f Bug 1107706: Part 1: Change context from strings to enum 2015-02-25 21:11:51 +00:00
David Burns
df4ce39f26 Bug 1143565: Bump marionette client to v 0.9.1; r=chmanchester 2015-03-23 23:34:02 +00:00
David Burns
d406ddf06f Bug 1143565: Bump marionette driver to v 0.3; r=chmanchester 2015-03-23 23:33:30 +00:00
Wes Kocher
0d9c0798af Merge m-c to inbound a=merge CLOSED TREE 2015-03-23 16:51:22 -07:00
Wes Kocher
dc5b8282c8 Merge b2g-inbound to m-c a=merge CLOSED TREE 2015-03-23 16:47:58 -07:00
Ryan VanderMeulen
61b713145b Backed out changesets 772945b1130d, cb83b6efa9ea, and 5f23080673ee (bug 1086999) for Gaia context_menu_test.js failures.
CLOSED TREE
2015-03-23 14:22:23 -04:00
Ryan VanderMeulen
92f78f95c8 Backed out changesets 72c48d6ddc0b, 85c4ceb3c650, 78a27ab48c54, and 414fe682de4b (bug 1141519) for intermittent test_set_window_size.py failures.
CLOSED TREE
2015-03-23 13:59:28 -04:00
jlal@mozilla.com
214f5ab8d5 Bug 1146218 - Harden taskcluster platform parser r=wcosta 2015-03-22 20:02:20 -07:00
Phil Ringnalda
b39967c514 Merge m-c to m-i 2015-03-21 12:50:09 -07:00
Phil Ringnalda
ef13837525 Merge b-i to m-c, a=merge 2015-03-21 12:35:46 -07:00
jlal@mozilla.com
49bbf0fe86 Bug 1145682 - Remove commit descriptions from decision tasks r=me a=taskcluster-only 2015-03-20 11:41:10 -07:00
Wes Kocher
2f84a8e07a Merge m-c to b2ginbound a=merge CLOSED TREE 2015-03-20 18:02:20 -07:00
Paolo Amadini
f123d4880a Bug 1144869 - Add BrowserTestUtils.withNewTab. r=smacleod 2015-03-20 10:26:01 -07:00
Paolo Amadini
54ed0d8791 Bug 1143937 - Make BrowserTestUtils.waitForEvent not use flaky timeouts and cover more use cases. r=smacleod 2015-03-20 10:26:01 -07:00
Wes Kocher
a694cc39ce Merge m-c to inbound a=merge CLOSED TREE 2015-03-20 18:01:17 -07:00
Geoff Brown
599e05ec79 Bug 1145364 - Use more portable ps command line for orphan cleanup; r=kmoir 2015-03-20 13:50:14 -06:00
Chris Manchester
529fe9f6bd Bug 1145444 - r=jmaher 2015-03-20 12:30:37 -07:00
Bill McCloskey
5389443ac0 Bug 1121676 - Use a lock to protect the list of top-level actors (r=bent) 2015-03-20 12:02:41 -07:00
gaye
3e52a97c82 Bug 1145310 - Add GAIA_BUILD_URL to test environment vars r=lightsofapollo 2015-03-20 12:13:53 -04:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Jeff Gilbert
f1950f4854 Bug 1143218 - Use mochitest subsuites to specify webgl tests. r=jmaher,gbrown 2015-03-18 17:19:22 -07:00
Christoph Kerschbaumer
e9aea30813 Bug 1086999 - CSP: Asterisk (*) wildcard should not allow blob:, data:, or filesystem: when matching source expressions - web platform test update (r=sstamm,jgraham) 2015-03-11 17:16:13 -07:00
Wes Kocher
12f6b5613f Merge b2ginbound to m-c a=merge CLOSED TREE 2015-03-19 19:23:58 -07:00
Geoff Brown
6a49ada495 Bug 1144144 - Add tooltool manifest for Android 4.3 AVD; r=kmoir 2015-03-19 11:01:02 -06:00
Geoff Brown
0b1600116e Bug 1084614 - Clean up orphan servers before starting mochitests or reftests; r=kmoir 2015-03-19 11:01:01 -06:00
jlal@mozilla.com
d1be2d3704 Bug 1144927 - Directly bake in linux64-minidump_stackwak to tester images r=garndt 2015-03-19 02:20:16 -07:00
Andrew Halberstadt
ef0e795bcb Bug 1144194 - Only parse test manifests once in mochitest, r=jmaher 2015-03-17 16:18:34 -04:00
Bill McCloskey
e7aee957c0 Bug 1126089 - Allow messages to be sent after frame script unload event (r=smaug) 2015-03-19 06:43:46 -07:00
Phil Ringnalda
bc03d24e02 Backed out 3 changesets (bug 1126089) for ASan e10s bc1 failures and green-crashes
CLOSED TREE

Backed out changeset 9af9111e9c27 (bug 1126089)
Backed out changeset 288efd5e2ca0 (bug 1126089)
Backed out changeset 3bcebfd13538 (bug 1126089)
2015-03-18 21:51:34 -07:00
Wes Kocher
d3a01938c3 Merge b2g-inbound to m-c a=merge CLOSED TREE 2015-03-18 15:53:00 -07:00
Wes Kocher
fff04f9311 Merge inbound to m-c a=merge 2015-03-18 15:00:56 -07:00
Jordan Lund
50e6d3ce21 Bug 1113460 - mozharness.json bump, r=ryanvm a=testing 2015-03-18 12:09:31 -07:00
Jean-Yves Avenard
d0fb4579e4 Bug 1143650: Part3. Disable test on mac. CLOSED TREE r=bustage
media webref tests weren't run on mac previously.
2015-03-18 17:45:41 +11:00