keyboard/zmk/app/scripts/west_commands/test.py
2020-11-21 19:34:43 -05:00

34 lines
1.2 KiB
Python

# 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}'))