Merge branch 'feature/ringbuf-enable-qemu-tests' into 'master'

ringbuf: enable qemu tests

Closes IDF-7336

See merge request espressif/esp-idf!21057
This commit is contained in:
Zim Kalinowski
2023-06-20 23:06:59 +08:00
3 changed files with 25 additions and 2 deletions

View File

@@ -753,7 +753,8 @@ out:
return need_yield; return need_yield;
} }
TEST_CASE("Test ring buffer ISR", "[esp_ringbuf]") // IDF-6471 - test hangs up on QEMU
TEST_CASE("Test ring buffer ISR", "[esp_ringbuf][qemu-ignore]")
{ {
gptimer_handle_t gptimer; gptimer_handle_t gptimer;
for (int i = 0; i < NO_OF_RB_TYPES; i++) { for (int i = 0; i < NO_OF_RB_TYPES; i++) {

View File

@@ -1,9 +1,11 @@
/* /*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "unity.h" #include "unity.h"
#include "unity_test_runner.h" #include "unity_test_runner.h"
#include "esp_heap_caps.h" #include "esp_heap_caps.h"
@@ -29,6 +31,8 @@ void setUp(void)
void tearDown(void) void tearDown(void)
{ {
// Add a short delay of 100ms to allow the idle task to free any remaining memory
vTaskDelay(pdMS_TO_TICKS(100));
size_t after_free_8bit = heap_caps_get_free_size(MALLOC_CAP_8BIT); 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); size_t after_free_32bit = heap_caps_get_free_size(MALLOC_CAP_32BIT);
check_leak(before_free_8bit, after_free_8bit, "8BIT"); check_leak(before_free_8bit, after_free_8bit, "8BIT");

View File

@@ -9,6 +9,7 @@ from pytest_embedded import Dut
@pytest.mark.esp32s2 @pytest.mark.esp32s2
@pytest.mark.esp32c3 @pytest.mark.esp32c3
@pytest.mark.generic @pytest.mark.generic
@pytest.mark.nightly_run
@pytest.mark.parametrize( @pytest.mark.parametrize(
'config', 'config',
[ [
@@ -18,3 +19,20 @@ from pytest_embedded import Dut
) )
def test_esp_ringbuf(dut: Dut) -> None: def test_esp_ringbuf(dut: Dut) -> None:
dut.run_all_single_board_cases() dut.run_all_single_board_cases()
@pytest.mark.esp32
@pytest.mark.esp32c3
@pytest.mark.host_test
@pytest.mark.qemu
@pytest.mark.parametrize(
'config',
[
'default',
'ringbuf_flash'
]
)
def test_esp_ringbuf_qemu(dut: Dut) -> None:
for case in dut.test_menu:
if 'qemu-ignore' not in case.groups and not case.is_ignored and case.type == 'normal':
dut._run_normal_case(case)