mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
fixes #1926 - serial shell not working
This commit is contained in:
@@ -56,7 +56,7 @@ void ClientLoop(void * arg) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef UNITY_INCLUDE_CONFIG_H
|
||||
#ifndef EMSESP_UNITY
|
||||
// we have another main that overrides this when using Unity in test_api.cpp
|
||||
int main(int argc __attribute__((unused)), char * argv[] __attribute__((unused))) {
|
||||
setup();
|
||||
|
||||
@@ -232,7 +232,7 @@ build_flags =
|
||||
-std=gnu++14 -Og -ggdb
|
||||
build_type = debug
|
||||
build_src_flags =
|
||||
-Wall -Wextra -Werror
|
||||
-Wall -Wextra
|
||||
-Wno-unused-parameter -Wno-sign-compare -Wno-missing-braces
|
||||
-I./lib_standalone
|
||||
-I./lib/uuid-common/src
|
||||
@@ -261,17 +261,17 @@ lib_ignore = Module EMS-ESP-Modules
|
||||
; unit tests
|
||||
; pio run -e native-test -t exec
|
||||
; works on Linux, Windows, and MacOS
|
||||
; to auto generate the API exepected test results, compile with -DUNITY_CREATE and capture the output, and paste into the test_api.cpp file
|
||||
; to auto generate the API exepected test results, compile with -DEMSESP_UNITY_CREATE and capture the output, and paste into the test_api.cpp file
|
||||
[env:native-test]
|
||||
platform = native
|
||||
test_build_src = true
|
||||
build_flags =
|
||||
-DARDUINOJSON_ENABLE_ARDUINO_STRING=1
|
||||
-DEMSESP_STANDALONE -DEMSESP_TEST
|
||||
-DUNITY_INCLUDE_CONFIG_H
|
||||
; -DUNITY_CREATE
|
||||
-DEMSESP_UNITY
|
||||
; -DEMSESP_UNITY_CREATE
|
||||
-DEMSESP_DEFAULT_LOCALE=\"en\" -DEMSESP_DEFAULT_TX_MODE=8 -DEMSESP_DEFAULT_VERSION=\"3.7.0-dev.0\" -DEMSESP_DEFAULT_BOARD_PROFILE=\"S32\"
|
||||
-std=gnu++14 -Os -ggdb -Wall -Wextra -Werror
|
||||
-std=gnu++14 -Os -ggdb -Wall -Wextra
|
||||
-lgcov --coverage -fprofile-arcs -ftest-coverage
|
||||
build_type = debug
|
||||
build_src_flags =
|
||||
|
||||
@@ -1539,25 +1539,22 @@ EMSESP::EMSESP()
|
||||
// the services must be loaded in the correct order
|
||||
void EMSESP::start() {
|
||||
// don't need shell if running unit tests
|
||||
#if !defined(UNITY_INCLUDE_CONFIG_H)
|
||||
|
||||
#ifndef EMSESP_UNITY
|
||||
// Serial console's shell
|
||||
serial_console_.begin(SERIAL_CONSOLE_BAUD_RATE);
|
||||
|
||||
shell_ = std::make_shared<EMSESPConsole>(*this, serial_console_, true);
|
||||
shell_->maximum_log_messages(100);
|
||||
|
||||
shell_->start();
|
||||
|
||||
#if defined(EMSESP_DEBUG)
|
||||
shell_->log_level(uuid::log::Level::DEBUG);
|
||||
#else
|
||||
shell_->log_level(uuid::log::Level::TRACE);
|
||||
#endif
|
||||
|
||||
#if defined(EMSESP_STANDALONE)
|
||||
shell_->add_flags(CommandFlags::ADMIN); // always start in su/admin mode when running tests
|
||||
#endif
|
||||
|
||||
#else
|
||||
#warning "Shell is disabled when running Unity tests."
|
||||
#endif
|
||||
|
||||
// start the file system
|
||||
|
||||
@@ -1544,7 +1544,7 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output
|
||||
node = output["api"].to<JsonObject>();
|
||||
|
||||
// if we're generating test data for Unit Tests we dont want to count these API calls as it will pollute the data response
|
||||
#if defined(UNITY_INCLUDE_CONFIG_H)
|
||||
#if defined(EMSESP_UNITY)
|
||||
node["APICalls"] = 0;
|
||||
node["APIFails"] = 0;
|
||||
#else
|
||||
@@ -1618,7 +1618,7 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output
|
||||
node["analogEnabled"] = settings.analog_enabled;
|
||||
node["telnetEnabled"] = settings.telnet_enabled;
|
||||
node["maxWebLogBuffer"] = settings.weblog_buffer;
|
||||
#if defined(UNITY_INCLUDE_CONFIG_H)
|
||||
#if defined(EMSESP_UNITY)
|
||||
node["webLogBuffer"] = 0;
|
||||
#else
|
||||
node["webLogBuffer"] = EMSESP::webLogService.num_log_messages();
|
||||
|
||||
@@ -1 +1 @@
|
||||
#define EMSESP_APP_VERSION "3.7.0-dev.29"
|
||||
#define EMSESP_APP_VERSION "3.7.0-dev.30"
|
||||
|
||||
@@ -138,7 +138,7 @@ void WebAPIService::parse(AsyncWebServerRequest * request, JsonObject input) {
|
||||
// store the result so we can test with Unity later
|
||||
storeResponse(output);
|
||||
#endif
|
||||
#if defined(EMSESP_STANDALONE) && !defined(UNITY_INCLUDE_CONFIG_H)
|
||||
#if defined(EMSESP_STANDALONE) && !defined(EMSESP_UNITY)
|
||||
Serial.printf("%sweb output: %s[%s] %s(200)%s ", COLOR_WHITE, COLOR_BRIGHT_CYAN, request->url().c_str(), COLOR_BRIGHT_GREEN, COLOR_MAGENTA);
|
||||
serializeJson(output, Serial);
|
||||
Serial.println(COLOR_RESET);
|
||||
@@ -165,7 +165,7 @@ void WebAPIService::parse(AsyncWebServerRequest * request, JsonObject input) {
|
||||
// store the result so we can test with Unity later
|
||||
storeResponse(output);
|
||||
#endif
|
||||
#if defined(EMSESP_STANDALONE) && !defined(UNITY_INCLUDE_CONFIG_H)
|
||||
#if defined(EMSESP_STANDALONE) && !defined(EMSESP_UNITY)
|
||||
Serial.printf("%sweb output: %s[%s]", COLOR_WHITE, COLOR_BRIGHT_CYAN, request->url().c_str());
|
||||
Serial.printf(" %s(%d)%s ", ret_codes[return_code] == 200 ? COLOR_BRIGHT_GREEN : COLOR_BRIGHT_RED, ret_codes[return_code], COLOR_YELLOW);
|
||||
serializeJson(output, Serial);
|
||||
|
||||
@@ -38,7 +38,7 @@ void run_tests();
|
||||
const char * call_url(const char * url);
|
||||
|
||||
// load the tests
|
||||
// this is generated from this file when compiled with -DUNITY_CREATE
|
||||
// this is generated from this file when compiled with -DEMSESP_UNITY_CREATE
|
||||
// copy the output to the test_api.h file
|
||||
#include "test_api.h" // generated test functions
|
||||
|
||||
@@ -165,7 +165,7 @@ const char * call_url(const char * url, const char * data) {
|
||||
}
|
||||
|
||||
// capture the response and print it out as a test, auto-generates the test functions
|
||||
// use with -DUNITY_CREATE in the platformio build flags
|
||||
// use with -DEMSESP_UNITY_CREATE in the platformio build flags
|
||||
// only needs to be done once
|
||||
void capture(const char * url = nullptr) {
|
||||
static uint8_t count = 1;
|
||||
@@ -263,7 +263,7 @@ int main() {
|
||||
|
||||
add_devices(); // add devices
|
||||
|
||||
#if defined(UNITY_CREATE)
|
||||
#if defined(EMSESP_UNITY_CREATE)
|
||||
|
||||
// These tests should all pass....
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// **************************************************************************************************
|
||||
//
|
||||
// Compile with -DUNITY_CREATE to generate the test functions
|
||||
// Compile with -DEMSESP_UNITY_CREATE to generate the test functions
|
||||
// and copy the output and paste below.
|
||||
//
|
||||
// TODO: convert output to JSON and compare, showing differences
|
||||
|
||||
Reference in New Issue
Block a user