mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-05 13:44:32 +02:00
Merge branch 'test/move_sdio_to_pytest_app' into 'master'
sdio: move sdio related test case to it's own pytest app Closes IDF-5501 and IDFCI-1377 See merge request espressif/esp-idf!19314
This commit is contained in:
@@ -134,9 +134,8 @@ build:integration_test:
|
|||||||
- - bt # example_test_005
|
- - bt # example_test_005
|
||||||
- wifi # example_test_002, example_test*wifi*
|
- wifi # example_test_002, example_test*wifi*
|
||||||
- ethernet # example_test*ethernet*
|
- ethernet # example_test*ethernet*
|
||||||
- sdio # UT_044, UT_045
|
- sdio # component_ut_pytest_esp32_sdio
|
||||||
- usb # USB Device & Host tests
|
- usb # USB Device & Host tests
|
||||||
- spi_multi # UT_C2_SPI_DUAL
|
|
||||||
- adc # component_ut_pytest_esp32x_adc
|
- adc # component_ut_pytest_esp32x_adc
|
||||||
- i154
|
- i154
|
||||||
patterns:
|
patterns:
|
||||||
|
@@ -229,9 +229,9 @@
|
|||||||
- "components/esp_netif/**/*"
|
- "components/esp_netif/**/*"
|
||||||
- "components/lwip/**/*"
|
- "components/lwip/**/*"
|
||||||
|
|
||||||
# for jobs: UT_044, UT_045
|
# for jobs: component_ut_pytest_esp32_sdio
|
||||||
.patterns-unit_test-sdio: &patterns-unit_test-sdio
|
.patterns-unit_test-sdio: &patterns-unit_test-sdio
|
||||||
- "components/esp_serial_slave_link/**/*"
|
- "components/hal/**/*"
|
||||||
- "components/driver/**/*"
|
- "components/driver/**/*"
|
||||||
- "components/sdmmc/**/*"
|
- "components/sdmmc/**/*"
|
||||||
|
|
||||||
@@ -243,13 +243,6 @@
|
|||||||
- "examples/peripherals/usb/host/**/**/**/*"
|
- "examples/peripherals/usb/host/**/**/**/*"
|
||||||
- "examples/peripherals/usb/device/**/**/*"
|
- "examples/peripherals/usb/device/**/**/*"
|
||||||
|
|
||||||
# for job: unit_test-spi_multi which has only one runner
|
|
||||||
.patterns-unit_test-spi_multi: &patterns-unit_test-spi_multi
|
|
||||||
- "components/esp_serial_slave_link/**/*"
|
|
||||||
- "components/driver/**/*"
|
|
||||||
- "components/hal/**/*"
|
|
||||||
- "examples/peripherals/spi_slave*/**/*"
|
|
||||||
|
|
||||||
# for jobs: component_ut_pytest_esp32x_adc:
|
# for jobs: component_ut_pytest_esp32x_adc:
|
||||||
.patterns-component_ut-adc: &patterns-component_ut-adc
|
.patterns-component_ut-adc: &patterns-component_ut-adc
|
||||||
- "components/esp_adc/**/*"
|
- "components/esp_adc/**/*"
|
||||||
@@ -1294,8 +1287,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:build:unit_test:
|
.rules:build:unit_test:
|
||||||
rules:
|
rules:
|
||||||
@@ -1327,8 +1318,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:build:unit_test-esp32:
|
.rules:build:unit_test-esp32:
|
||||||
rules:
|
rules:
|
||||||
@@ -1354,8 +1343,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:build:unit_test-esp32c2:
|
.rules:build:unit_test-esp32c2:
|
||||||
rules:
|
rules:
|
||||||
@@ -1380,8 +1367,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:build:unit_test-esp32c3:
|
.rules:build:unit_test-esp32c3:
|
||||||
rules:
|
rules:
|
||||||
@@ -1406,8 +1391,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:build:unit_test-esp32c6:
|
.rules:build:unit_test-esp32c6:
|
||||||
rules:
|
rules:
|
||||||
@@ -1432,8 +1415,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:build:unit_test-esp32s2:
|
.rules:build:unit_test-esp32s2:
|
||||||
rules:
|
rules:
|
||||||
@@ -1458,8 +1439,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:build:unit_test-esp32s3:
|
.rules:build:unit_test-esp32s3:
|
||||||
rules:
|
rules:
|
||||||
@@ -1484,8 +1463,6 @@
|
|||||||
changes: *patterns-unit_test
|
changes: *patterns-unit_test
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-unit_test-sdio
|
changes: *patterns-unit_test-sdio
|
||||||
- <<: *if-dev-push
|
|
||||||
changes: *patterns-unit_test-spi_multi
|
|
||||||
|
|
||||||
.rules:labels-protected:lan8720:
|
.rules:labels-protected:lan8720:
|
||||||
rules:
|
rules:
|
||||||
|
@@ -322,6 +322,14 @@ component_ut_pytest_esp32_adc:
|
|||||||
- build_pytest_components_esp32
|
- build_pytest_components_esp32
|
||||||
tags: [ esp32, adc ]
|
tags: [ esp32, adc ]
|
||||||
|
|
||||||
|
component_ut_pytest_esp32_sdio:
|
||||||
|
extends:
|
||||||
|
- .pytest_components_dir_template
|
||||||
|
- .rules:test:unit_test-esp32-sdio
|
||||||
|
needs:
|
||||||
|
- build_pytest_components_esp32
|
||||||
|
tags: [ esp32, sdio_master_slave ]
|
||||||
|
|
||||||
component_ut_pytest_esp32_ip101:
|
component_ut_pytest_esp32_ip101:
|
||||||
extends:
|
extends:
|
||||||
- .pytest_components_dir_template
|
- .pytest_components_dir_template
|
||||||
@@ -1061,23 +1069,6 @@ UT_043:
|
|||||||
- UT_T1_32kXTAL
|
- UT_T1_32kXTAL
|
||||||
- psram
|
- psram
|
||||||
|
|
||||||
UT_044:
|
|
||||||
extends:
|
|
||||||
- .unit_test_esp32_template
|
|
||||||
- .rules:test:unit_test-esp32-sdio
|
|
||||||
tags:
|
|
||||||
- ESP32_IDF
|
|
||||||
- UT_SDIO
|
|
||||||
|
|
||||||
UT_045:
|
|
||||||
extends:
|
|
||||||
- .unit_test_esp32_template
|
|
||||||
- .rules:test:unit_test-esp32-sdio
|
|
||||||
tags:
|
|
||||||
- ESP32_IDF
|
|
||||||
- UT_SDIO
|
|
||||||
- psram
|
|
||||||
|
|
||||||
UT_S2_SDSPI:
|
UT_S2_SDSPI:
|
||||||
extends: .unit_test_esp32s2_template
|
extends: .unit_test_esp32s2_template
|
||||||
tags:
|
tags:
|
||||||
|
@@ -63,6 +63,12 @@ components/driver/test_apps/rs485:
|
|||||||
temporary: true
|
temporary: true
|
||||||
reason: lack of runners
|
reason: lack of runners
|
||||||
|
|
||||||
|
components/driver/test_apps/sdio:
|
||||||
|
disable:
|
||||||
|
- if: SOC_SDIO_SLAVE_SUPPORTED != 1
|
||||||
|
temporary: true
|
||||||
|
reason: Not supported.
|
||||||
|
|
||||||
components/driver/test_apps/sdm:
|
components/driver/test_apps/sdm:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_SDM_SUPPORTED != 1
|
- if: SOC_SDM_SUPPORTED != 1
|
||||||
|
10
components/driver/test_apps/sdio/CMakeLists.txt
Normal file
10
components/driver/test_apps/sdio/CMakeLists.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# This is the project CMakeLists.txt file for the test subproject
|
||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
set(EXTRA_COMPONENT_DIRS
|
||||||
|
"$ENV{IDF_PATH}/tools/unit-test-app/components"
|
||||||
|
"$ENV{IDF_PATH}/components/driver/test_apps/components"
|
||||||
|
)
|
||||||
|
|
||||||
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||||
|
project(sdio_test)
|
2
components/driver/test_apps/sdio/README.md
Normal file
2
components/driver/test_apps/sdio/README.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
| Supported Targets | ESP32 |
|
||||||
|
| ----------------- | ----- |
|
13
components/driver/test_apps/sdio/main/CMakeLists.txt
Normal file
13
components/driver/test_apps/sdio/main/CMakeLists.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
set(srcs
|
||||||
|
"test_app_main.c"
|
||||||
|
"test_sdio.c"
|
||||||
|
"test_sdmmc_sdspi_init.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
|
||||||
|
# the component can be registered as WHOLE_ARCHIVE
|
||||||
|
idf_component_register(
|
||||||
|
SRCS ${srcs}
|
||||||
|
PRIV_REQUIRES test_utils test_driver_utils driver esp_timer sdmmc esp_serial_slave_link
|
||||||
|
WHOLE_ARCHIVE
|
||||||
|
)
|
48
components/driver/test_apps/sdio/main/test_app_main.c
Normal file
48
components/driver/test_apps/sdio/main/test_app_main.c
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "unity.h"
|
||||||
|
#include "unity_test_utils.h"
|
||||||
|
#include "esp_heap_caps.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define TEST_MEMORY_LEAK_THRESHOLD (200)
|
||||||
|
|
||||||
|
static size_t before_free_8bit;
|
||||||
|
static size_t before_free_32bit;
|
||||||
|
|
||||||
|
void setUp(void)
|
||||||
|
{
|
||||||
|
before_free_8bit = heap_caps_get_free_size(MALLOC_CAP_8BIT);
|
||||||
|
before_free_32bit = heap_caps_get_free_size(MALLOC_CAP_32BIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void tearDown(void)
|
||||||
|
{
|
||||||
|
esp_reent_cleanup(); //clean up some of the newlib's lazy allocations
|
||||||
|
size_t after_free_8bit = heap_caps_get_free_size(MALLOC_CAP_8BIT);
|
||||||
|
size_t after_free_32bit = heap_caps_get_free_size(MALLOC_CAP_32BIT);
|
||||||
|
printf("\n");
|
||||||
|
unity_utils_check_leak(before_free_8bit, after_free_8bit, "8BIT", TEST_MEMORY_LEAK_THRESHOLD);
|
||||||
|
unity_utils_check_leak(before_free_32bit, after_free_32bit, "32BIT", TEST_MEMORY_LEAK_THRESHOLD);
|
||||||
|
}
|
||||||
|
|
||||||
|
void app_main(void)
|
||||||
|
{
|
||||||
|
// _____ _ _ _
|
||||||
|
// |_ _|__ ___| |_ ___ __| (_) ___
|
||||||
|
// | |/ _ \/ __| __| / __|/ _` | |/ _ `.
|
||||||
|
// | | __/\__ \ |_ \__ \ (_| | | (_) |
|
||||||
|
// |_|\___||___/\__| |___/\__,_|_|\___/
|
||||||
|
|
||||||
|
printf(" _____ _ _ _ \n");
|
||||||
|
printf(" |_ _|__ ___| |_ ___ __| (_) ___ \n");
|
||||||
|
printf(" | |/ _ \\/ __| __| / __|/ _` | |/ _ \\ \n");
|
||||||
|
printf(" | | __/\\__ \\ |_ \\__ \\ (_| | | (_) |\n");
|
||||||
|
printf(" |_|\\___||___/\\__| |___/\\__,_|_|\\___/ \n");
|
||||||
|
|
||||||
|
unity_run_menu();
|
||||||
|
}
|
@@ -7,17 +7,14 @@
|
|||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "test_utils.h"
|
#include "test_utils.h"
|
||||||
#include "test_spi_utils.h"
|
#include "test_spi_utils.h"
|
||||||
|
#include "esp_serial_slave_link/essl_sdio.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
#include "sdmmc_cmd.h"
|
||||||
#include "esp_timer.h"
|
#include "esp_timer.h"
|
||||||
#include "soc/soc_caps.h"
|
|
||||||
#include "ccomp_timer.h"
|
#include "ccomp_timer.h"
|
||||||
#include "freertos/FreeRTOS.h"
|
|
||||||
#include "freertos/task.h"
|
|
||||||
|
|
||||||
#include "driver/spi_common.h"
|
#include "driver/spi_common.h"
|
||||||
#include "driver/sdspi_host.h"
|
#include "driver/sdspi_host.h"
|
||||||
#include "esp_serial_slave_link/essl_sdio.h"
|
#include "soc/soc_caps.h"
|
||||||
#include "sdmmc_cmd.h"
|
|
||||||
|
|
||||||
#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S3)
|
#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S3)
|
||||||
|
|
||||||
@@ -351,13 +348,13 @@ static void log_performance_tohost(uint32_t speed, const sdio_test_config_t* con
|
|||||||
if (!config->check_data) {
|
if (!config->check_data) {
|
||||||
switch (config->sdio_mode) {
|
switch (config->sdio_mode) {
|
||||||
case SDIO_4BIT:
|
case SDIO_4BIT:
|
||||||
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_TOHOST_4BIT, "%d", speed);
|
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_TOHOST_4BIT, "%" PRIu32, speed);
|
||||||
break;
|
break;
|
||||||
case SDIO_1BIT:
|
case SDIO_1BIT:
|
||||||
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_TOHOST_1BIT, "%d", speed);
|
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_TOHOST_1BIT, "%" PRIu32, speed);
|
||||||
break;
|
break;
|
||||||
case SDIO_SPI:
|
case SDIO_SPI:
|
||||||
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_TOHOST_SPI, "%d", speed);
|
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_TOHOST_SPI, "%" PRIu32, speed);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,7 +419,7 @@ static void test_tp_tohost_master(essl_handle_t handle, const sdio_test_config_t
|
|||||||
int64_t end_us = esp_timer_get_time();
|
int64_t end_us = esp_timer_get_time();
|
||||||
|
|
||||||
uint32_t total_time_ms = (end_us - pre_us)/1000;
|
uint32_t total_time_ms = (end_us - pre_us)/1000;
|
||||||
ESP_LOGI(MASTER_TAG, "test done, total time: %d ms (%d ms compensated), bytes transferred: %d", total_time_ms, (int)c_time_ms, expected_length);
|
ESP_LOGI(MASTER_TAG, "test done, total time: %" PRIu32 " ms (%d ms compensated), bytes transferred: %d", total_time_ms, (int)c_time_ms, expected_length);
|
||||||
|
|
||||||
uint32_t throughput_byte_per_ms = expected_length / c_time_ms;
|
uint32_t throughput_byte_per_ms = expected_length / c_time_ms;
|
||||||
ESP_LOGI(MASTER_TAG, "Throughput: compensated %.2lf MB/s, typical %.2lf MB/s",
|
ESP_LOGI(MASTER_TAG, "Throughput: compensated %.2lf MB/s, typical %.2lf MB/s",
|
||||||
@@ -437,13 +434,13 @@ static void log_performance_frhost(uint32_t speed, const sdio_test_config_t* con
|
|||||||
if (!config->check_data) {
|
if (!config->check_data) {
|
||||||
switch (config->sdio_mode) {
|
switch (config->sdio_mode) {
|
||||||
case SDIO_4BIT:
|
case SDIO_4BIT:
|
||||||
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_FRHOST_4BIT, "%d", speed);
|
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_FRHOST_4BIT, "%" PRIu32, speed);
|
||||||
break;
|
break;
|
||||||
case SDIO_1BIT:
|
case SDIO_1BIT:
|
||||||
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_FRHOST_1BIT, "%d", speed);
|
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_FRHOST_1BIT, "%" PRIu32, speed);
|
||||||
break;
|
break;
|
||||||
case SDIO_SPI:
|
case SDIO_SPI:
|
||||||
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_FRHOST_SPI, "%d", speed);
|
TEST_PERFORMANCE_CCOMP_GREATER_THAN(SDIO_THROUGHPUT_KBSEC_FRHOST_SPI, "%" PRIu32, speed);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -482,7 +479,7 @@ static void test_tp_frhost_master(essl_handle_t handle, const sdio_test_config_t
|
|||||||
int64_t end_us = esp_timer_get_time();
|
int64_t end_us = esp_timer_get_time();
|
||||||
|
|
||||||
uint32_t total_time_ms = (end_us - pre_us)/1000;
|
uint32_t total_time_ms = (end_us - pre_us)/1000;
|
||||||
ESP_LOGI(MASTER_TAG, "test done, total time: %d ms (%d ms compensated), bytes transferred: %d", total_time_ms, (int)c_time_ms, expected_length);
|
ESP_LOGI(MASTER_TAG, "test done, total time: %" PRIu32 " ms (%d ms compensated), bytes transferred: %d", total_time_ms, (int)c_time_ms, expected_length);
|
||||||
|
|
||||||
uint32_t throughput_byte_per_ms = expected_length / c_time_ms;
|
uint32_t throughput_byte_per_ms = expected_length / c_time_ms;
|
||||||
ESP_LOGI(MASTER_TAG, "Throughput: compensated %.2lf MB/s, typical %.2lf MB/s",
|
ESP_LOGI(MASTER_TAG, "Throughput: compensated %.2lf MB/s, typical %.2lf MB/s",
|
||||||
@@ -734,15 +731,15 @@ void test_sdio_reset_slave(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_CASE_MULTIPLE_DEVICES("sdio interrupt", "[sdio][test_env=UT_SDIO]", test_sdio_interrupt_master, test_sdio_interrupt_slave);
|
TEST_CASE_MULTIPLE_DEVICES("sdio interrupt", "[sdio][test_env=sdio_master_slave]", test_sdio_interrupt_master, test_sdio_interrupt_slave);
|
||||||
|
|
||||||
TEST_CASE_MULTIPLE_DEVICES("sdio register", "[sdio][test_env=UT_SDIO]", test_sdio_reg_master, test_sdio_interrupt_slave);
|
TEST_CASE_MULTIPLE_DEVICES("sdio register", "[sdio][test_env=sdio_master_slave]", test_sdio_reg_master, test_sdio_interrupt_slave);
|
||||||
|
|
||||||
#if !CONFIG_FREERTOS_UNICORE
|
#if !CONFIG_FREERTOS_UNICORE
|
||||||
TEST_CASE_MULTIPLE_DEVICES("sdio reset", "[sdio][test_env=UT_SDIO]", test_sdio_reset_master, test_sdio_reset_slave);
|
TEST_CASE_MULTIPLE_DEVICES("sdio reset", "[sdio][test_env=sdio_master_slave]", test_sdio_reset_master, test_sdio_reset_slave);
|
||||||
#else
|
#else
|
||||||
//Currently there is weird issue on the runner, when tested with single core config, seems to relate to receiving
|
//Currently there is weird issue on the runner, when tested with single core config, seems to relate to receiving
|
||||||
TEST_CASE_MULTIPLE_DEVICES("sdio reset", "[sdio][test_env=UT_SDIO][ignore]", test_sdio_reset_master, test_sdio_reset_slave);
|
TEST_CASE_MULTIPLE_DEVICES("sdio reset", "[sdio][test_env=sdio_master_slave][ignore]", test_sdio_reset_master, test_sdio_reset_slave);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -792,10 +789,10 @@ ptest_func_t frhost_slave = {
|
|||||||
PARAM_GROUP_DECLARE_TYPE(IO_MODE, sdio_test_config_t, test_cfg_array);
|
PARAM_GROUP_DECLARE_TYPE(IO_MODE, sdio_test_config_t, test_cfg_array);
|
||||||
|
|
||||||
#if !CONFIG_FREERTOS_UNICORE
|
#if !CONFIG_FREERTOS_UNICORE
|
||||||
TEST_MASTER_SLAVE(SDIO_FRHOST, test_cfg_array, "[sdio][timeout=180][test_env=UT_SDIO]", &frhost_master, &frhost_slave);
|
TEST_MASTER_SLAVE(SDIO_FRHOST, test_cfg_array, "[sdio][timeout=180][test_env=sdio_master_slave]", &frhost_master, &frhost_slave);
|
||||||
#else
|
#else
|
||||||
//Currently there is weird issue on the runner, when tested with single core config, seems to relate to receiving
|
//Currently there is weird issue on the runner, when tested with single core config, seems to relate to receiving
|
||||||
TEST_MASTER_SLAVE(SDIO_FRHOST, test_cfg_array, "[sdio][timeout=180][test_env=UT_SDIO][ignore]", &frhost_master, &frhost_slave);
|
TEST_MASTER_SLAVE(SDIO_FRHOST, test_cfg_array, "[sdio][timeout=180][test_env=sdio_master_slave][ignore]", &frhost_master, &frhost_slave);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ptest_func_t tohost_master = {
|
ptest_func_t tohost_master = {
|
||||||
@@ -810,7 +807,7 @@ ptest_func_t tohost_slave = {
|
|||||||
.post_test = null_post,
|
.post_test = null_post,
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_MASTER_SLAVE(SDIO_TOHOST, test_cfg_array, "[sdio][timeout=180][test_env=UT_SDIO]", &tohost_master, &tohost_slave);
|
TEST_MASTER_SLAVE(SDIO_TOHOST, test_cfg_array, "[sdio][timeout=180][test_env=sdio_master_slave]", &tohost_master, &tohost_slave);
|
||||||
|
|
||||||
#endif //SOC_SDMMC_HOST_SUPPORTED && SOC_SDIO_SLAVE_SUPPORTED
|
#endif //SOC_SDMMC_HOST_SUPPORTED && SOC_SDIO_SLAVE_SUPPORTED
|
||||||
|
|
11
components/driver/test_apps/sdio/pytest_sdio.py
Normal file
11
components/driver/test_apps/sdio/pytest_sdio.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.esp32
|
||||||
|
@pytest.mark.sdio_master_slave
|
||||||
|
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||||
|
def test_sdio_multi_dev(case_tester) -> None: # type: ignore
|
||||||
|
case_tester.run_all_multi_dev_cases(reset=True)
|
2
components/driver/test_apps/sdio/sdkconfig.defaults
Normal file
2
components/driver/test_apps/sdio/sdkconfig.defaults
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CONFIG_FREERTOS_HZ=1000
|
||||||
|
CONFIG_ESP_TASK_WDT=n
|
@@ -75,6 +75,7 @@ markers =
|
|||||||
wifi_two_dut: tests should be run on runners which has two wifi duts connected.
|
wifi_two_dut: tests should be run on runners which has two wifi duts connected.
|
||||||
generic_multi_device: generic multiple devices whose corresponding gpio pins are connected to each other.
|
generic_multi_device: generic multiple devices whose corresponding gpio pins are connected to each other.
|
||||||
twai_network: multiple runners form a TWAI network.
|
twai_network: multiple runners form a TWAI network.
|
||||||
|
sdio_master_slave: Test sdio multi board.
|
||||||
|
|
||||||
# host_test markers
|
# host_test markers
|
||||||
host_test: tests which shouldn not be built at the build stage, and instead built in host_test stage.
|
host_test: tests which shouldn not be built at the build stage, and instead built in host_test stage.
|
||||||
|
Reference in New Issue
Block a user