aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/servo/testing_commands.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py
index 9581142e941..0bedbdfe30e 100644
--- a/python/servo/testing_commands.py
+++ b/python/servo/testing_commands.py
@@ -36,7 +36,9 @@ class MachCommands(CommandBase):
for filename in target_contents:
if filename.startswith(prefix + "-"):
filepath = path.join(
- self.context.topdir, "components", "servo", "target", filename)
+ self.context.topdir, "components", "servo",
+ "target", filename)
+
if path.isfile(filepath) and os.access(filepath, os.X_OK):
return filepath
@@ -94,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, component=None):
self.ensure_bootstrapped()
self.ensure_built_tests()
@@ -106,12 +108,15 @@ class MachCommands(CommandBase):
def cargo_test(component):
return 0 != subprocess.call(
- ["cargo", "test", "-p", component] + test_name,
- env=self.build_env(), cwd=self.servo_crate())
+ ["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