mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-06-25 17:31:33 +02:00
fix(modem): Update target test builds to use external Catch2
Switched from the deprecated Catch framework (IDF/tools) to Catch2, as Catch will be removed in v6.0. Note that Catch2 has higher memory requirements, necessitating an increase in stack size and partition table. Additionally, Catch2 increases compilation time due to its larger footprint.
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
idf_component_register(SRCS "pppd_test.cpp"
|
||||
"NetworkDCE.cpp"
|
||||
REQUIRES esp_modem)
|
||||
REQUIRES esp_modem catch2)
|
||||
|
||||
set_target_properties(${COMPONENT_LIB} PROPERTIES
|
||||
CXX_STANDARD 17
|
||||
|
4
components/esp_modem/test/target/main/idf_component.yml
Normal file
4
components/esp_modem/test/target/main/idf_component.yml
Normal file
@ -0,0 +1,4 @@
|
||||
dependencies:
|
||||
espressif/catch2: "*"
|
||||
idf:
|
||||
version: ">=4.4"
|
@ -17,6 +17,10 @@
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/event_groups.h"
|
||||
|
||||
#define CATCH_CONFIG_MAIN
|
||||
#include "catch2/catch_test_macros.hpp"
|
||||
#include "catch2/catch_session.hpp"
|
||||
|
||||
static const char *TAG = "pppd_test";
|
||||
static EventGroupHandle_t event_group = NULL;
|
||||
|
||||
@ -73,9 +77,6 @@ esp_err_t modem_init_network(esp_netif_t *netif);
|
||||
void modem_start_network();
|
||||
void modem_stop_network();
|
||||
|
||||
bool test_connect();
|
||||
bool test_disconnect();
|
||||
|
||||
extern "C" void app_main(void)
|
||||
{
|
||||
|
||||
@ -99,27 +100,41 @@ extern "C" void app_main(void)
|
||||
#endif
|
||||
|
||||
modem_start_network();
|
||||
|
||||
bool t1 = test_connect();
|
||||
bool t2 = test_disconnect();
|
||||
|
||||
if (t1 && t2) {
|
||||
ESP_LOGI(TAG, "All tests passed");
|
||||
} else {
|
||||
Catch::Session session;
|
||||
int numFailed = session.run();
|
||||
if (numFailed > 0) {
|
||||
ESP_LOGE(TAG, "Test FAILED!");
|
||||
} else {
|
||||
ESP_LOGI(TAG, "Test passed!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool test_connect() //("Connect test", "[esp_modem]")
|
||||
TEST_CASE("Connect test", "[esp_modem]")
|
||||
{
|
||||
EventBits_t b = xEventGroupWaitBits(event_group, 1, pdTRUE, pdFALSE, pdMS_TO_TICKS(15000));
|
||||
return b == 1;
|
||||
CHECK(b == 1);
|
||||
}
|
||||
|
||||
bool test_disconnect() //("Disconnection test", "[esp_modem]")
|
||||
TEST_CASE("Disconnection test", "[esp_modem]")
|
||||
{
|
||||
modem_stop_network();
|
||||
EventBits_t b = xEventGroupWaitBits(event_group, 2, pdTRUE, pdFALSE, pdMS_TO_TICKS(15000));
|
||||
return b == 2;
|
||||
CHECK(b == 2);
|
||||
}
|
||||
|
||||
|
||||
extern "C" {
|
||||
|
||||
static void handle(int nr)
|
||||
{
|
||||
ESP_LOGE(TAG, "Signal handler %d", nr);
|
||||
}
|
||||
|
||||
_sig_func_ptr signal (int nr, _sig_func_ptr)
|
||||
{
|
||||
return handle;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
CONFIG_COMPILER_CXX_EXCEPTIONS=y
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
|
||||
CONFIG_LWIP_PPP_SUPPORT=y
|
||||
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
|
||||
CONFIG_TEST_APP_AUTH=y
|
||||
|
@ -1,3 +1,4 @@
|
||||
CONFIG_COMPILER_CXX_EXCEPTIONS=y
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
|
||||
CONFIG_LWIP_PPP_SUPPORT=y
|
||||
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
|
||||
|
Reference in New Issue
Block a user