From 0b01a18fc9544bbaeacd1206873aca7cdb576b30 Mon Sep 17 00:00:00 2001 From: wanckl Date: Wed, 24 Jun 2026 19:27:55 +0800 Subject: [PATCH] fix(ci): twai test disable board after test finish --- .../pytest_twai_alert_recovery_example.py | 19 +++++++++++++++++-- .../pytest_twai_self_test_example.py | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/examples/peripherals/twai/twai_alert_and_recovery/pytest_twai_alert_recovery_example.py b/examples/peripherals/twai/twai_alert_and_recovery/pytest_twai_alert_recovery_example.py index 35d9f7b5b8c..2ba9af33f9a 100644 --- a/examples/peripherals/twai/twai_alert_and_recovery/pytest_twai_alert_recovery_example.py +++ b/examples/peripherals/twai/twai_alert_and_recovery/pytest_twai_alert_recovery_example.py @@ -1,12 +1,27 @@ # SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD # SPDX-License-Identifier: CC0-1.0 +import time + import pytest from pytest_embedded import Dut from pytest_embedded_idf.utils import idf_parametrize +def esp_enter_flash_mode(dut: Dut) -> None: + ser = dut.serial.proc + ser.setRTS(True) # EN Low + time.sleep(0.5) + ser.setDTR(True) # GPIO0 Low + ser.setRTS(False) # EN High + dut.expect('waiting for download', timeout=2) + ser.setDTR(False) # Back RTS/DTR to 1/1 to avoid affect to esptool + + @pytest.mark.twai_adapter @idf_parametrize('target', ['esp32'], indirect=['target']) def test_twai_alert_recovery_example(dut: Dut) -> None: - dut.expect_exact('TWAI Alert and Recovery: Driver installed') - dut.expect_exact('TWAI Alert and Recovery: Driver uninstalled') + try: + dut.expect_exact('TWAI Alert and Recovery: Driver installed') + dut.expect_exact('TWAI Alert and Recovery: Driver uninstalled') + finally: + esp_enter_flash_mode(dut) diff --git a/examples/peripherals/twai/twai_self_test/pytest_twai_self_test_example.py b/examples/peripherals/twai/twai_self_test/pytest_twai_self_test_example.py index a4c1537a5cb..cd1b0fa45e1 100644 --- a/examples/peripherals/twai/twai_self_test/pytest_twai_self_test_example.py +++ b/examples/peripherals/twai/twai_self_test/pytest_twai_self_test_example.py @@ -1,12 +1,27 @@ # SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD # SPDX-License-Identifier: CC0-1.0 +import time + import pytest from pytest_embedded import Dut from pytest_embedded_idf.utils import idf_parametrize +def esp_enter_flash_mode(dut: Dut) -> None: + ser = dut.serial.proc + ser.setRTS(True) # EN Low + time.sleep(0.5) + ser.setDTR(True) # GPIO0 Low + ser.setRTS(False) # EN High + dut.expect('waiting for download', timeout=2) + ser.setDTR(False) # Back RTS/DTR to 1/1 to avoid affect to esptool + + @pytest.mark.twai_adapter @idf_parametrize('target', ['esp32'], indirect=['target']) def test_twai_self_test_example(dut: Dut) -> None: - dut.expect_exact('TWAI Self Test: Driver installed') - dut.expect_exact('TWAI Self Test: Driver uninstalled') + try: + dut.expect_exact('TWAI Self Test: Driver installed') + dut.expect_exact('TWAI Self Test: Driver uninstalled') + finally: + esp_enter_flash_mode(dut)