pthread: enable qemu tests

This commit is contained in:
Zim Kalinowski 2022-12-13 21:42:05 +01:00
parent edd815af2e
commit 7627a12045
3 changed files with 18 additions and 1 deletions

View File

@ -4,6 +4,8 @@
* SPDX-License-Identifier: Apache-2.0
*/
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "unity.h"
#include "unity_test_runner.h"
#include "esp_heap_caps.h"
@ -32,6 +34,8 @@ void setUp(void)
void tearDown(void)
{
// Add a short delay of 100ms to allow the idle task to free an remaining memory
vTaskDelay(pdMS_TO_TICKS(100));
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);
check_leak(before_free_8bit, after_free_8bit, "8BIT");

View File

@ -72,7 +72,8 @@ static void thread_main()
}
}
TEST_CASE("pthread C++", "[pthread]")
// IDF-6423 - assert and crash when running this testcase on QEMU
TEST_CASE("pthread C++", "[pthread][qemu-ignore]")
{
global_sp_mtx.reset(new int(1));
global_sp_recur_mtx.reset(new int(-1000));

View File

@ -1,6 +1,8 @@
# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: CC0-1.0
from time import sleep
import pytest
from pytest_embedded import Dut
@ -62,3 +64,13 @@ def test_pthread_single_core_tls(dut: Dut) -> None:
dut.expect_exact('Press ENTER to see the list of tests')
dut.write('[thread-specific]')
dut.expect_unity_test_output(timeout=300)
@pytest.mark.qemu
@pytest.mark.esp32
def test_pthread_qemu(dut: Dut) -> None:
dut.expect_exact('Press ENTER to see the list of tests')
# dut may not be ready to accept input, so adding the delay until handled in pytest embedded (RDT-328)
sleep(1)
dut.write('![qemu-ignore]')
dut.expect_unity_test_output(timeout=300)