From 5b7a5b2a7629fbb667d23a55836dce3c6c46a203 Mon Sep 17 00:00:00 2001 From: skullY Date: Wed, 21 Aug 2019 23:40:24 -0700 Subject: Setup a python test framework --- lib/python/qmk/tests/test_qmk_path.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 lib/python/qmk/tests/test_qmk_path.py (limited to 'lib/python/qmk/tests/test_qmk_path.py') diff --git a/lib/python/qmk/tests/test_qmk_path.py b/lib/python/qmk/tests/test_qmk_path.py new file mode 100644 index 0000000000..23816be7ed --- /dev/null +++ b/lib/python/qmk/tests/test_qmk_path.py @@ -0,0 +1,12 @@ +import os + +import qmk.path + +def test_keymap_onekey_pytest(): + path = qmk.path.keymap('handwired/onekey/pytest') + assert path == 'keyboards/handwired/onekey/keymaps' + + +def test_normpath(): + path = qmk.path.normpath('lib/python') + assert path == os.environ['ORIG_CWD'] + '/lib/python' -- cgit v1.2.3 From c7eede2249d22dd4fabed83043dcf4cc7408cf27 Mon Sep 17 00:00:00 2001 From: skullY Date: Wed, 21 Aug 2019 23:46:51 -0700 Subject: run yapf on the code --- lib/python/qmk/tests/attrdict.py | 1 + lib/python/qmk/tests/test_qmk_errors.py | 3 ++- lib/python/qmk/tests/test_qmk_keymap.py | 1 + lib/python/qmk/tests/test_qmk_path.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/python/qmk/tests/test_qmk_path.py') diff --git a/lib/python/qmk/tests/attrdict.py b/lib/python/qmk/tests/attrdict.py index a2584b9233..391c75c4e1 100644 --- a/lib/python/qmk/tests/attrdict.py +++ b/lib/python/qmk/tests/attrdict.py @@ -3,6 +3,7 @@ class AttrDict(dict): This should only be used to mock objects for unit testing. Please do not use this outside of qmk.tests. """ + def __init__(self, *args, **kwargs): super(AttrDict, self).__init__(*args, **kwargs) self.__dict__ = self diff --git a/lib/python/qmk/tests/test_qmk_errors.py b/lib/python/qmk/tests/test_qmk_errors.py index 3f6b567137..1d8690b7ef 100644 --- a/lib/python/qmk/tests/test_qmk_errors.py +++ b/lib/python/qmk/tests/test_qmk_errors.py @@ -1,7 +1,8 @@ from qmk.errors import NoSuchKeyboardError + def test_NoSuchKeyboardError(): try: - raise(NoSuchKeyboardError("test message")) + raise NoSuchKeyboardError("test message") except NoSuchKeyboardError as e: assert e.message == 'test message' diff --git a/lib/python/qmk/tests/test_qmk_keymap.py b/lib/python/qmk/tests/test_qmk_keymap.py index 6a565ee900..2db625600e 100644 --- a/lib/python/qmk/tests/test_qmk_keymap.py +++ b/lib/python/qmk/tests/test_qmk_keymap.py @@ -1,5 +1,6 @@ import qmk.keymap + def test_template_onekey_proton_c(): templ = qmk.keymap.template('handwired/onekey/proton_c') assert templ == qmk.keymap.DEFAULT_KEYMAP_C diff --git a/lib/python/qmk/tests/test_qmk_path.py b/lib/python/qmk/tests/test_qmk_path.py index 23816be7ed..94dbf3a6a6 100644 --- a/lib/python/qmk/tests/test_qmk_path.py +++ b/lib/python/qmk/tests/test_qmk_path.py @@ -2,6 +2,7 @@ import os import qmk.path + def test_keymap_onekey_pytest(): path = qmk.path.keymap('handwired/onekey/pytest') assert path == 'keyboards/handwired/onekey/keymaps' -- cgit v1.2.3 From 79edb7c5942108774e667c172550a1519c5543ac Mon Sep 17 00:00:00 2001 From: skullY Date: Tue, 12 Nov 2019 17:27:08 -0800 Subject: Small CLI cleanups * yapf changes * Fix the cformat test * Make the normpath test work when run from / * `qmk config`: Mark `--read-only` as arg_only --- lib/python/qmk/cli/config.py | 2 +- lib/python/qmk/cli/list/keyboards.py | 1 + lib/python/qmk/errors.py | 1 - lib/python/qmk/tests/attrdict.py | 1 - lib/python/qmk/tests/test_cli_commands.py | 2 +- lib/python/qmk/tests/test_qmk_path.py | 2 +- 6 files changed, 4 insertions(+), 5 deletions(-) (limited to 'lib/python/qmk/tests/test_qmk_path.py') diff --git a/lib/python/qmk/cli/config.py b/lib/python/qmk/cli/config.py index d6c774e651..c4ee20cba5 100644 --- a/lib/python/qmk/cli/config.py +++ b/lib/python/qmk/cli/config.py @@ -12,7 +12,7 @@ def print_config(section, key): cli.echo('%s.%s{fg_cyan}={fg_reset}%s', section, key, cli.config[section][key]) -@cli.argument('-ro', '--read-only', action='store_true', help='Operate in read-only mode.') +@cli.argument('-ro', '--read-only', arg_only=True, action='store_true', help='Operate in read-only mode.') @cli.argument('configs', nargs='*', arg_only=True, help='Configuration options to read or write.') @cli.subcommand("Read and write configuration settings.") def config(cli): diff --git a/lib/python/qmk/cli/list/keyboards.py b/lib/python/qmk/cli/list/keyboards.py index 53a7af75c6..2a29ccb146 100644 --- a/lib/python/qmk/cli/list/keyboards.py +++ b/lib/python/qmk/cli/list/keyboards.py @@ -6,6 +6,7 @@ import glob from milc import cli + @cli.subcommand("List the keyboards currently defined within QMK") def list_keyboards(cli): """List the keyboards currently defined within QMK diff --git a/lib/python/qmk/errors.py b/lib/python/qmk/errors.py index f9bf5b9af9..4a8a91556b 100644 --- a/lib/python/qmk/errors.py +++ b/lib/python/qmk/errors.py @@ -1,6 +1,5 @@ class NoSuchKeyboardError(Exception): """Raised when we can't find a keyboard/keymap directory. """ - def __init__(self, message): self.message = message diff --git a/lib/python/qmk/tests/attrdict.py b/lib/python/qmk/tests/attrdict.py index 391c75c4e1..a2584b9233 100644 --- a/lib/python/qmk/tests/attrdict.py +++ b/lib/python/qmk/tests/attrdict.py @@ -3,7 +3,6 @@ class AttrDict(dict): This should only be used to mock objects for unit testing. Please do not use this outside of qmk.tests. """ - def __init__(self, *args, **kwargs): super(AttrDict, self).__init__(*args, **kwargs) self.__dict__ = self diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 9a9dc4b958..55b8d253f7 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -7,7 +7,7 @@ def check_subcommand(command, *args): def test_cformat(): - assert check_subcommand('cformat', 'tmk_core/common/backlight.c').returncode == 0 + assert check_subcommand('cformat', 'tmk_core/common/keyboard.c').returncode == 0 def test_compile(): diff --git a/lib/python/qmk/tests/test_qmk_path.py b/lib/python/qmk/tests/test_qmk_path.py index 94dbf3a6a6..d6961a0f65 100644 --- a/lib/python/qmk/tests/test_qmk_path.py +++ b/lib/python/qmk/tests/test_qmk_path.py @@ -10,4 +10,4 @@ def test_keymap_onekey_pytest(): def test_normpath(): path = qmk.path.normpath('lib/python') - assert path == os.environ['ORIG_CWD'] + '/lib/python' + assert path == os.path.join(os.environ['ORIG_CWD'], 'lib/python') -- cgit v1.2.3