forked from mirrors/qmk_userspace
[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>
This commit is contained in:
parent
e20bc76a1e
commit
a24bdccee0
48 changed files with 2702 additions and 245 deletions
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue