aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/testing_commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/servo/testing_commands.py')
-rw-r--r--python/servo/testing_commands.py19
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