diff options
author | skullydazed <skullydazed@users.noreply.github.com> | 2019-09-22 13:25:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-22 13:25:33 -0700 |
commit | d569f0877155efc752994f8a21f5cf001f9d6ae6 (patch) | |
tree | eb58a3e3f916d6d938d8f05742d48919c053a579 /lib/python/qmk/tests/test_cli_commands.py | |
parent | 2f49cae9bcbdd94431659727ef75cfd30f557da8 (diff) | |
download | qmk_firmware-d569f0877155efc752994f8a21f5cf001f9d6ae6.tar.gz qmk_firmware-d569f0877155efc752994f8a21f5cf001f9d6ae6.zip |
Configuration system for CLI (#6708)
* Rework how bin/qmk handles subcommands
* qmk config wip
* Code to show all configs
* Fully working `qmk config` command
* Mark some CLI arguments so they don't pollute the config file
* Fleshed out config support, nicer subcommand support
* sync with installable cli
* pyformat
* Add a test for subcommand_modules
* Documentation for the `qmk config` command
* split config_token on space so qmk config is more predictable
* Rework how subcommands are imported
* Document `arg_only`
* Document deleting from CLI
* Document how multiple operations work
* Add cli config to the doc index
* Add tests for the cli commands
* Make running the tests more reliable
* Be more selective about building all default keymaps
* Update new-keymap to fit the new subcommand style
* Add documentation about writing CLI scripts
* Document new-keyboard
* Update docs/cli_configuration.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/cli_development.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/cli_development.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/cli_development.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Address yan's comments.
* Apply suggestions from code review
suggestions from @noahfrederick
Co-Authored-By: Noah Frederick <code@noahfrederick.com>
* Apply suggestions from code review
Co-Authored-By: Noah Frederick <code@noahfrederick.com>
* Remove pip3 from the test runner
Diffstat (limited to 'lib/python/qmk/tests/test_cli_commands.py')
-rw-r--r-- | lib/python/qmk/tests/test_cli_commands.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py new file mode 100644 index 000000000..2fc6e0f72 --- /dev/null +++ b/lib/python/qmk/tests/test_cli_commands.py | |||
@@ -0,0 +1,39 @@ | |||
1 | import subprocess | ||
2 | |||
3 | |||
4 | def check_subcommand(command, *args): | ||
5 | cmd = ['bin/qmk', command] + list(args) | ||
6 | return subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) | ||
7 | |||
8 | |||
9 | def test_cformat(): | ||
10 | assert check_subcommand('cformat', 'tmk_core/common/backlight.c').returncode == 0 | ||
11 | |||
12 | |||
13 | def test_compile(): | ||
14 | assert check_subcommand('compile', '-kb', 'handwired/onekey/pytest', '-km', 'default').returncode == 0 | ||
15 | |||
16 | |||
17 | def test_config(): | ||
18 | result = check_subcommand('config') | ||
19 | assert result.returncode == 0 | ||
20 | assert 'general.color' in result.stdout | ||
21 | |||
22 | |||
23 | def test_doctor(): | ||
24 | result = check_subcommand('doctor') | ||
25 | assert result.returncode == 0 | ||
26 | assert 'QMK Doctor is checking your environment.' in result.stderr | ||
27 | assert 'QMK is ready to go' in result.stderr | ||
28 | |||
29 | |||
30 | def test_hello(): | ||
31 | result = check_subcommand('hello') | ||
32 | assert result.returncode == 0 | ||
33 | assert 'Hello,' in result.stderr | ||
34 | |||
35 | |||
36 | def test_pyformat(): | ||
37 | result = check_subcommand('pyformat') | ||
38 | assert result.returncode == 0 | ||
39 | assert 'Successfully formatted the python code' in result.stderr | ||