Commit Graph

6899 Commits

Author SHA1 Message Date
Andreas Tolfsen
a9889b9f31 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.

--HG--
extra : rebase_source : 9e66199b7977528345680eb8170a082156286b8b
extra : source : b0d00faceef4e348cc99c020f01d59c7933677b7
2015-03-17 14:49:27 +00:00
Andreas Tolfsen
1c95ea3e71 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.

--HG--
extra : rebase_source : 9b03a17a9568c98c79461effa39da5d42aaf4d26
extra : source : 0c074cdc434e3c8ba412db44aece7b1840198fe5
2015-03-17 14:27:20 +00:00
Andreas Tolfsen
f8edb38333 Bug 1107706: Part 1: Change context from strings to enum
--HG--
extra : rebase_source : 3d83084b53778dbf272c3403977475afdb8fd605
extra : source : 3b449f8dd470a2cc866c302f527e20bedaadb786
2015-02-25 21:11:51 +00:00
Chris Cooper
e8c5b4048b Bug 1146855 - Add cygwin dlls to manifest for minidump_stackwalk - r-ted 2015-03-24 11:46:30 -04:00
Mike Shal
dbdfa2d1f6 Bug 1117960 - bump mozharness.json to rev 93f17b170f43; r=jlund 2015-03-23 09:42:38 -04:00
Giovanny Andres Gongora Granada
241d879037 Bug 1118313 - newSession looks for non-conforming session_id property on Command. r=dburns 2015-03-23 19:56:00 -04:00
Wes Kocher
954df9f7bc 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)

--HG--
rename : testing/marionette/actions.js => testing/marionette/marionette-actions.js
rename : testing/marionette/common.js => testing/marionette/marionette-common.js
rename : testing/marionette/elements.js => testing/marionette/marionette-elements.js
rename : testing/marionette/frame-manager.js => testing/marionette/marionette-frame-manager.js
rename : testing/marionette/listener.js => testing/marionette/marionette-listener.js
rename : testing/marionette/sendkeys.js => testing/marionette/marionette-sendkeys.js
rename : testing/marionette/simpletest.js => testing/marionette/marionette-simpletest.js
2015-03-23 18:48:07 -07:00
Wes Kocher
e31cda410a 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
aca3b4d7bf Backed out changeset 8673899b8229 (bug 1143565) 2015-03-23 18:35:46 -07:00
Andreas Tolfsen
1d8f5a8b04 Bug 1107706: Part 15: Fix emulator callbacks for content process
--HG--
extra : rebase_source : c688926fa68751405406483fd420180e87415798
2015-03-23 15:40:51 +00:00
Andreas Tolfsen
208b570e6c Bug 1107706: Part 14: Fix quitApplication
--HG--
extra : rebase_source : a2fb0d0d8e64cfa6e3801f454858cdfa45d05b2d
2015-03-20 20:44:17 +00:00
Andreas Tolfsen
4cd49ffb2d Bug 1107706: Part 13: Style fixes
Linting; no functional changes.

--HG--
extra : rebase_source : d354ee2aaa5d16774e23b75946c3cfecb9d22624
2015-03-23 20:43:18 +00:00
Andreas Tolfsen
82d54fa5b0 Bug 1107706: Part 12: Drop marionette-* prefix on files
--HG--
rename : testing/marionette/marionette-actions.js => testing/marionette/actions.js
rename : testing/marionette/marionette-common.js => testing/marionette/common.js
rename : testing/marionette/marionette-elements.js => testing/marionette/elements.js
rename : testing/marionette/marionette-frame-manager.js => testing/marionette/frame-manager.js
rename : testing/marionette/marionette-listener.js => testing/marionette/listener.js
rename : testing/marionette/marionette-sendkeys.js => testing/marionette/sendkeys.js
rename : testing/marionette/marionette-simpletest.js => testing/marionette/simpletest.js
extra : rebase_source : 4508c93a8928f3b183076cfbf49690faafd4b880
2015-03-23 21:32:03 +00:00
Andreas Tolfsen
53b157db9e Bug 1107706: Part 11: Global modal dialogue support
--HG--
extra : rebase_source : 7936cd07ae30df9d2cb5baeb00841ad7cabec3a3
2015-03-20 15:46:46 +00:00
Andreas Tolfsen
12f8f08874 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.

--HG--
extra : rebase_source : 64b32ff15ff2fce0ba0356b49736a404ec8e5c5d
2015-03-11 17:10:18 +00:00
Andreas Tolfsen
b708bc2f6b Bug 1107706: Part 9: Disable XUL component tests on B2G
--HG--
extra : rebase_source : 54cefaebaa7abdc7b5e6ab8f2cd47aa17fd6f240
2015-03-12 18:12:05 +00:00
Andreas Tolfsen
dc845b7773 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.

--HG--
extra : rebase_source : cc936f6556b666ac68f7cc5040c1772b74a0dd66
2015-03-17 16:10:58 +00:00
Andreas Tolfsen
96d49c1612 Bug 1107706: Part 7: Add timeout test for async scripts
--HG--
extra : rebase_source : 3bf4ee380e5d217d38d56af69fdbea79b53bc31f
2015-02-26 17:41:54 +00:00
Andreas Tolfsen
6eebac1403 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.

