From 933b42ef46bd7ba0b6e56308638dd5073f0226dc Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Wed, 21 Jun 2017 13:46:28 -0400 Subject: [PATCH] Allow running wpt directories by path on the command line. --- tests/wpt/web-platform-tests/tools/manifest/manifest.py | 9 +++++++++ .../tools/wptrunner/wptrunner/manifestinclude.py | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/wpt/web-platform-tests/tools/manifest/manifest.py b/tests/wpt/web-platform-tests/tools/manifest/manifest.py index b510006b757..8bbabc38a44 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/manifest.py +++ b/tests/wpt/web-platform-tests/tools/manifest/manifest.py @@ -51,6 +51,15 @@ class Manifest(object): for test in type_tests.get(path, set()): yield test + def iterdir(self, dir_name): + if not dir_name.endswith(os.path.sep): + dir_name = dir_name + os.path.sep + for type_tests in self._data.values(): + for path, tests in type_tests.iteritems(): + if path.startswith(dir_name): + for test in tests: + yield test + @property def reftest_nodes_by_url(self): if self._reftest_nodes_by_url is None: diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py index f7229d504f1..18d034e34ae 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py @@ -93,7 +93,8 @@ class IncludeManifest(ManifestItem): for manifest, data in test_manifests.iteritems(): found = False rel_path = os.path.relpath(path, data["tests_path"]) - for test in manifest.iterpath(rel_path): + iterator = manifest.iterpath if os.path.isfile(path) else manifest.iterdir + for test in iterator(rel_path): if not hasattr(test, "url"): continue url = test.url