diff options
Diffstat (limited to 'python/servo/testing_commands.py')
-rw-r--r-- | python/servo/testing_commands.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index 6c3e3f50ef5..4fd3bba2fd0 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -337,6 +337,24 @@ class MachCommands(CommandBase): parser=create_parser_wpt) def test_wpt(self, **kwargs): self.ensure_bootstrapped() + test_list = kwargs["test_list"] + if not test_list: + return self._test_wpt(**kwargs) + else: + # Paths specified on command line. Ensure they are WPT, re-dispatch otherwise. + all_wpt = True + for test_path in test_list: + suite = self.suite_for_path(test_path) + if "wpt" != suite: + all_wpt = False + print("Warning: %s is not a WPT test. Delegating to test-%s." % (test_path, suite)) + if all_wpt: + return self._test_wpt(**kwargs) + else: + # Dispatch each test to the correct suite + Registrar.dispatch("test", context=self.context, params=test_list) + + def _test_wpt(self, **kwargs): hosts_file_path = path.join(self.context.topdir, 'tests', 'wpt', 'hosts') os.environ["hosts_file_path"] = hosts_file_path run_file = path.abspath(path.join(self.context.topdir, "tests", "wpt", "run_wpt.py")) |