parent
e219925fac
commit
9f572cb927
@ -1,4 +1,10 @@ |
|||||||
cmake_minimum_required(VERSION 3.16) |
cmake_minimum_required(VERSION 3.16) |
||||||
include(common.cmake) |
include(common.cmake) |
||||||
|
|
||||||
|
# No exceptions in app builds (this is different in test builds). |
||||||
|
idf_build_set_property(COMPILE_OPTIONS "-DRESULT_DISABLE_EXCEPTIONS" APPEND) |
||||||
|
|
||||||
|
# Include all app components. |
||||||
|
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/src") |
||||||
|
|
||||||
project(gay-ipod-fw) |
project(gay-ipod-fw) |
||||||
|
@ -1 +1,4 @@ |
|||||||
idf_component_register(SRCS "catch_runner.cpp" INCLUDE_DIRS "include") |
idf_component_register( |
||||||
|
SRCS "catch_runner.cpp" |
||||||
|
INCLUDE_DIRS "include" |
||||||
|
REQUIRES "console") |
||||||
|
@ -1,3 +1,7 @@ |
|||||||
#pragma once |
#pragma once |
||||||
|
|
||||||
void run_catch(void); |
/*
|
||||||
|
* Executes the Catch2 test runner as if called from the commandline on a |
||||||
|
* standard unix-y system. |
||||||
|
*/ |
||||||
|
int exec_catch2(int argc, char **argv); |
||||||
|
@ -1 +1,4 @@ |
|||||||
idf_component_register(SRCS "main.cpp" INCLUDE_DIRS "." REQUIRE "catch2") |
idf_component_register( |
||||||
|
SRCS "main.cpp" |
||||||
|
INCLUDE_DIRS "." |
||||||
|
REQUIRES "catch2") |
||||||
|
@ -1,17 +1,37 @@ |
|||||||
#include <stdio.h> |
#include <stdio.h> |
||||||
#include <string.h> |
#include <string.h> |
||||||
|
|
||||||
static void print_banner(const char* text); |
#include "esp_console.h" |
||||||
|
#include "esp_log.h" |
||||||
|
#include "esp_system.h" |
||||||
|
|
||||||
extern "C" { |
#include "catch_runner.hpp" |
||||||
void app_main(void) |
|
||||||
{ |
|
||||||
print_banner("Running tests without [ignore] tag"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
static void print_banner(const char* text) |
void register_catch2() { |
||||||
{ |
esp_console_cmd_t cmd{ |
||||||
printf("\n#### %s #####\n\n", text); |
.command = "catch", |
||||||
|
.help = "Execute the catch2 test runner. Use -? for options.", |
||||||
|
.hint = NULL, |
||||||
|
.func = &exec_catch2, |
||||||
|
.argtable = NULL}; |
||||||
|
esp_console_cmd_register(&cmd); |
||||||
} |
} |
||||||
|
|
||||||
|
extern "C" void app_main(void) { |
||||||
|
esp_console_repl_t* repl = nullptr; |
||||||
|
esp_console_repl_config_t repl_config = ESP_CONSOLE_REPL_CONFIG_DEFAULT(); |
||||||
|
repl_config.max_history_len = 16; |
||||||
|
repl_config.prompt = " →"; |
||||||
|
repl_config.max_cmdline_length = 256; |
||||||
|
// Catch2 needs a huge stack, since it does a lot of pretty string formatting.
|
||||||
|
repl_config.task_stack_size = 1024 * 24; |
||||||
|
|
||||||
|
esp_console_dev_uart_config_t hw_config = |
||||||
|
ESP_CONSOLE_DEV_UART_CONFIG_DEFAULT(); |
||||||
|
ESP_ERROR_CHECK(esp_console_new_repl_uart(&hw_config, &repl_config, &repl)); |
||||||
|
|
||||||
|
esp_console_register_help_command(); |
||||||
|
register_catch2(); |
||||||
|
|
||||||
|
ESP_ERROR_CHECK(esp_console_start_repl(repl)); |
||||||
|
} |
||||||
|
Loading…
Reference in new issue