--HG--
extra : rebase_source : 042e32ad8fc50d7b81598f6f77ca4e6d86ef516d
2015-02-26 17:40:21 +00:00
Andreas Tolfsen
ebdf7bb882 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.

--HG--
extra : rebase_source : 2513f6e88b79b2420757e66890d5ca49d5266318
2015-03-19 21:12:58 +00:00
Andreas Tolfsen
4e6729590a 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.

--HG--
extra : rebase_source : 2cf2e3ab1ab8b1044aff798b461dfee9b08cf7a4
2015-03-18 12:27:29 +00:00
Andreas Tolfsen
a54df09114 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.

--HG--
extra : rebase_source : cfab78a0919b0cc95db9dfdf47b2b5e29a15094b
2015-03-17 14:49:27 +00:00
Andreas Tolfsen
81b0e98226 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.

--HG--
extra : rebase_source : 8095e97f974cdf157cb3100a4249a6ae1a6451dc
2015-03-17 14:27:20 +00:00
Andreas Tolfsen
b7ada23175 Bug 1107706: Part 1: Change context from strings to enum
--HG--
extra : rebase_source : e9e02cd686e353f214ea7c7b026120616fc1e823
2015-02-25 21:11:51 +00:00
David Burns
f3cedd8fd8 Bug 1143565: Bump marionette client to v 0.9.1; r=chmanchester
--HG--
extra : rebase_source : 31f3ed16c624797c42eba1a9a7a291ce9474173f
2015-03-23 23:34:02 +00:00
David Burns
bb6061f40d Bug 1143565: Bump marionette driver to v 0.3; r=chmanchester
--HG--
extra : rebase_source : d54ef25353daf60d03c4456a13a8429b9c187c00
2015-03-23 23:33:30 +00:00
Wes Kocher
8794504c9f Merge m-c to inbound a=merge CLOSED TREE 2015-03-23 16:51:22 -07:00
Wes Kocher
49bb55c007 Merge b2g-inbound to m-c a=merge CLOSED TREE 2015-03-23 16:47:58 -07:00
Ryan VanderMeulen
5a963d1339 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
f827302d4c 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
105ca3f50a Bug 1146218 - Harden taskcluster platform parser r=wcosta
--HG--
extra : rebase_source : b831d95f5b5e745652d58d8bb8fe1b3917e922e5
2015-03-22 20:02:20 -07:00
Phil Ringnalda
fc8b8ab2ac Merge m-c to m-i 2015-03-21 12:50:09 -07:00
Phil Ringnalda
68e0914567 Merge b-i to m-c, a=merge 2015-03-21 12:35:46 -07:00
jlal@mozilla.com
fc44306f92 Bug 1145682 - Remove commit descriptions from decision tasks r=me a=taskcluster-only
--HG--
extra : rebase_source : e77ea955ead9e3a6fd42910702a94c6d18fa43fa
2015-03-20 11:41:10 -07:00
Wes Kocher
cbbab0fd2a Merge m-c to b2ginbound a=merge CLOSED TREE 2015-03-20 18:02:20 -07:00
Paolo Amadini
dbdf7dfec0 Bug 1144869 - Add BrowserTestUtils.withNewTab. r=smacleod 2015-03-20 10:26:01 -07:00
Paolo Amadini
6c66377df5 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
14f75f943c Merge m-c to inbound a=merge CLOSED TREE 2015-03-20 18:01:17 -07:00
Geoff Brown
3336b867e0 Bug 1145364 - Use more portable ps command line for orphan cleanup; r=kmoir 2015-03-20 13:50:14 -06:00
Chris Manchester
055be049c9 Bug 1145444 - r=jmaher 2015-03-20 12:30:37 -07:00
Bill McCloskey
e26a687773 Bug 1121676 - Use a lock to protect the list of top-level actors (r=bent) 2015-03-20 12:02:41 -07:00
gaye
b121af76aa Bug 1145310 - Add GAIA_BUILD_URL to test environment vars r=lightsofapollo
--HG--
extra : rebase_source : 9aafbffc9c745c2e266687ef9b7c068a09b7398c
2015-03-20 12:13:53 -04:00
Ehsan Akhgari
883849ee32 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
5da1c39c61 Bug 1143218 - Use mochitest subsuites to specify webgl tests. r=jmaher,gbrown 2015-03-18 17:19:22 -07:00
Christoph Kerschbaumer
e44b002091 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
e974133aa5 Merge b2ginbound to m-c a=merge CLOSED TREE 2015-03-19 19:23:58 -07:00
Geoff Brown
5d41ab4408 Bug 1144144 - Add tooltool manifest for Android 4.3 AVD; r=kmoir 2015-03-19 11:01:02 -06:00
Geoff Brown
09006b9294 Bug 1084614 - Clean up orphan servers before starting mochitests or reftests; r=kmoir 2015-03-19 11:01:01 -06:00
jlal@mozilla.com
f7c7f52476 Bug 1144927 - Directly bake in linux64-minidump_stackwak to tester images r=garndt
--HG--
extra : rebase_source : 5ecde704293214d654c60e5e80a0a1460d376728
2015-03-19 02:20:16 -07:00
Andrew Halberstadt
2fab7cc39f Bug 1144194 - Only parse test manifests once in mochitest, r=jmaher
--HG--
extra : rebase_source : ab3f5236d002b032744f8821e2cbf060ac2dff18
2015-03-17 16:18:34 -04:00