diff --git a/components/spi_flash/test_apps/components/test_flash_utils/CMakeLists.txt b/components/spi_flash/test_apps/components/test_flash_utils/CMakeLists.txt new file mode 100644 index 0000000000..b1e95cf41e --- /dev/null +++ b/components/spi_flash/test_apps/components/test_flash_utils/CMakeLists.txt @@ -0,0 +1,5 @@ +set(srcs "test_flash_utils.c") + +idf_component_register(SRCS ${srcs} + INCLUDE_DIRS include + REQUIRES esp_partition) diff --git a/components/spi_flash/test_apps/components/test_flash_utils/include/test_flash_utils.h b/components/spi_flash/test_apps/components/test_flash_utils/include/test_flash_utils.h new file mode 100644 index 0000000000..19162a77a2 --- /dev/null +++ b/components/spi_flash/test_apps/components/test_flash_utils/include/test_flash_utils.h @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include +#include "esp_partition.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * Return the 'flash_test' custom data partition + * defined in the custom partition table. + * + * @return partition handle + */ +const esp_partition_t *get_test_flash_partition(void); + +#ifdef __cplusplus +} +#endif diff --git a/components/spi_flash/test_apps/components/test_flash_utils/test_flash_utils.c b/components/spi_flash/test_apps/components/test_flash_utils/test_flash_utils.c new file mode 100644 index 0000000000..290f632a35 --- /dev/null +++ b/components/spi_flash/test_apps/components/test_flash_utils/test_flash_utils.c @@ -0,0 +1,17 @@ +/* + * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include "test_flash_utils.h" + +const esp_partition_t *get_test_flash_partition(void) +{ + /* This finds "flash_test" partition defined in custom partitions.csv */ + const esp_partition_t *result = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, + ESP_PARTITION_SUBTYPE_ANY, "flash_test"); + assert(result != NULL); /* means partition table set wrong */ + return result; +} diff --git a/components/spi_flash/test_apps/esp_flash_stress/CMakeLists.txt b/components/spi_flash/test_apps/esp_flash_stress/CMakeLists.txt index 5565d0d2f6..e557291582 100644 --- a/components/spi_flash/test_apps/esp_flash_stress/CMakeLists.txt +++ b/components/spi_flash/test_apps/esp_flash_stress/CMakeLists.txt @@ -1,7 +1,7 @@ # 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") +set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/components/spi_flash/test_apps/components") include($ENV{IDF_PATH}/tools/cmake/project.cmake) diff --git a/components/spi_flash/test_apps/esp_flash_stress/main/CMakeLists.txt b/components/spi_flash/test_apps/esp_flash_stress/main/CMakeLists.txt index 17e9f27daf..c202102665 100644 --- a/components/spi_flash/test_apps/esp_flash_stress/main/CMakeLists.txt +++ b/components/spi_flash/test_apps/esp_flash_stress/main/CMakeLists.txt @@ -4,4 +4,5 @@ set(srcs "test_app_main.c" # 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_flash_utils spi_flash unity WHOLE_ARCHIVE) diff --git a/components/spi_flash/test_apps/esp_flash_stress/main/test_app_main.c b/components/spi_flash/test_apps/esp_flash_stress/main/test_app_main.c index 16da07c2ab..54d22dfd2d 100644 --- a/components/spi_flash/test_apps/esp_flash_stress/main/test_app_main.c +++ b/components/spi_flash/test_apps/esp_flash_stress/main/test_app_main.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/components/spi_flash/test_apps/esp_flash_stress/main/test_esp_flash_stress.c b/components/spi_flash/test_apps/esp_flash_stress/main/test_esp_flash_stress.c index 4ef8dec10c..e71f365a2e 100644 --- a/components/spi_flash/test_apps/esp_flash_stress/main/test_esp_flash_stress.c +++ b/components/spi_flash/test_apps/esp_flash_stress/main/test_esp_flash_stress.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -15,9 +15,9 @@ #include "esp_check.h" #include "esp_attr.h" #include "esp_flash.h" -#include "esp_partition.h" +#include "test_flash_utils.h" -portMUX_TYPE s_test_spinlock = portMUX_INITIALIZER_UNLOCKED; +portMUX_TYPE static s_test_spinlock = portMUX_INITIALIZER_UNLOCKED; /*--------------------------------------------------------------- ESP Flash API Concurrency Pressure Test @@ -33,17 +33,6 @@ typedef struct { const esp_partition_t *part; } test_concurrency_ctx_t; - -static const esp_partition_t *get_test_flash_partition(void) -{ - /* This finds "flash_test" partition defined in partition_table_unit_test_app.csv */ - const esp_partition_t *result = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, - ESP_PARTITION_SUBTYPE_ANY, "flash_test"); - assert(result != NULL); /* means partition table set wrong */ - return result; -} - - static void s_test_flash_ops_task(void *arg) { test_concurrency_ctx_t *test_ctx = (test_concurrency_ctx_t *)arg;