diff options
Diffstat (limited to 'lib/python/qmk/tests')
| -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 | ||
