diff options
| author | jacqueline <me@jacqueline.id.au> | 2022-11-09 13:53:52 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2022-11-09 13:53:52 +1100 |
| commit | 34330daadfded8e9a421ba1d7c9ef8757ab92599 (patch) | |
| tree | 16de7c012fa397c34342d3251ceb1bd54527e4e5 /test | |
| parent | ff30b27f0d042972b4777c43dbdfccb7641be0f2 (diff) | |
| download | tangara-fw-34330daadfded8e9a421ba1d7c9ef8757ab92599.tar.gz | |
adjust loglevel in tests
Diffstat (limited to 'test')
| -rw-r--r-- | test/main/main.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/main/main.cpp b/test/main/main.cpp index 8dbbda8e..9e01dbc0 100644 --- a/test/main/main.cpp +++ b/test/main/main.cpp @@ -1,12 +1,62 @@ #include <stdio.h> #include <string.h> +#include <algorithm> +#include <iostream> +#include <string> + #include "esp_console.h" #include "esp_log.h" #include "esp_system.h" #include "catch_runner.hpp" +int exec_loglevel(int argc, char** argv) { + static const std::string usage = + "usage: loglevel [VERBOSE,DEBUG,INFO,WARN,ERROR,NONE]"; + if (argc != 2) { + std::cout << usage << std::endl; + return 1; + } + std::string level_str = argv[1]; + std::transform(level_str.begin(), level_str.end(), level_str.begin(), + [](unsigned char c) { return std::toupper(c); }); + + esp_log_level_t level; + if (level_str == "VERBOSE") { + level = ESP_LOG_VERBOSE; + } else if (level_str == "DEBUG") { + level = ESP_LOG_DEBUG; + } else if (level_str == "INFO") { + level = ESP_LOG_INFO; + } else if (level_str == "WARN") { + level = ESP_LOG_WARN; + } else if (level_str == "ERROR") { + level = ESP_LOG_ERROR; + } else if (level_str == "NONE") { + level = ESP_LOG_NONE; + } else { + std::cout << usage << std::endl; + return 1; + } + + esp_log_level_set("*", level); + + return 0; +} + +void register_loglevel() { + esp_console_cmd_t cmd{ + .command = "loglevel", + .help = + "Sets the log level to one of \"VERBOSE\", \"DEBUG\", \"INFO\", " + "\"WARN\", \"ERROR\", \"NONE\"", + .hint = "level", + .func = &exec_loglevel, + .argtable = NULL}; + esp_console_cmd_register(&cmd); +} + void register_catch2() { esp_console_cmd_t cmd{ .command = "catch", @@ -31,7 +81,9 @@ extern "C" void app_main(void) { ESP_ERROR_CHECK(esp_console_new_repl_uart(&hw_config, &repl_config, &repl)); esp_console_register_help_command(); + register_loglevel(); register_catch2(); + esp_log_level_set("*", ESP_LOG_WARN); ESP_ERROR_CHECK(esp_console_start_repl(repl)); } |
