diff options
author | Stefan Kerkmann <[email protected]> | 2021-11-22 22:15:04 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-11-23 08:15:04 +1100 |
commit | b6054c0206609f3755f71d819643644d250288b0 (patch) | |
tree | 4f6f33040bb5184d47144090058eb089d2782b6c /tests/test_common/test_fixture.hpp | |
parent | f4966a19d69a7f3bbefeea0537071d7d7c2abbdd (diff) | |
download | qmk_firmware-b6054c0206609f3755f71d819643644d250288b0.tar.gz qmk_firmware-b6054c0206609f3755f71d819643644d250288b0.zip |
[Tests] Increase QMK test coverage (#13789)
* 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
* `qmk format-c
* Fix tests
Co-authored-by: Nick Brassel <[email protected]>
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 340503665b..73b5d8d3e8 100644 --- a/tests/test_common/test_fixture.hpp +++ b/tests/test_common/test_fixture.hpp @@ -16,15 +16,34 @@ #pragma once +#include <cstdint> +#include <unordered_map> +#include <optional> #include "gtest/gtest.h" +#include "keyboard.h" +#include "test_keymap_key.hpp" class TestFixture : public testing::Test { -public: + public: + static TestFixture* m_this; + TestFixture(); ~TestFixture(); static void SetUpTestCase(); static void TearDownTestCase(); + void set_keymap(std::initializer_list<KeymapKey> keycodes); + void add_key(const KeymapKey key); + + const KeymapKey* find_key(const layer_t layer_t, const keypos_t position) const; + void get_keycode(const layer_t layer, const keypos_t position, uint16_t* result) const; + void run_one_scan_loop(); void idle_for(unsigned ms); + + void expect_layer_state(layer_t layer) const; + + protected: + void print_test_log() const; + std::vector<KeymapKey> keymap; }; |