diff options
author | Joel Challis <git@zvecr.com> | 2021-07-25 17:18:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-25 17:18:09 +0100 |
commit | fc9fb2c77505cf1dcf5d1f50dd61a980471b3494 (patch) | |
tree | 3dce233f23dbe991c4dee0a63eb4dc0fe9c2b6f5 /tests/test_common | |
parent | b69e7431aa2e22b4f4662c64e84ed242caac055e (diff) | |
download | qmk_firmware-fc9fb2c77505cf1dcf5d1f50dd61a980471b3494.tar.gz qmk_firmware-fc9fb2c77505cf1dcf5d1f50dd61a980471b3494.zip |
Allow output of logging when running unit tests (#13556)
* Initial pass at enabling logging for unit tests
* Add to docs
* Bind debug for more test types
* Force everything
* Tidy up slightly
Diffstat (limited to 'tests/test_common')
-rw-r--r-- | tests/test_common/main.cpp | 32 | ||||
-rw-r--r-- | tests/test_common/test_fixture.cpp | 8 |
2 files changed, 38 insertions, 2 deletions
diff --git a/tests/test_common/main.cpp b/tests/test_common/main.cpp new file mode 100644 index 0000000000..3e4b4c0f95 --- /dev/null +++ b/tests/test_common/main.cpp @@ -0,0 +1,32 @@ +#include "gtest/gtest.h" + +extern "C" { +#include "stdio.h" +#include "debug.h" + +int8_t sendchar(uint8_t c) { + fprintf(stderr, "%c", c); + return 0; +} + +__attribute__((weak)) debug_config_t debug_config = {0}; + +void init_logging(void) { + print_set_sendchar(sendchar); + + // Customise these values to desired behaviour + // debug_enable = true; + // debug_matrix = true; + // debug_keyboard = true; + // debug_mouse = true; + debug_config.raw = 0xFF; +} +} + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + + init_logging(); + + return RUN_ALL_TESTS(); +}
\ No newline at end of file diff --git a/tests/test_common/test_fixture.cpp b/tests/test_common/test_fixture.cpp index 20ed838eb6..e041df7128 100644 --- a/tests/test_common/test_fixture.cpp +++ b/tests/test_common/test_fixture.cpp @@ -7,10 +7,10 @@ #include "action_tapping.h" extern "C" { +#include "debug.h" +#include "eeconfig.h" #include "action_layer.h" -} -extern "C" { void set_time(uint32_t t); void advance_time(uint32_t ms); } @@ -21,6 +21,10 @@ using testing::Between; using testing::Return; void TestFixture::SetUpTestCase() { + // The following is enough to bootstrap the values set in main + eeconfig_init_quantum(); + eeconfig_update_debug(debug_config.raw); + TestDriver driver; EXPECT_CALL(driver, send_keyboard_mock(_)); keyboard_init(); |