From 7f048be21f26e2fcd8309bcaade5c3883f1d652c Mon Sep 17 00:00:00 2001 From: Chen Jichang Date: Wed, 27 May 2026 11:25:18 +0800 Subject: [PATCH] test(parlio): enable h4 parlio test --- .../test_apps/.build-test-rules.yml | 4 ---- .../test_apps/parlio/main/test_parlio_rx.c | 2 +- .../parlio/main/test_parlio_tx_cache_safe.c | 4 ++-- .../test_apps/parlio/pytest_parlio_unity.py | 20 +++++++++++++++---- .../main/i80_controller_example_main.c | 2 +- .../i80_controller/sdkconfig.ci.image_in_fs | 1 - 6 files changed, 20 insertions(+), 13 deletions(-) diff --git a/components/esp_driver_parlio/test_apps/.build-test-rules.yml b/components/esp_driver_parlio/test_apps/.build-test-rules.yml index 2f90c0f32e0..5f2ce845840 100644 --- a/components/esp_driver_parlio/test_apps/.build-test-rules.yml +++ b/components/esp_driver_parlio/test_apps/.build-test-rules.yml @@ -3,10 +3,6 @@ components/esp_driver_parlio/test_apps/parlio: disable: - if: SOC_PARLIO_SUPPORTED != 1 - disable_test: - - if: IDF_TARGET == "esp32h4" - temporary: true - reason: cannot pass # TODO: IDF-15613 depends_components: - esp_driver_parlio - esp_driver_dma diff --git a/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_rx.c b/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_rx.c index b1cf2e1535c..b1cd80042ac 100644 --- a/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_rx.c +++ b/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_rx.c @@ -935,7 +935,7 @@ static void test_gpio_neg_edge_intr(void *arg) } } -TEST_CASE("parallel_rx_unit_force_trigger_eof_test", "[parlio_rx]") +TEST_CASE("parallel_rx_unit_force_trigger_eof_test", "[parlio_rx][release_only]") { parlio_rx_unit_handle_t rx_unit = NULL; diff --git a/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_tx_cache_safe.c b/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_tx_cache_safe.c index c50d790426e..bb0d0a4ebb3 100644 --- a/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_tx_cache_safe.c +++ b/components/esp_driver_parlio/test_apps/parlio/main/test_parlio_tx_cache_safe.c @@ -45,8 +45,8 @@ static void test_parlio_tx_cache_safe(void) TEST_ESP_OK(parlio_new_tx_unit(&config, &tx_unit)); TEST_ESP_OK(parlio_tx_unit_enable(tx_unit)); - const size_t buffer_size = 160 * 1000; - const size_t chunk_size = buffer_size / 4; // 40KB per trunk + const size_t buffer_size = 80 * 1000; + const size_t chunk_size = buffer_size / 4; // 20KB per trunk uint8_t *buffer = heap_caps_malloc(buffer_size, MALLOC_CAP_8BIT | MALLOC_CAP_DMA); TEST_ASSERT_NOT_NULL(buffer); for (int i = 0; i < buffer_size; i++) { diff --git a/components/esp_driver_parlio/test_apps/parlio/pytest_parlio_unity.py b/components/esp_driver_parlio/test_apps/parlio/pytest_parlio_unity.py index ad398c66b7b..e1f0575d3c6 100644 --- a/components/esp_driver_parlio/test_apps/parlio/pytest_parlio_unity.py +++ b/components/esp_driver_parlio/test_apps/parlio/pytest_parlio_unity.py @@ -11,11 +11,24 @@ from pytest_embedded_idf.utils import soc_filtered_targets 'config', [ 'cache_safe', + ], + indirect=True, +) +@idf_parametrize( + 'target', soc_filtered_targets('SOC_PARLIO_SUPPORTED == 1 and IDF_TARGET not in ["esp32c5"]'), indirect=['target'] +) +def test_parlio_cache_safe(dut: Dut) -> None: + dut.run_all_single_board_cases(group='!release_only') + + +@pytest.mark.generic +@pytest.mark.parametrize( + 'config', + [ 'release', ], indirect=True, ) -@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='cannot pass') # TODO: IDF-15613 @idf_parametrize( 'target', soc_filtered_targets('SOC_PARLIO_SUPPORTED == 1 and IDF_TARGET not in ["esp32c5"]'), indirect=['target'] ) @@ -31,7 +44,6 @@ def test_parlio(dut: Dut) -> None: ], indirect=True, ) -@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='cannot pass') # TODO: IDF-15613 @idf_parametrize( 'target', soc_filtered_targets('SOC_PARLIO_SUPPORTED == 1 and SOC_FLASH_ENC_SUPPORTED == 1'), indirect=['target'] ) @@ -45,7 +57,7 @@ def test_parlio_with_virt_flash_enc(dut: Dut) -> None: dut.expect('Checking flash encryption...') dut.expect('Generating new flash encryption key...') - dut.run_all_single_board_cases() + dut.run_all_single_board_cases(group='!release_only') @pytest.mark.generic @@ -58,7 +70,7 @@ def test_parlio_with_virt_flash_enc(dut: Dut) -> None: ) @idf_parametrize('target', ['esp32c5'], indirect=['target']) def test_parlio_esp32c5(dut: Dut) -> None: - dut.run_all_single_board_cases() + dut.run_all_single_board_cases(group='!release_only') @pytest.mark.generic diff --git a/examples/peripherals/lcd/i80_controller/main/i80_controller_example_main.c b/examples/peripherals/lcd/i80_controller/main/i80_controller_example_main.c index 6418a947387..693d8d6e7be 100644 --- a/examples/peripherals/lcd/i80_controller/main/i80_controller_example_main.c +++ b/examples/peripherals/lcd/i80_controller/main/i80_controller_example_main.c @@ -360,7 +360,7 @@ void app_main(void) ESP_LOGI(TAG, "Create LVGL task"); xTaskCreate(example_lvgl_port_task, "LVGL", EXAMPLE_LVGL_TASK_STACK_SIZE, NULL, EXAMPLE_LVGL_TASK_PRIORITY, NULL); - + vTaskDelay(pdMS_TO_TICKS(10)); ESP_LOGI(TAG, "Display LVGL animation"); // Lock the mutex due to the LVGL APIs are not thread-safe _lock_acquire(&lvgl_api_lock); diff --git a/examples/peripherals/lcd/i80_controller/sdkconfig.ci.image_in_fs b/examples/peripherals/lcd/i80_controller/sdkconfig.ci.image_in_fs index 7c5b547dc4f..ffa8e138f32 100644 --- a/examples/peripherals/lcd/i80_controller/sdkconfig.ci.image_in_fs +++ b/examples/peripherals/lcd/i80_controller/sdkconfig.ci.image_in_fs @@ -8,4 +8,3 @@ CONFIG_LV_USE_FS_POSIX=y # use 'S' (83 in ASCII) as drive letter for POSIX FS CONFIG_LV_FS_POSIX_LETTER=83 -CONFIG_LV_FS_POSIX_CACHE_SIZE=65535