From 6d88c52bc51f4c9cfb9e2276f1413414b6a36308 Mon Sep 17 00:00:00 2001 From: Armando Date: Tue, 28 Feb 2023 19:58:01 +0800 Subject: [PATCH] esp_common: restore test_attr test scope for psram --- .../test_apps/esp_common/main/test_attr.c | 4 +- .../test_apps/esp_common/pytest_esp_common.py | 78 +++++++++++++++---- .../test_apps/esp_common/sdkconfig.ci.psram | 4 + ....esp32_psram => sdkconfig.ci.psram_noinit} | 4 +- ...2_psram => sdkconfig.ci.xip_psram_esp32s2} | 4 +- .../esp_common/sdkconfig.ci.xip_psram_esp32s3 | 7 ++ 6 files changed, 80 insertions(+), 21 deletions(-) create mode 100644 components/esp_common/test_apps/esp_common/sdkconfig.ci.psram rename components/esp_common/test_apps/esp_common/{sdkconfig.ci.esp32_psram => sdkconfig.ci.psram_noinit} (63%) rename components/esp_common/test_apps/esp_common/{sdkconfig.ci.esp32s2_psram => sdkconfig.ci.xip_psram_esp32s2} (58%) create mode 100644 components/esp_common/test_apps/esp_common/sdkconfig.ci.xip_psram_esp32s3 diff --git a/components/esp_common/test_apps/esp_common/main/test_attr.c b/components/esp_common/test_apps/esp_common/main/test_attr.c index 71057478e7..6b1d7520a2 100644 --- a/components/esp_common/test_apps/esp_common/main/test_attr.c +++ b/components/esp_common/test_apps/esp_common/main/test_attr.c @@ -115,7 +115,7 @@ static void check_spiram_contents(void) TEST_ASSERT(error_count == 0); } -TEST_CASE_MULTIPLE_STAGES("Spiram test noinit memory", "[spiram]", write_spiram_and_reset, check_spiram_contents); +TEST_CASE_MULTIPLE_STAGES("Spiram test noinit memory", "[psram][ld]", write_spiram_and_reset, check_spiram_contents); #endif // CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY @@ -124,7 +124,7 @@ TEST_CASE_MULTIPLE_STAGES("Spiram test noinit memory", "[spiram]", write_spiram_ #define TEST_BSS_NUM (256 * 1024) static EXT_RAM_BSS_ATTR uint32_t s_bss_buffer[TEST_BSS_NUM]; -TEST_CASE("Test variables placed in external .bss segment", "[ld]") +TEST_CASE("Test variables placed in external .bss segment", "[psram][ld]") { for (int i = 0; i < TEST_BSS_NUM; i++) { TEST_ASSERT(data_in_segment(&s_bss_buffer[i], &_ext_ram_bss_start, &_ext_ram_bss_end)); diff --git a/components/esp_common/test_apps/esp_common/pytest_esp_common.py b/components/esp_common/test_apps/esp_common/pytest_esp_common.py index 6f3488e0bb..983220995f 100644 --- a/components/esp_common/test_apps/esp_common/pytest_esp_common.py +++ b/components/esp_common/test_apps/esp_common/pytest_esp_common.py @@ -11,35 +11,81 @@ from pytest_embedded import Dut 'config', [ 'default' - ] + ], + indirect=True, ) def test_esp_common(dut: Dut) -> None: dut.run_all_single_board_cases() +# psram noinit attr tests with psram enabled +@pytest.mark.esp32 +@pytest.mark.generic +@pytest.mark.parametrize( + 'config', + [ + 'psram_noinit', + ], + indirect=True, +) +def test_esp_attr_psram_noinit(dut: Dut) -> None: + dut.run_all_single_board_cases() + + +# psram noinit memory tests with psram enabled +@pytest.mark.esp32 +@pytest.mark.generic +@pytest.mark.supported_targets +@pytest.mark.parametrize( + 'config', + [ + 'psram_noinit' + ], + indirect=True, +) def run_multiple_stages(dut: Dut, test_case_num: int, stages: int) -> None: dut.run_all_single_board_cases() -@pytest.mark.generic +# psram attr tests with psram enabled @pytest.mark.esp32 -@pytest.mark.parametrize( - 'config', - [ - 'esp32_psram' - ] -) -def test_esp_common_psram_esp32(dut: Dut) -> None: - dut.run_all_single_board_cases() - - -@pytest.mark.generic @pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic @pytest.mark.parametrize( 'config', [ - 'esp32s2_psram' - ] + 'psram', + ], + indirect=True, ) -def test_esp_common_psram_esp32s2(dut: Dut) -> None: +def test_esp_attr_psram(dut: Dut) -> None: + dut.run_all_single_board_cases() + + +# psram attr tests with xip_psram +@pytest.mark.esp32s2 +@pytest.mark.generic +@pytest.mark.parametrize( + 'config', + [ + 'xip_psram_esp32s2' + ], + indirect=True, +) +def test_esp_attr_xip_psram_esp32s2(dut: Dut) -> None: + dut.run_all_single_board_cases() + + +# psram attr tests with xip_psram +@pytest.mark.esp32s3 +@pytest.mark.generic +@pytest.mark.parametrize( + 'config', + [ + 'xip_psram_esp32s3' + ], + indirect=True, +) +def test_esp_attr_xip_psram_esp32s3(dut: Dut) -> None: dut.run_all_single_board_cases() diff --git a/components/esp_common/test_apps/esp_common/sdkconfig.ci.psram b/components/esp_common/test_apps/esp_common/sdkconfig.ci.psram new file mode 100644 index 0000000000..acda79a2b0 --- /dev/null +++ b/components/esp_common/test_apps/esp_common/sdkconfig.ci.psram @@ -0,0 +1,4 @@ +# For EXT_RAM_BSS_ATTR + +CONFIG_SPIRAM=y +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y diff --git a/components/esp_common/test_apps/esp_common/sdkconfig.ci.esp32_psram b/components/esp_common/test_apps/esp_common/sdkconfig.ci.psram_noinit similarity index 63% rename from components/esp_common/test_apps/esp_common/sdkconfig.ci.esp32_psram rename to components/esp_common/test_apps/esp_common/sdkconfig.ci.psram_noinit index 1a7b7d83b7..b3e109b8af 100644 --- a/components/esp_common/test_apps/esp_common/sdkconfig.ci.esp32_psram +++ b/components/esp_common/test_apps/esp_common/sdkconfig.ci.psram_noinit @@ -1,6 +1,6 @@ +# For EXT_RAM_NOINIT_ATTR + CONFIG_IDF_TARGET="esp32" CONFIG_SPIRAM=y -CONFIG_SPIRAM_OCCUPY_NO_HOST=y -CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=n CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY=y CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y diff --git a/components/esp_common/test_apps/esp_common/sdkconfig.ci.esp32s2_psram b/components/esp_common/test_apps/esp_common/sdkconfig.ci.xip_psram_esp32s2 similarity index 58% rename from components/esp_common/test_apps/esp_common/sdkconfig.ci.esp32s2_psram rename to components/esp_common/test_apps/esp_common/sdkconfig.ci.xip_psram_esp32s2 index e1ab7ac9e7..0e7812b975 100644 --- a/components/esp_common/test_apps/esp_common/sdkconfig.ci.esp32s2_psram +++ b/components/esp_common/test_apps/esp_common/sdkconfig.ci.xip_psram_esp32s2 @@ -1,5 +1,7 @@ +# For XiP PSRAM EXT_RAM_BSS_ATTR + CONFIG_IDF_TARGET="esp32s2" CONFIG_SPIRAM=y -CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y CONFIG_SPIRAM_RODATA=y CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y diff --git a/components/esp_common/test_apps/esp_common/sdkconfig.ci.xip_psram_esp32s3 b/components/esp_common/test_apps/esp_common/sdkconfig.ci.xip_psram_esp32s3 new file mode 100644 index 0000000000..b774ddf1fd --- /dev/null +++ b/components/esp_common/test_apps/esp_common/sdkconfig.ci.xip_psram_esp32s3 @@ -0,0 +1,7 @@ +# For XiP PSRAM EXT_RAM_BSS_ATTR + +CONFIG_IDF_TARGET="esp32s3" +CONFIG_SPIRAM=y +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_RODATA=y +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y