mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
enable API for test
This commit is contained in:
@@ -1385,8 +1385,7 @@ bool System::command_info(const char * value, const int8_t id, JsonObject & outp
|
|||||||
#if defined(EMSESP_DEBUG)
|
#if defined(EMSESP_DEBUG)
|
||||||
// run a test, e.g. http://ems-esp/api?device=system&cmd=test&data=boiler
|
// run a test, e.g. http://ems-esp/api?device=system&cmd=test&data=boiler
|
||||||
bool System::command_test(const char * value, const int8_t id) {
|
bool System::command_test(const char * value, const int8_t id) {
|
||||||
Test::run_test(value, id);
|
return Test::run_test(value, id);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -23,12 +23,24 @@
|
|||||||
|
|
||||||
namespace emsesp {
|
namespace emsesp {
|
||||||
|
|
||||||
// no shell
|
// no shell, called via the API or 'call system test' command
|
||||||
bool Test::run_test(const char * command, int8_t id) {
|
bool Test::run_test(const char * command, int8_t id) {
|
||||||
if ((command == nullptr) || (strlen(command) == 0)) {
|
if ((command == nullptr) || (strlen(command) == 0)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcmp(command, "memory") == 0) {
|
||||||
|
EMSESP::logger().notice("Testing memory by adding lots of devices and entities...");
|
||||||
|
|
||||||
|
System::test_set_all_active(true); // include all entities and give them fake values
|
||||||
|
|
||||||
|
// simulate HansRemmerswaal's setup - see https://github.com/emsesp/EMS-ESP32/issues/859
|
||||||
|
add_device(0x08, 172); // 160 entities - boiler: Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i
|
||||||
|
// add_device(0x10, 158); // 62 entities - thermostat: RC300/RC310/Moduline 3000/1010H/CW400/Sense II/HPC410
|
||||||
|
// add_device(0x38, 200); // 4 entities - thermostat: RC100H
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (strcmp(command, "general") == 0) {
|
if (strcmp(command, "general") == 0) {
|
||||||
EMSESP::logger().info("Testing general. Adding a Boiler and Thermostat");
|
EMSESP::logger().info("Testing general. Adding a Boiler and Thermostat");
|
||||||
|
|
||||||
@@ -245,21 +257,6 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
|
|||||||
command = cmd;
|
command = cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/emsesp/EMS-ESP32/issues/869
|
|
||||||
if (command == "memory") {
|
|
||||||
EMSESP::logger().notice("Testing memory by adding lots of devices and entities...");
|
|
||||||
shell.printfln("Testing memory by adding lots of devices and entities...");
|
|
||||||
|
|
||||||
System::test_set_all_active(true);
|
|
||||||
|
|
||||||
// simulate HansRemmerswaal's setup - see https://github.com/emsesp/EMS-ESP32/issues/859
|
|
||||||
add_device(0x08, 172); // 160 entities - boiler: Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i
|
|
||||||
// add_device(0x10, 158); // 62 entities - thermostat: RC300/RC310/Moduline 3000/1010H/CW400/Sense II/HPC410
|
|
||||||
// add_device(0x38, 200); // 4 entities - thermostat: RC100H
|
|
||||||
|
|
||||||
shell.invoke_command("show values");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (command == "general") {
|
if (command == "general") {
|
||||||
shell.printfln("Testing adding a general boiler & thermostat...");
|
shell.printfln("Testing adding a general boiler & thermostat...");
|
||||||
run_test("general");
|
run_test("general");
|
||||||
@@ -269,6 +266,13 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
|
|||||||
shell.invoke_command("show mqtt");
|
shell.invoke_command("show mqtt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://github.com/emsesp/EMS-ESP32/issues/869
|
||||||
|
if (command == "memory") {
|
||||||
|
shell.printfln("Testing memory by adding lots of devices and entities...");
|
||||||
|
run_test("memory");
|
||||||
|
shell.invoke_command("show values");
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// the tests take a lot of memory when built for the ESP32
|
// the tests take a lot of memory when built for the ESP32
|
||||||
// so only including the full set in standalone, otherwise a limited selection of basic tests
|
// so only including the full set in standalone, otherwise a limited selection of basic tests
|
||||||
|
|||||||
Reference in New Issue
Block a user