You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB

# Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT
"""Test runner for ZMK."""
import os
import subprocess
from west.commands import WestCommand
from west import log # use this for user output
class Test(WestCommand):
def __init__(self):
super().__init__(
name="test",
help="run ZMK testsuite",
description="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
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")
completed_process = subprocess.run(
[f"{self.topdir}/app/run-test.sh", args.test_path]
)
exit(completed_process.returncode)