mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
pthread: enable qemu tests
This commit is contained in:
parent
edd815af2e
commit
7627a12045
@ -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");
|
||||
|
@ -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));
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user