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) |
[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 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; }; |