gecko-dev/testing
Andreas Tolfsen c276b917c4 Bug 1326534 - Rewrite capabilities parsing in Marionette; r=automatedtester
This patch provides a (nearly) WebDriver conforming implementation
of capabilities in Marionette.  The work remaining is pending further
clarification in the specification.

Capabilities are represented internally as a complex object provided
by `session.Capabilities`.  Timeouts and proxy configuration are also
represented by the similar complex objects `session.Timeouts` and
`session.Proxy`, respectively.

The capabilities stored in `GeckoDriver#sessionCapabilities` are the
result of parsing user-provided desired- and required capabilities.
WebDriver now uses `firstMatch` and `alwaysMatch` primitives for
capabilities, but as this is considered a wider breaking change, the
move to these primitives will be done at a later stage.  It’s prudent
to point out that the base techniques used with the new primitives
are similar to those implemented for `desiredCapabilities` and
`requiredCapabilities` in this patch, and that the work needed to adapt
them is considered trivial.

When capabilities are presented back to the user (the so called processed
capabilities), we call the `toJSON` implementation on the complex objects.
`session.Capabilities#toJSON` calls the internal function `marshal`
which ensures empty fields are dropped.  `marshal` can be considered to
be a specialisation of the standard library `JSON.stringify`, which also
calls `toJSON` on entry values if they provide this function.

The changeset overall also provides a much deeper level of testing of
WebDriver capabilities.

MozReview-Commit-ID: 97xGt3cnMys

--HG--
extra : rebase_source : 98e0bde3fdfd811775d195b488cb1255f61e5772
2016-12-31 12:21:34 +00:00
..
config Bug 1320073 - Rename marionette-client to marionette-harness and release version 4.0.0. r=gps,maja_zf,mtseng,SingingTree 2016-12-12 13:05:34 +01:00
crashtest Bug 1286657 - Add manifest for autophone webrtc crashtest job; r=bc 2016-08-03 12:20:48 -04:00
firefox-ui Backed out changeset 2bd53e4e662b (bug 1303113) for various test failures in debug tests with e10s. r=backout 2017-01-03 20:53:59 +01:00
gtest Bug 1320752 - remove mozilla/Function.h; r=gerald 2016-11-28 11:03:53 -05:00
instrumentation Bug 1326465 - add BUG_COMPONENTS to testing/. r=gbrown,ted 2016-12-30 16:16:56 -05:00
marionette Bug 1326534 - Rewrite capabilities parsing in Marionette; r=automatedtester 2016-12-31 12:21:34 +00:00
mochitest Bug 1325141: Fix leak in Z-constrained windows on OS-X. r=enn,jmaher 2016-12-30 16:16:08 -08:00
modules Bug 1326465 - add BUG_COMPONENTS to testing/. r=gbrown,ted 2016-12-30 16:16:56 -05:00
mozbase Bug 1328823 - Bump mozprocess version number to 0.24 for release, r=ahal 2017-01-06 15:39:55 +00:00
mozharness Bug 1324911: Enable BBB talos jobs in all relevant branches. r=jmaher 2016-12-30 14:46:01 -02:00
profiles Bug 1326465 - add BUG_COMPONENTS to testing/. r=gbrown,ted 2016-12-30 16:16:56 -05:00
runtimes Bug 1326465 - add BUG_COMPONENTS to testing/. r=gbrown,ted 2016-12-30 16:16:56 -05:00
specialpowers Bug 1325158: Part 4 - Fix cases where extension startup listener is not removed. r=aswan 2016-12-24 18:48:56 -08:00
talos Bug 1317312 - Tabpaint test should not measure content process startup. r=mconley 2017-01-03 14:00:25 +01:00
tools Bug 1312739 - Fix marionette SEARCH_PATHS in mach_test_package_bootstrap.py, r=jmaher 2016-12-20 14:08:21 -05:00
tps Bug 1313573 - Validate the sync ping during TPS test runs r=markh 2016-11-02 14:25:07 -04:00
web-platform Backed out changeset 38f4f50cd295 (bug 1324862) for linux web platform failures 2017-01-05 12:21:28 -05:00
xpcshell Bug 1328338 - Fix more no-undef eslint issues in toolkit/ and browser/. r=mossop 2017-01-03 11:55:24 +00:00
cppunittest.ini Bug 1322707 - Stop building signaling_unittest and mediapipeline_unittests; r=jesup,glandium 2016-12-09 09:09:41 -10:00
mach_commands.py Backed out changeset 6c32452df00e (bug 1238305) for cpp test failures a=backout 2016-11-02 12:18:58 -07:00
README.txt
remotecppunittests.py Bug 1307886 - [3.2] Extract xz-compressed libs for xpcshell and unit tests. r=glandium 2016-10-28 12:59:23 +02:00
runcppunittests.py Backed out changeset 6c32452df00e (bug 1238305) for cpp test failures a=backout 2016-11-02 12:18:58 -07:00
testsuite-targets.mk Bug 1325197 - Add logging around mach python-test; r=gps 2016-12-21 11:12:55 -05:00

Common testing tools for mozilla codebase projects, test suite definitions
for automated test runs, tests that don't fit anywhere else, and other fun
stuff