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.
41 lines
1.1 KiB
41 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)
|
|
|