diff options
author | Stefan Kerkmann <karlk90@pm.me> | 2021-11-23 03:31:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-23 13:31:01 +1100 |
commit | a24bdccee0580d1263733bc7e66e4e4f97713f19 (patch) | |
tree | 868cb12a436a87b39c936292f442bcc266ae0224 /tests/test_common/test_fixture.hpp | |
parent | e20bc76a1e05d02c15a452e51fa76d9ec39b0369 (diff) | |
download | qmk_firmware-a24bdccee0580d1263733bc7e66e4e4f97713f19.tar.gz qmk_firmware-a24bdccee0580d1263733bc7e66e4e4f97713f19.zip |
[Tests] Increase QMK test coverage take 2 (#15269)
* Add per-test keymaps
* Add better trace and info logs for failed unit-tests
* Add layer state assertion with tracing message
* Use individual test binaries configuration options
* Add basic qmk functionality tests
* Add tap hold configurations tests
* Add auto shift tests
Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'tests/test_common/test_fixture.hpp')
-rw-r--r-- | tests/test_common/test_fixture.hpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/test_common/test_fixture.hpp b/tests/test_common/test_fixture.hpp index 340503665..73b5d8d3e 100644 --- a/tests/test_common/test_fixture.hpp +++ b/tests/test_common/test_fixture.hpp | |||
@@ -16,15 +16,34 @@ | |||
16 | 16 | ||
17 | #pragma once | 17 | #pragma once |
18 | 18 | ||
19 | #include <cstdint> | ||
20 | #include <unordered_map> | ||
21 | #include <optional> | ||
19 | #include "gtest/gtest.h" | 22 | #include "gtest/gtest.h" |
23 | #include "keyboard.h" | ||
24 | #include "test_keymap_key.hpp" | ||
20 | 25 | ||
21 | class TestFixture : public testing::Test { | 26 | class TestFixture : public testing::Test { |
22 | public: | 27 | public: |
28 | static TestFixture* m_this; | ||
29 | |||
23 | TestFixture(); | 30 | TestFixture(); |
24 | ~TestFixture(); | 31 | ~TestFixture(); |
25 | static void SetUpTestCase(); | 32 | static void SetUpTestCase(); |
26 | static void TearDownTestCase(); | 33 | static void TearDownTestCase(); |
27 | 34 | ||
35 | void set_keymap(std::initializer_list<KeymapKey> keycodes); | ||
36 | void add_key(const KeymapKey key); | ||
37 | |||
38 | const KeymapKey* find_key(const layer_t layer_t, const keypos_t position) const; | ||
39 | void get_keycode(const layer_t layer, const keypos_t position, uint16_t* result) const; | ||
40 | |||
28 | void run_one_scan_loop(); | 41 | void run_one_scan_loop(); |
29 | void idle_for(unsigned ms); | 42 | void idle_for(unsigned ms); |
43 | |||
44 | void expect_layer_state(layer_t layer) const; | ||
45 | |||
46 | protected: | ||
47 | void print_test_log() const; | ||
48 | std::vector<KeymapKey> keymap; | ||
30 | }; | 49 | }; |