mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
8df4625c84
* Decomposed tests into atomic unit tests * Made tests less time-dependent, hence more robust on different platforms (ESP32, QEMU, Linux) * Ported most of the tests to linux * Removed some redundant tests * Fixed bug the tests discovered * Simplified parts of the tests to be more clear * Partially used C++ to simplify setup/teardown * Unified setup/teardown in general
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
|
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
import pytest
|
|
from pytest_embedded import Dut
|
|
|
|
|
|
@pytest.mark.esp32
|
|
@pytest.mark.esp32s2
|
|
@pytest.mark.esp32c3
|
|
@pytest.mark.generic
|
|
def test_esp_event(dut: Dut) -> None:
|
|
dut.run_all_single_board_cases()
|
|
|
|
|
|
@pytest.mark.esp32
|
|
@pytest.mark.host_test
|
|
@pytest.mark.qemu
|
|
@pytest.mark.parametrize('qemu_extra_args', [
|
|
'-global driver=timer.esp32.timg,property=wdt_disable,value=true',
|
|
], indirect=True) # need to disable wdt since it is not synchronized with target cpu clock on QEMU for ESP32
|
|
def test_esp_event_qemu_esp32(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)
|
|
|
|
|
|
@pytest.mark.esp32c3
|
|
@pytest.mark.host_test
|
|
@pytest.mark.qemu
|
|
@pytest.mark.parametrize('qemu_extra_args', [
|
|
'-icount 3',
|
|
], indirect=True) # need to add -icount 3 to make WDT accurate on QEMU for ESP32-C3
|
|
def test_esp_event_qemu_esp32c3(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)
|
|
|
|
|
|
@pytest.mark.linux
|
|
@pytest.mark.host_test
|
|
def test_esp_event_posix_simulator(dut: Dut) -> None:
|
|
dut.expect_exact('Press ENTER to see the list of tests.')
|
|
dut.write('*')
|
|
dut.expect(r'\d{2} Tests 0 Failures 0 Ignored', timeout=120)
|