mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
fix(driver_twai): test split runner combinations
This commit is contained in:
@@ -18,9 +18,6 @@ components/driver/test_apps/legacy_twai:
|
|||||||
disable:
|
disable:
|
||||||
- if: SOC_TWAI_SUPPORTED != 1 or SOC_TWAI_FD_SUPPORTED == 1
|
- if: SOC_TWAI_SUPPORTED != 1 or SOC_TWAI_FD_SUPPORTED == 1
|
||||||
reason: legacy driver doesn't support FD
|
reason: legacy driver doesn't support FD
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: p4 rev3 migration # TODO: IDF-14393
|
|
||||||
depends_filepatterns:
|
depends_filepatterns:
|
||||||
- components/driver/twai/**/*
|
- components/driver/twai/**/*
|
||||||
depends_components:
|
depends_components:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-H21 | ESP32-S2 | ESP32-S3 |
|
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-H21 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- |
|
| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | -------- |
|
||||||
|
|
||||||
# Enable Socket CAN Device with bitrate 250Kbps
|
# Enable Socket CAN Device with bitrate 250Kbps
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ from pytest_embedded_idf.utils import idf_parametrize
|
|||||||
@idf_parametrize(
|
@idf_parametrize(
|
||||||
'target', ['esp32', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32s2', 'esp32s3', 'esp32p4'], indirect=['target']
|
'target', ['esp32', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32s2', 'esp32s3', 'esp32p4'], indirect=['target']
|
||||||
)
|
)
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_legacy_twai_self(dut: Dut) -> None:
|
def test_legacy_twai_self(dut: Dut) -> None:
|
||||||
dut.run_all_single_board_cases(group='twai-loop-back')
|
dut.run_all_single_board_cases(group='twai-loop-back')
|
||||||
|
|
||||||
@@ -95,7 +94,6 @@ def fixture_create_socket_can() -> Bus:
|
|||||||
@idf_parametrize(
|
@idf_parametrize(
|
||||||
'target', ['esp32', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32s2', 'esp32s3', 'esp32p4'], indirect=['target']
|
'target', ['esp32', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32s2', 'esp32s3', 'esp32p4'], indirect=['target']
|
||||||
)
|
)
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_legacy_twai_listen_only(dut: Dut, socket_can: Bus) -> None:
|
def test_legacy_twai_listen_only(dut: Dut, socket_can: Bus) -> None:
|
||||||
esp_reset_and_wait_ready(dut)
|
esp_reset_and_wait_ready(dut)
|
||||||
|
|
||||||
@@ -126,7 +124,6 @@ def test_legacy_twai_listen_only(dut: Dut, socket_can: Bus) -> None:
|
|||||||
@idf_parametrize(
|
@idf_parametrize(
|
||||||
'target', ['esp32', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32s2', 'esp32s3', 'esp32p4'], indirect=['target']
|
'target', ['esp32', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32s2', 'esp32s3', 'esp32p4'], indirect=['target']
|
||||||
)
|
)
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_legacy_twai_remote_request(dut: Dut, socket_can: Bus) -> None:
|
def test_legacy_twai_remote_request(dut: Dut, socket_can: Bus) -> None:
|
||||||
esp_reset_and_wait_ready(dut)
|
esp_reset_and_wait_ready(dut)
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
components/esp_driver_twai/test_apps/test_twai:
|
components/esp_driver_twai/test_apps/test_twai:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_TWAI_SUPPORTED != 1
|
- if: SOC_TWAI_SUPPORTED != 1
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: p4 rev3 migration # TODO: IDF-14393
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- esp_driver_twai
|
- esp_driver_twai
|
||||||
- esp_hal_twai
|
- esp_hal_twai
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-S2 | ESP32-S3 |
|
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- |
|
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- |
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ from pytest_embedded_idf.utils import soc_filtered_targets
|
|||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', ['release', 'cache_safe'], indirect=True)
|
@pytest.mark.parametrize('config', ['release', 'cache_safe'], indirect=True)
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_driver_twai_loopbk(dut: Dut) -> None:
|
def test_driver_twai_loopbk(dut: Dut) -> None:
|
||||||
dut.run_all_single_board_cases(group='twai', reset=True)
|
dut.run_all_single_board_cases(group='twai', reset=True)
|
||||||
|
|
||||||
@@ -78,7 +77,6 @@ def fixture_create_socket_can() -> Bus:
|
|||||||
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner')
|
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner')
|
||||||
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_driver_twai_listen_only(dut: Dut, socket_can: Bus) -> None:
|
def test_driver_twai_listen_only(dut: Dut, socket_can: Bus) -> None:
|
||||||
esp_reset_and_wait_ready(dut)
|
esp_reset_and_wait_ready(dut)
|
||||||
|
|
||||||
@@ -101,7 +99,6 @@ def test_driver_twai_listen_only(dut: Dut, socket_can: Bus) -> None:
|
|||||||
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner')
|
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner')
|
||||||
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
@pytest.mark.parametrize('config', ['release'], indirect=True)
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_driver_twai_remote_request(dut: Dut, socket_can: Bus) -> None:
|
def test_driver_twai_remote_request(dut: Dut, socket_can: Bus) -> None:
|
||||||
esp_reset_and_wait_ready(dut)
|
esp_reset_and_wait_ready(dut)
|
||||||
|
|
||||||
|
|||||||
@@ -713,10 +713,6 @@ examples/peripherals/touch_sensor/touch_sens_sleep:
|
|||||||
examples/peripherals/twai/cybergear:
|
examples/peripherals/twai/cybergear:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_TWAI_SUPPORTED != 1
|
- if: SOC_TWAI_SUPPORTED != 1
|
||||||
disable_test:
|
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: p4 rev3 migration # TODO: IDF-14393
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- esp_driver_twai
|
- esp_driver_twai
|
||||||
- esp_hal_twai
|
- esp_hal_twai
|
||||||
@@ -725,10 +721,6 @@ examples/peripherals/twai/cybergear:
|
|||||||
examples/peripherals/twai/twai_error_recovery:
|
examples/peripherals/twai/twai_error_recovery:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_TWAI_SUPPORTED != 1
|
- if: SOC_TWAI_SUPPORTED != 1
|
||||||
disable_test:
|
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: p4 rev3 migration # TODO: IDF-14393
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- esp_driver_twai
|
- esp_driver_twai
|
||||||
- esp_hal_twai
|
- esp_hal_twai
|
||||||
@@ -737,10 +729,6 @@ examples/peripherals/twai/twai_error_recovery:
|
|||||||
examples/peripherals/twai/twai_network/twai_listen_only:
|
examples/peripherals/twai/twai_network/twai_listen_only:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_TWAI_SUPPORTED != 1
|
- if: SOC_TWAI_SUPPORTED != 1
|
||||||
disable_test:
|
|
||||||
- if: IDF_TARGET in ["esp32p4", "esp32h2"]
|
|
||||||
temporary: true
|
|
||||||
reason: p4 rev3 migration # TODO: IDF-14393
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- esp_driver_twai
|
- esp_driver_twai
|
||||||
- esp_hal_twai
|
- esp_hal_twai
|
||||||
@@ -749,10 +737,6 @@ examples/peripherals/twai/twai_network/twai_listen_only:
|
|||||||
examples/peripherals/twai/twai_network/twai_sender:
|
examples/peripherals/twai/twai_network/twai_sender:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_TWAI_SUPPORTED != 1
|
- if: SOC_TWAI_SUPPORTED != 1
|
||||||
disable_test:
|
|
||||||
- if: IDF_TARGET in ["esp32p4", "esp32c5"]
|
|
||||||
temporary: true
|
|
||||||
reason: p4 rev3 migration # TODO: IDF-14393
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- esp_driver_twai
|
- esp_driver_twai
|
||||||
- esp_hal_twai
|
- esp_hal_twai
|
||||||
@@ -761,10 +745,6 @@ examples/peripherals/twai/twai_network/twai_sender:
|
|||||||
examples/peripherals/twai/twai_utils:
|
examples/peripherals/twai/twai_utils:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_TWAI_SUPPORTED != 1
|
- if: SOC_TWAI_SUPPORTED != 1
|
||||||
disable_test:
|
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: p4 rev3 migration # TODO: IDF-14393
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- esp_driver_twai
|
- esp_driver_twai
|
||||||
- esp_hal_twai
|
- esp_hal_twai
|
||||||
|
|||||||
@@ -8,6 +8,5 @@ from pytest_embedded_idf.utils import soc_filtered_targets
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_cybergear_example(dut: Dut) -> None:
|
def test_cybergear_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('CyberGear console started')
|
dut.expect_exact('CyberGear console started')
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
# SPDX-FileCopyrightText: 2025-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
import os.path
|
import os.path
|
||||||
import subprocess
|
import subprocess
|
||||||
@@ -7,9 +7,6 @@ import pytest
|
|||||||
from can import Bus
|
from can import Bus
|
||||||
from can import Message
|
from can import Message
|
||||||
from pytest_embedded_idf import IdfDut
|
from pytest_embedded_idf import IdfDut
|
||||||
from pytest_embedded_idf.utils import soc_filtered_targets
|
|
||||||
|
|
||||||
TWAI_SUPPORTED_TARGETS = soc_filtered_targets('SOC_TWAI_SUPPORTED == 1')
|
|
||||||
|
|
||||||
|
|
||||||
# Socket CAN fixture
|
# Socket CAN fixture
|
||||||
@@ -27,17 +24,6 @@ def fixture_create_socket_can() -> Bus:
|
|||||||
subprocess.run(stop_command, shell=True, capture_output=True, text=True)
|
subprocess.run(stop_command, shell=True, capture_output=True, text=True)
|
||||||
|
|
||||||
|
|
||||||
# Generate minimal combinations that each target appears in each app
|
|
||||||
def generate_target_combinations(target_list: list, count: int = 2) -> list:
|
|
||||||
combinations = []
|
|
||||||
num_targets = len(target_list)
|
|
||||||
for round_num in range(num_targets):
|
|
||||||
selected_targets = [target_list[(round_num + i) % num_targets] for i in range(count)]
|
|
||||||
combinations.append('|'.join(selected_targets))
|
|
||||||
|
|
||||||
return combinations
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.twai_std
|
@pytest.mark.twai_std
|
||||||
@pytest.mark.parametrize('count', [2], indirect=True)
|
@pytest.mark.parametrize('count', [2], indirect=True)
|
||||||
@pytest.mark.timeout(120)
|
@pytest.mark.timeout(120)
|
||||||
@@ -49,16 +35,24 @@ def generate_target_combinations(target_list: list, count: int = 2) -> list:
|
|||||||
f'{os.path.join(os.path.dirname(__file__), "twai_sender")}',
|
f'{os.path.join(os.path.dirname(__file__), "twai_sender")}',
|
||||||
target_combo,
|
target_combo,
|
||||||
)
|
)
|
||||||
for target_combo in generate_target_combinations(TWAI_SUPPORTED_TARGETS)
|
for target_combo in [ # Test each target combination and its reverse
|
||||||
|
'esp32|esp32c6',
|
||||||
|
'esp32c6|esp32',
|
||||||
|
'esp32s2|esp32h2',
|
||||||
|
'esp32h2|esp32s2',
|
||||||
|
'esp32s3|esp32p4',
|
||||||
|
'esp32p4|esp32s3',
|
||||||
|
'esp32c3|esp32c5',
|
||||||
|
'esp32c5|esp32c3',
|
||||||
|
]
|
||||||
],
|
],
|
||||||
indirect=True,
|
indirect=True,
|
||||||
)
|
)
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4,*', '*,esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_network_multi(dut: tuple[IdfDut, IdfDut], socket_can: Bus) -> None:
|
def test_twai_network_multi(dut: tuple[IdfDut, IdfDut], socket_can: Bus) -> None:
|
||||||
"""
|
"""
|
||||||
Test TWAI network communication between two nodes:
|
Test TWAI network communication between two nodes:
|
||||||
- dut[0]: listener (first chip) - uses twai_listen_only
|
- dut[0]: twai_listen_only
|
||||||
- dut[1]: sender (second chip) - uses twai_sender
|
- dut[1]: twai_sender
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Print chip information for debugging
|
# Print chip information for debugging
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
# SPDX-FileCopyrightText: 2025-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
@@ -310,7 +310,6 @@ def usb_can() -> CanBusManager:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_basic_operations(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_basic_operations(twai: TwaiTestHelper) -> None:
|
||||||
with twai.session(start_dump=False):
|
with twai.session(start_dump=False):
|
||||||
# Test basic send operation
|
# Test basic send operation
|
||||||
@@ -329,7 +328,6 @@ def test_twai_utils_basic_operations(twai: TwaiTestHelper) -> None:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_bitrate_configuration(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_bitrate_configuration(twai: TwaiTestHelper) -> None:
|
||||||
for bitrate in [125000, 250000, 500000, 1000000]:
|
for bitrate in [125000, 250000, 500000, 1000000]:
|
||||||
with twai.session(mode='standard', bitrate=bitrate, tx_gpio=DEFAULT_TX_GPIO, rx_gpio=DEFAULT_RX_GPIO):
|
with twai.session(mode='standard', bitrate=bitrate, tx_gpio=DEFAULT_TX_GPIO, rx_gpio=DEFAULT_RX_GPIO):
|
||||||
@@ -338,7 +336,6 @@ def test_twai_utils_bitrate_configuration(twai: TwaiTestHelper) -> None:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_frame_formats(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_frame_formats(twai: TwaiTestHelper) -> None:
|
||||||
with twai.session():
|
with twai.session():
|
||||||
BASIC_FRAMES = [
|
BASIC_FRAMES = [
|
||||||
@@ -369,7 +366,6 @@ def test_twai_utils_frame_formats(twai: TwaiTestHelper) -> None:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_info_and_recovery(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_info_and_recovery(twai: TwaiTestHelper) -> None:
|
||||||
with twai.session():
|
with twai.session():
|
||||||
assert twai.info(), 'Info command failed'
|
assert twai.info(), 'Info command failed'
|
||||||
@@ -390,7 +386,6 @@ def test_twai_utils_info_and_recovery(twai: TwaiTestHelper) -> None:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_input_validation(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_input_validation(twai: TwaiTestHelper) -> None:
|
||||||
with twai.session(start_dump=False):
|
with twai.session(start_dump=False):
|
||||||
INVALID_FRAMES = [
|
INVALID_FRAMES = [
|
||||||
@@ -437,7 +432,6 @@ def test_twai_utils_input_validation(twai: TwaiTestHelper) -> None:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_gpio_and_basic_send(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_gpio_and_basic_send(twai: TwaiTestHelper) -> None:
|
||||||
with twai.session():
|
with twai.session():
|
||||||
assert twai.info(), 'GPIO info failed'
|
assert twai.info(), 'GPIO info failed'
|
||||||
@@ -465,7 +459,6 @@ def test_twai_utils_gpio_and_basic_send(twai: TwaiTestHelper) -> None:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_send_various_frames(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_send_various_frames(twai: TwaiTestHelper) -> None:
|
||||||
with twai.session():
|
with twai.session():
|
||||||
# Boundary ID tests
|
# Boundary ID tests
|
||||||
@@ -499,7 +492,6 @@ def test_twai_utils_fd_frames(twai: TwaiTestHelper) -> None:
|
|||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration')
|
|
||||||
def test_twai_utils_mask_filters(twai: TwaiTestHelper) -> None:
|
def test_twai_utils_mask_filters(twai: TwaiTestHelper) -> None:
|
||||||
"""Test TWAI filtering including automatic extended frame detection."""
|
"""Test TWAI filtering including automatic extended frame detection."""
|
||||||
MASK_FILTER_GROUPS = [
|
MASK_FILTER_GROUPS = [
|
||||||
@@ -604,7 +596,6 @@ def test_twai_utils_range_filters(twai: TwaiTestHelper) -> None:
|
|||||||
@pytest.mark.twai_std
|
@pytest.mark.twai_std
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner')
|
@pytest.mark.temp_skip_ci(targets=['esp32h4'], reason='no runner')
|
||||||
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
@idf_parametrize('target', soc_filtered_targets('SOC_TWAI_SUPPORTED == 1'), indirect=['target'])
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='p4 rev3 migration # TODO: IDF-14393')
|
|
||||||
def test_twai_utils_external_communication(twai: TwaiTestHelper, usb_can: CanBusManager) -> None:
|
def test_twai_utils_external_communication(twai: TwaiTestHelper, usb_can: CanBusManager) -> None:
|
||||||
test_frames = [
|
test_frames = [
|
||||||
('123#DEADBEEF', 0x123, bytes.fromhex('DEADBEEF'), False),
|
('123#DEADBEEF', 0x123, bytes.fromhex('DEADBEEF'), False),
|
||||||
|
|||||||
Reference in New Issue
Block a user