From f03b10b6c1c9a5b0e07f7f78c6060610246b4a7f Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 5 Jan 2021 00:52:31 +0000 Subject: Migrate python tests away from onekey (#11367) * Migrate python tests away from onekey * Add stub files to stop lint complaints * Make all the pytest keymaps compile --- lib/python/qmk/tests/onekey_export.json | 6 --- lib/python/qmk/tests/pytest_export.json | 6 +++ lib/python/qmk/tests/test_cli_commands.py | 68 +++++++++++++++++-------------- lib/python/qmk/tests/test_qmk_keymap.py | 32 +++++++-------- lib/python/qmk/tests/test_qmk_path.py | 6 +-- 5 files changed, 62 insertions(+), 56 deletions(-) delete mode 100644 lib/python/qmk/tests/onekey_export.json create mode 100644 lib/python/qmk/tests/pytest_export.json (limited to 'lib/python') diff --git a/lib/python/qmk/tests/onekey_export.json b/lib/python/qmk/tests/onekey_export.json deleted file mode 100644 index 95f0a980fe..0000000000 --- a/lib/python/qmk/tests/onekey_export.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "keyboard":"handwired/onekey/pytest", - "keymap":"pytest_unittest", - "layout":"LAYOUT", - "layers":[["KC_A"]] -} diff --git a/lib/python/qmk/tests/pytest_export.json b/lib/python/qmk/tests/pytest_export.json new file mode 100644 index 0000000000..5fb0d624f8 --- /dev/null +++ b/lib/python/qmk/tests/pytest_export.json @@ -0,0 +1,6 @@ +{ + "keyboard":"handwired/pytest/basic", + "keymap":"pytest_unittest", + "layout":"LAYOUT", + "layers":[["KC_A"]] +} diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index efd9f6cf6a..f889833d0b 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -38,17 +38,17 @@ def test_cformat(): def test_compile(): - result = check_subcommand('compile', '-kb', 'handwired/onekey/pytest', '-km', 'default', '-n') + result = check_subcommand('compile', '-kb', 'handwired/pytest/basic', '-km', 'default', '-n') check_returncode(result) def test_compile_json(): - result = check_subcommand('compile', '-kb', 'handwired/onekey/pytest', '-km', 'default_json', '-n') + result = check_subcommand('compile', '-kb', 'handwired/pytest/basic', '-km', 'default_json', '-n') check_returncode(result) def test_flash(): - result = check_subcommand('flash', '-kb', 'handwired/onekey/pytest', '-km', 'default', '-n') + result = check_subcommand('flash', '-kb', 'handwired/pytest/basic', '-km', 'default', '-n') check_returncode(result) @@ -92,20 +92,26 @@ def test_list_keyboards(): result = check_subcommand('list-keyboards') check_returncode(result) # check to see if a known keyboard is returned - # this will fail if handwired/onekey/pytest is removed - assert 'handwired/onekey/pytest' in result.stdout + # this will fail if handwired/pytest/basic is removed + assert 'handwired/pytest/basic' in result.stdout def test_list_keymaps(): - result = check_subcommand('list-keymaps', '-kb', 'handwired/onekey/pytest') + result = check_subcommand('list-keymaps', '-kb', 'handwired/pytest/basic') check_returncode(result) - assert 'default' and 'test' in result.stdout + assert 'default' and 'default_json' in result.stdout def test_list_keymaps_long(): - result = check_subcommand('list-keymaps', '--keyboard', 'handwired/onekey/pytest') + result = check_subcommand('list-keymaps', '--keyboard', 'handwired/pytest/basic') check_returncode(result) - assert 'default' and 'test' in result.stdout + assert 'default' and 'default_json' in result.stdout + + +def test_list_keymaps_community(): + result = check_subcommand('list-keymaps', '--keyboard', 'handwired/pytest/has_community') + check_returncode(result) + assert 'test' in result.stdout def test_list_keymaps_kb_only(): @@ -133,40 +139,40 @@ def test_list_keymaps_no_keyboard_found(): def test_json2c(): - result = check_subcommand('json2c', 'keyboards/handwired/onekey/keymaps/default_json/keymap.json') + result = check_subcommand('json2c', 'keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json') check_returncode(result) assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n' def test_json2c_stdin(): - result = check_subcommand_stdin('keyboards/handwired/onekey/keymaps/default_json/keymap.json', 'json2c', '-') + result = check_subcommand_stdin('keyboards/handwired/pytest/has_template/keymaps/default_json/keymap.json', 'json2c', '-') check_returncode(result) assert result.stdout == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT_ortho_1x1(KC_A)};\n\n' def test_info(): - result = check_subcommand('info', '-kb', 'handwired/onekey/pytest') + result = check_subcommand('info', '-kb', 'handwired/pytest/basic') check_returncode(result) - assert 'Keyboard Name: handwired/onekey/pytest' in result.stdout - assert 'Processor: STM32F303' in result.stdout + assert 'Keyboard Name: handwired/pytest/basic' in result.stdout + assert 'Processor: atmega32u4' in result.stdout assert 'Layout:' not in result.stdout assert 'k0' not in result.stdout def test_info_keyboard_render(): - result = check_subcommand('info', '-kb', 'handwired/onekey/pytest', '-l') + result = check_subcommand('info', '-kb', 'handwired/pytest/basic', '-l') check_returncode(result) - assert 'Keyboard Name: handwired/onekey/pytest' in result.stdout - assert 'Processor: STM32F303' in result.stdout + assert 'Keyboard Name: handwired/pytest/basic' in result.stdout + assert 'Processor: atmega32u4' in result.stdout assert 'Layouts:' in result.stdout assert 'k0' in result.stdout def test_info_keymap_render(): - result = check_subcommand('info', '-kb', 'handwired/onekey/pytest', '-km', 'default_json') + result = check_subcommand('info', '-kb', 'handwired/pytest/basic', '-km', 'default_json') check_returncode(result) - assert 'Keyboard Name: handwired/onekey/pytest' in result.stdout - assert 'Processor: STM32F303' in result.stdout + assert 'Keyboard Name: handwired/pytest/basic' in result.stdout + assert 'Processor: atmega32u4' in result.stdout if is_windows: assert '|A |' in result.stdout @@ -175,10 +181,10 @@ def test_info_keymap_render(): def test_info_matrix_render(): - result = check_subcommand('info', '-kb', 'handwired/onekey/pytest', '-m') + result = check_subcommand('info', '-kb', 'handwired/pytest/basic', '-m') check_returncode(result) - assert 'Keyboard Name: handwired/onekey/pytest' in result.stdout - assert 'Processor: STM32F303' in result.stdout + assert 'Keyboard Name: handwired/pytest/basic' in result.stdout + assert 'Processor: atmega32u4' in result.stdout assert 'LAYOUT_ortho_1x1' in result.stdout if is_windows: @@ -190,27 +196,27 @@ def test_info_matrix_render(): def test_c2json(): - result = check_subcommand("c2json", "-kb", "handwired/onekey/pytest", "-km", "default", "keyboards/handwired/onekey/keymaps/default/keymap.c") + result = check_subcommand("c2json", "-kb", "handwired/pytest/has_template", "-km", "default", "keyboards/handwired/pytest/has_template/keymaps/default/keymap.c") check_returncode(result) - assert result.stdout.strip() == '{"keyboard": "handwired/onekey/pytest", "documentation": "This file is a keymap.json file for handwired/onekey/pytest", "keymap": "default", "layout": "LAYOUT_ortho_1x1", "layers": [["KC_A"]]}' + assert result.stdout.strip() == '{"keyboard": "handwired/pytest/has_template", "documentation": "This file is a keymap.json file for handwired/pytest/has_template", "keymap": "default", "layout": "LAYOUT_ortho_1x1", "layers": [["KC_A"]]}' def test_c2json_nocpp(): - result = check_subcommand("c2json", "--no-cpp", "-kb", "handwired/onekey/pytest", "-km", "default", "keyboards/handwired/onekey/keymaps/pytest_nocpp/keymap.c") + result = check_subcommand("c2json", "--no-cpp", "-kb", "handwired/pytest/has_template", "-km", "default", "keyboards/handwired/pytest/has_template/keymaps/nocpp/keymap.c") check_returncode(result) - assert result.stdout.strip() == '{"keyboard": "handwired/onekey/pytest", "documentation": "This file is a keymap.json file for handwired/onekey/pytest", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_ENTER"]]}' + assert result.stdout.strip() == '{"keyboard": "handwired/pytest/has_template", "documentation": "This file is a keymap.json file for handwired/pytest/has_template", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_ENTER"]]}' def test_c2json_stdin(): - result = check_subcommand_stdin("keyboards/handwired/onekey/keymaps/default/keymap.c", "c2json", "-kb", "handwired/onekey/pytest", "-km", "default", "-") + result = check_subcommand_stdin("keyboards/handwired/pytest/has_template/keymaps/default/keymap.c", "c2json", "-kb", "handwired/pytest/has_template", "-km", "default", "-") check_returncode(result) - assert result.stdout.strip() == '{"keyboard": "handwired/onekey/pytest", "documentation": "This file is a keymap.json file for handwired/onekey/pytest", "keymap": "default", "layout": "LAYOUT_ortho_1x1", "layers": [["KC_A"]]}' + assert result.stdout.strip() == '{"keyboard": "handwired/pytest/has_template", "documentation": "This file is a keymap.json file for handwired/pytest/has_template", "keymap": "default", "layout": "LAYOUT_ortho_1x1", "layers": [["KC_A"]]}' def test_c2json_nocpp_stdin(): - result = check_subcommand_stdin("keyboards/handwired/onekey/keymaps/pytest_nocpp/keymap.c", "c2json", "--no-cpp", "-kb", "handwired/onekey/pytest", "-km", "default", "-") + result = check_subcommand_stdin("keyboards/handwired/pytest/has_template/keymaps/nocpp/keymap.c", "c2json", "--no-cpp", "-kb", "handwired/pytest/has_template", "-km", "default", "-") check_returncode(result) - assert result.stdout.strip() == '{"keyboard": "handwired/onekey/pytest", "documentation": "This file is a keymap.json file for handwired/onekey/pytest", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_ENTER"]]}' + assert result.stdout.strip() == '{"keyboard": "handwired/pytest/has_template", "documentation": "This file is a keymap.json file for handwired/pytest/has_template", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_ENTER"]]}' def test_clean(): diff --git a/lib/python/qmk/tests/test_qmk_keymap.py b/lib/python/qmk/tests/test_qmk_keymap.py index f1ecf29378..b9e80df672 100644 --- a/lib/python/qmk/tests/test_qmk_keymap.py +++ b/lib/python/qmk/tests/test_qmk_keymap.py @@ -1,38 +1,38 @@ import qmk.keymap -def test_template_c_onekey_proton_c(): - templ = qmk.keymap.template_c('handwired/onekey/proton_c') +def test_template_c_pytest_basic(): + templ = qmk.keymap.template_c('handwired/pytest/basic') assert templ == qmk.keymap.DEFAULT_KEYMAP_C -def test_template_json_onekey_proton_c(): - templ = qmk.keymap.template_json('handwired/onekey/proton_c') - assert templ == {'keyboard': 'handwired/onekey/proton_c'} +def test_template_json_pytest_basic(): + templ = qmk.keymap.template_json('handwired/pytest/basic') + assert templ == {'keyboard': 'handwired/pytest/basic'} -def test_template_c_onekey_pytest(): - templ = qmk.keymap.template_c('handwired/onekey/pytest') +def test_template_c_pytest_has_template(): + templ = qmk.keymap.template_c('handwired/pytest/has_template') assert templ == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__};\n' -def test_template_json_onekey_pytest(): - templ = qmk.keymap.template_json('handwired/onekey/pytest') - assert templ == {'keyboard': 'handwired/onekey/pytest', "documentation": "This file is a keymap.json file for handwired/onekey/pytest"} +def test_template_json_pytest_has_template(): + templ = qmk.keymap.template_json('handwired/pytest/has_template') + assert templ == {'keyboard': 'handwired/pytest/has_template', "documentation": "This file is a keymap.json file for handwired/pytest/has_template"} -def test_generate_c_onekey_pytest(): - templ = qmk.keymap.generate_c('handwired/onekey/pytest', 'LAYOUT', [['KC_A']]) +def test_generate_c_pytest_has_template(): + templ = qmk.keymap.generate_c('handwired/pytest/has_template', 'LAYOUT', [['KC_A']]) assert templ == '#include QMK_KEYBOARD_H\nconst uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\t[0] = LAYOUT(KC_A)};\n' -def test_generate_json_onekey_pytest(): - templ = qmk.keymap.generate_json('default', 'handwired/onekey/pytest', 'LAYOUT', [['KC_A']]) - assert templ == {"keyboard": "handwired/onekey/pytest", "documentation": "This file is a keymap.json file for handwired/onekey/pytest", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_A"]]} +def test_generate_json_pytest_has_template(): + templ = qmk.keymap.generate_json('default', 'handwired/pytest/has_template', 'LAYOUT', [['KC_A']]) + assert templ == {"keyboard": "handwired/pytest/has_template", "documentation": "This file is a keymap.json file for handwired/pytest/has_template", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_A"]]} def test_parse_keymap_c(): - parsed_keymap_c = qmk.keymap.parse_keymap_c('keyboards/handwired/onekey/keymaps/default/keymap.c') + parsed_keymap_c = qmk.keymap.parse_keymap_c('keyboards/handwired/pytest/basic/keymaps/default/keymap.c') assert parsed_keymap_c == {'layers': [{'name': '0', 'layout': 'LAYOUT_ortho_1x1', 'keycodes': ['KC_A']}]} diff --git a/lib/python/qmk/tests/test_qmk_path.py b/lib/python/qmk/tests/test_qmk_path.py index 74db7b3e26..4b5132f13d 100644 --- a/lib/python/qmk/tests/test_qmk_path.py +++ b/lib/python/qmk/tests/test_qmk_path.py @@ -4,9 +4,9 @@ from pathlib import Path import qmk.path -def test_keymap_onekey_pytest(): - path = qmk.path.keymap('handwired/onekey/pytest') - assert path.samefile('keyboards/handwired/onekey/keymaps') +def test_keymap_pytest_basic(): + path = qmk.path.keymap('handwired/pytest/basic') + assert path.samefile('keyboards/handwired/pytest/basic/keymaps') def test_normpath(): -- cgit v1.2.3