gecko-dev/testing/web-platform/mach_commands_base.py
Maja Frydrychowicz 85c346289b Bug 1323620 - Add "fennec" product to wptrunner. r=jgraham
This allows running web-platform-tests on Fennec given a running emulator.
(Which is how we expect the tests to run in automation as well -- the
android_emulator_unittest mozharness script takes care of emulator
start-up.) It also hooks up ./mach wpt.

wptrunner sets up a profile for Fennec, forwards the marionette port
and starts up Fennec, etc.

= Usage =

Set your mozconfig to build fennec.

Start an emulator: `./mach android-emulator --version x86`
Install fennec: `./mach build && ./mach package && ./mach install`
Run the tests:

```
./mach wpt --product=fennec --testtype=testharness
--certutil-binary path/to/host/os/certutil path/to/some/tests
```

Differential Revision: https://phabricator.services.mozilla.com/D1587
2018-06-15 16:30:58 +00:00

33 lines
1.2 KiB
Python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import sys
def create_parser_wpt():
from wptrunner import wptcommandline
return wptcommandline.create_parser(["fennec", "firefox", "chrome", "edge", "servo"])
class WebPlatformTestsRunner(object):
"""Run web platform tests."""
def __init__(self, setup):
self.setup = setup
def run(self, **kwargs):
from wptrunner import wptrunner
if kwargs["product"] in ["firefox", None]:
kwargs = self.setup.kwargs_firefox(kwargs)
elif kwargs["product"] == "fennec":
from wptrunner import wptcommandline
kwargs = wptcommandline.check_args(self.setup.kwargs_common(kwargs))
elif kwargs["product"] in ("chrome", "edge", "servo"):
kwargs = self.setup.kwargs_wptrun(kwargs)
else:
raise ValueError("Unknown product %s" % kwargs["product"])
logger = wptrunner.setup_logging(kwargs, {self.setup.default_log_type: sys.stdout})
result = wptrunner.start(**kwargs)
return int(not result)