From 34330daadfded8e9a421ba1d7c9ef8757ab92599 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 9 Nov 2022 13:53:52 +1100 Subject: [PATCH] adjust loglevel in tests --- test/main/main.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) 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 #include +#include +#include +#include + #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)); }