summaryrefslogtreecommitdiff
path: root/app/scripts/west_commands
diff options
context:
space:
mode:
Diffstat (limited to 'app/scripts/west_commands')
-rw-r--r--app/scripts/west_commands/test.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/app/scripts/west_commands/test.py b/app/scripts/west_commands/test.py
new file mode 100644
index 0000000..26f95f7
--- /dev/null
+++ b/app/scripts/west_commands/test.py
@@ -0,0 +1,33 @@
+# Copyright (c) 2020 The ZMK Contributors
+#
+# SPDX-License-Identifier: MIT
+'''Test runner for ZMK.'''
+
+import os
+from textwrap import dedent # just for nicer code indentation
+
+from west.commands import WestCommand
+from west import log # use this for user output
+
+
+class Test(WestCommand):
+ def __init__(self):
+ super().__init__(
+ 'test', # gets stored as self.name
+ 'run zmk testsuite', # self.help
+ # self.description:
+ dedent('''Run the zmk testsuite.'''))
+
+ def do_add_parser(self, parser_adder):
+ parser = parser_adder.add_parser(self.name,
+ help=self.help,
+ description=self.description)
+
+ parser.add_argument('test_path', default="all",
+ help='The path to the test. Defaults to "all".', nargs="?")
+ return parser # gets stored as self.parser
+
+ def do_run(self, args, unknown_args):
+ # the run-test script assumes the app directory is the current dir.
+ os.chdir(f'{self.topdir}/app')
+ exit(os.system(f'{self.topdir}/app/run-test.sh {args.test_path}'))