mirror of
https://github.com/servo/servo.git
synced 2025-06-22 16:18:59 +01:00
Add support for running W3C CSS tests.
These are run through the same harness as the web-platform-tests.
This commit is contained in:
parent
2bde318d24
commit
b2a5225831
5 changed files with 110 additions and 1 deletions
|
@ -93,7 +93,7 @@ class MachCommands(CommandBase):
|
||||||
return self.infer_test_by_dir(params)
|
return self.infer_test_by_dir(params)
|
||||||
|
|
||||||
test_start = time()
|
test_start = time()
|
||||||
for t in ["tidy", "ref", "content", "wpt", "unit"]:
|
for t in ["tidy", "ref", "content", "wpt", "css", "unit"]:
|
||||||
Registrar.dispatch("test-%s" % t, context=self.context)
|
Registrar.dispatch("test-%s" % t, context=self.context)
|
||||||
elapsed = time() - test_start
|
elapsed = time() - test_start
|
||||||
|
|
||||||
|
@ -245,6 +245,33 @@ class MachCommands(CommandBase):
|
||||||
execfile(run_file, run_globals)
|
execfile(run_file, run_globals)
|
||||||
return run_globals["update_tests"](**kwargs)
|
return run_globals["update_tests"](**kwargs)
|
||||||
|
|
||||||
|
@Command('test-css',
|
||||||
|
description='Run the web platform tests',
|
||||||
|
category='testing',
|
||||||
|
parser=wptcommandline.create_parser())
|
||||||
|
@CommandArgument('--release', default=False, action="store_true",
|
||||||
|
help="Run with a release build of servo")
|
||||||
|
def test_css(self, **kwargs):
|
||||||
|
self.ensure_bootstrapped()
|
||||||
|
self.ensure_wpt_virtualenv()
|
||||||
|
|
||||||
|
run_file = path.abspath(path.join("tests", "wpt", "run_css.py"))
|
||||||
|
run_globals = {"__file__": run_file}
|
||||||
|
execfile(run_file, run_globals)
|
||||||
|
return run_globals["run_tests"](**kwargs)
|
||||||
|
|
||||||
|
@Command('update-css',
|
||||||
|
description='Update the web platform tests',
|
||||||
|
category='testing',
|
||||||
|
parser=updatecommandline.create_parser())
|
||||||
|
def update_css(self, **kwargs):
|
||||||
|
self.ensure_bootstrapped()
|
||||||
|
self.ensure_wpt_virtualenv()
|
||||||
|
run_file = path.abspath(path.join("tests", "wpt", "update_css.py"))
|
||||||
|
run_globals = {"__file__": run_file}
|
||||||
|
execfile(run_file, run_globals)
|
||||||
|
return run_globals["update_tests"](**kwargs)
|
||||||
|
|
||||||
|
|
||||||
def ensure_wpt_virtualenv(self):
|
def ensure_wpt_virtualenv(self):
|
||||||
virtualenv_path = path.join("tests", "wpt", "_virtualenv")
|
virtualenv_path = path.join("tests", "wpt", "_virtualenv")
|
||||||
|
|
16
tests/wpt/config_css.ini
Normal file
16
tests/wpt/config_css.ini
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
[products]
|
||||||
|
servo =
|
||||||
|
|
||||||
|
[web-platform-tests]
|
||||||
|
name = CSS tests
|
||||||
|
remote_url = https://github.com/jgraham/css-test-built
|
||||||
|
branch = master
|
||||||
|
sync_path = sync_css
|
||||||
|
|
||||||
|
[paths]
|
||||||
|
run-info = .
|
||||||
|
|
||||||
|
[manifest:upstream]
|
||||||
|
tests = css-tests
|
||||||
|
metadata = metadata-css
|
||||||
|
url-base = /
|
7
tests/wpt/include_css.ini
Normal file
7
tests/wpt/include_css.ini
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
skip: true
|
||||||
|
[css21_dev]
|
||||||
|
skip: false
|
||||||
|
[xhtml1]
|
||||||
|
skip: true
|
||||||
|
[xhtml1print]
|
||||||
|
skip: true
|
19
tests/wpt/run_css.py
Normal file
19
tests/wpt/run_css.py
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# 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/.
|
||||||
|
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import run
|
||||||
|
|
||||||
|
paths = {"include_manifest": run.wpt_path("include_css.ini"),
|
||||||
|
"config": run.wpt_path("config_css.ini")}
|
||||||
|
|
||||||
|
def run_tests(**kwargs):
|
||||||
|
return run.run_tests(paths=paths, **kwargs)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
return run.main(paths)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(0 if main() else 1)
|
40
tests/wpt/update_css.py
Normal file
40
tests/wpt/update_css.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# 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/.
|
||||||
|
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
here = os.path.split(__file__)[0]
|
||||||
|
|
||||||
|
def wpt_path(*args):
|
||||||
|
return os.path.join(here, *args)
|
||||||
|
|
||||||
|
# Imports
|
||||||
|
sys.path.append(wpt_path("harness"))
|
||||||
|
from wptrunner import wptcommandline
|
||||||
|
|
||||||
|
def update_tests(**kwargs):
|
||||||
|
from wptrunner import update
|
||||||
|
|
||||||
|
set_defaults(kwargs)
|
||||||
|
logger = update.setup_logging(kwargs, {"mach": sys.stdout})
|
||||||
|
|
||||||
|
rv = update.run_update(logger, **kwargs)
|
||||||
|
return 0 if rv is update.update.exit_clean else 1
|
||||||
|
|
||||||
|
def set_defaults(kwargs):
|
||||||
|
if kwargs["config"] is None:
|
||||||
|
kwargs["config"] = wpt_path('config_css.ini')
|
||||||
|
wptcommandline.set_from_config(kwargs)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = wptcommandline.create_parser_update()
|
||||||
|
kwargs = vars(parser.parse_args())
|
||||||
|
return update_tests(**kwargs)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(0 if main() else 1)
|
Loading…
Add table
Add a link
Reference in a new issue