diff options
Diffstat (limited to 'python/servo/testing_commands.py')
-rw-r--r-- | python/servo/testing_commands.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index 2db41a2df9c..2384f7c6c1d 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -96,11 +96,11 @@ class MachCommands(CommandBase): @Command('test-unit', description='Run unit tests', category='testing') - @CommandArgument('test_name', default=None, nargs="...", + @CommandArgument('--component', '-c', default=None, + help="Specific component to test") + @CommandArgument('test_name', nargs=argparse.REMAINDER, help="Only run tests that match this pattern") - def test_unit(self, test_name=None): - if test_name is None: - test_name = [] + def test_unit(self, test_name=None, component=None): self.ensure_bootstrapped() self.ensure_built_tests() @@ -108,12 +108,15 @@ class MachCommands(CommandBase): def cargo_test(component): return 0 != subprocess.call( - ["gdb", "--args", "cargo", "test", "-p", component] + ["cargo", "test", "-p", component] + test_name, env=self.build_env(), cwd=self.servo_crate()) - for component in os.listdir("components"): - if component != "servo": - ret = ret or cargo_test(component) + if component is not None: + ret = ret or cargo_test(component) + else: + for c in os.listdir("components"): + if c != "servo": + ret = ret or cargo_test(c) return ret |