kopia lustrzana https://github.com/espressif/esp-idf
ci(p4): enable esp32p4 target test
rodzic
20f80a2d05
commit
1ab742b3c3
|
@ -180,6 +180,15 @@ build_pytest_examples_esp32h2:
|
||||||
IDF_TARGET: esp32h2
|
IDF_TARGET: esp32h2
|
||||||
TEST_DIR: examples
|
TEST_DIR: examples
|
||||||
|
|
||||||
|
build_pytest_examples_esp32p4:
|
||||||
|
extends:
|
||||||
|
- .build_pytest_no_jtag_template
|
||||||
|
- .rules:build:example_test-esp32p4
|
||||||
|
parallel: 2
|
||||||
|
variables:
|
||||||
|
IDF_TARGET: esp32p4
|
||||||
|
TEST_DIR: examples
|
||||||
|
|
||||||
build_pytest_examples_jtag: # for all targets
|
build_pytest_examples_jtag: # for all targets
|
||||||
extends:
|
extends:
|
||||||
- .build_pytest_jtag_template
|
- .build_pytest_jtag_template
|
||||||
|
@ -251,6 +260,15 @@ build_pytest_components_esp32h2:
|
||||||
IDF_TARGET: esp32h2
|
IDF_TARGET: esp32h2
|
||||||
TEST_DIR: components
|
TEST_DIR: components
|
||||||
|
|
||||||
|
build_pytest_components_esp32p4:
|
||||||
|
extends:
|
||||||
|
- .build_pytest_template
|
||||||
|
- .rules:build:component_ut-esp32p4
|
||||||
|
parallel: 4
|
||||||
|
variables:
|
||||||
|
IDF_TARGET: esp32p4
|
||||||
|
TEST_DIR: components
|
||||||
|
|
||||||
build_only_components_apps:
|
build_only_components_apps:
|
||||||
extends:
|
extends:
|
||||||
- .build_cmake_template
|
- .build_cmake_template
|
||||||
|
@ -324,6 +342,14 @@ build_pytest_test_apps_esp32h2:
|
||||||
IDF_TARGET: esp32h2
|
IDF_TARGET: esp32h2
|
||||||
TEST_DIR: tools/test_apps
|
TEST_DIR: tools/test_apps
|
||||||
|
|
||||||
|
build_pytest_test_apps_esp32p4:
|
||||||
|
extends:
|
||||||
|
- .build_pytest_template
|
||||||
|
- .rules:build:custom_test-esp32p4
|
||||||
|
variables:
|
||||||
|
IDF_TARGET: esp32p4
|
||||||
|
TEST_DIR: tools/test_apps
|
||||||
|
|
||||||
build_only_tools_test_apps:
|
build_only_tools_test_apps:
|
||||||
extends:
|
extends:
|
||||||
- .build_cmake_template
|
- .build_cmake_template
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
extra_default_build_targets:
|
extra_default_build_targets:
|
||||||
- esp32p4
|
- esp32p4
|
||||||
|
|
||||||
bypass_check_test_targets:
|
# bypass_check_test_targets:
|
||||||
- esp32p4
|
# - esp32p4
|
||||||
#
|
#
|
||||||
# These lines would
|
# These lines would
|
||||||
# - enable the README.md check for esp32c6. Don't forget to add the build jobs in .gitlab/ci/build.yml
|
# - enable the README.md check for esp32c6. Don't forget to add the build jobs in .gitlab/ci/build.yml
|
||||||
|
|
|
@ -830,6 +830,44 @@
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-target_test-wifi
|
changes: *patterns-target_test-wifi
|
||||||
|
|
||||||
|
.rules:build:component_ut-esp32p4:
|
||||||
|
rules:
|
||||||
|
- <<: *if-revert-branch
|
||||||
|
when: never
|
||||||
|
- <<: *if-protected
|
||||||
|
- <<: *if-label-build
|
||||||
|
- <<: *if-label-component_ut
|
||||||
|
- <<: *if-label-component_ut_esp32p4
|
||||||
|
- <<: *if-label-target_test
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-build_components
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-build_system
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut-adc
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut-flash_multi
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut-i154
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut-nvs_encr_hmac
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut-sdio
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut-usb
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut-wifi
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-downloadable-tools
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-target_test-adc
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-target_test-ecdsa
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-target_test-wifi
|
||||||
|
|
||||||
.rules:build:component_ut-esp32s2:
|
.rules:build:component_ut-esp32s2:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-revert-branch
|
- <<: *if-revert-branch
|
||||||
|
@ -1069,6 +1107,32 @@
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-target_test-wifi
|
changes: *patterns-target_test-wifi
|
||||||
|
|
||||||
|
.rules:build:custom_test-esp32p4:
|
||||||
|
rules:
|
||||||
|
- <<: *if-revert-branch
|
||||||
|
when: never
|
||||||
|
- <<: *if-protected
|
||||||
|
- <<: *if-label-build
|
||||||
|
- <<: *if-label-custom_test
|
||||||
|
- <<: *if-label-custom_test_esp32p4
|
||||||
|
- <<: *if-label-target_test
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-build_components
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-build_system
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-custom_test
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-custom_test-wifi
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-downloadable-tools
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-target_test-adc
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-target_test-ecdsa
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-target_test-wifi
|
||||||
|
|
||||||
.rules:build:custom_test-esp32s2:
|
.rules:build:custom_test-esp32s2:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-revert-branch
|
- <<: *if-revert-branch
|
||||||
|
@ -1871,6 +1935,19 @@
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-target_test-ecdsa
|
changes: *patterns-target_test-ecdsa
|
||||||
|
|
||||||
|
.rules:test:component_ut-esp32p4:
|
||||||
|
rules:
|
||||||
|
- <<: *if-revert-branch
|
||||||
|
when: never
|
||||||
|
- <<: *if-protected
|
||||||
|
- <<: *if-label-build-only
|
||||||
|
when: never
|
||||||
|
- <<: *if-label-component_ut
|
||||||
|
- <<: *if-label-component_ut_esp32p4
|
||||||
|
- <<: *if-label-target_test
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-component_ut
|
||||||
|
|
||||||
.rules:test:component_ut-esp32s2:
|
.rules:test:component_ut-esp32s2:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-revert-branch
|
- <<: *if-revert-branch
|
||||||
|
@ -2089,6 +2166,19 @@
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-custom_test
|
changes: *patterns-custom_test
|
||||||
|
|
||||||
|
.rules:test:custom_test-esp32p4:
|
||||||
|
rules:
|
||||||
|
- <<: *if-revert-branch
|
||||||
|
when: never
|
||||||
|
- <<: *if-protected
|
||||||
|
- <<: *if-label-build-only
|
||||||
|
when: never
|
||||||
|
- <<: *if-label-custom_test
|
||||||
|
- <<: *if-label-custom_test_esp32p4
|
||||||
|
- <<: *if-label-target_test
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-custom_test
|
||||||
|
|
||||||
.rules:test:custom_test-esp32s2:
|
.rules:test:custom_test-esp32s2:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-revert-branch
|
- <<: *if-revert-branch
|
||||||
|
@ -2425,6 +2515,21 @@
|
||||||
- <<: *if-dev-push
|
- <<: *if-dev-push
|
||||||
changes: *patterns-target_test-adc
|
changes: *patterns-target_test-adc
|
||||||
|
|
||||||
|
.rules:test:example_test-esp32p4:
|
||||||
|
rules:
|
||||||
|
- <<: *if-revert-branch
|
||||||
|
when: never
|
||||||
|
- <<: *if-protected
|
||||||
|
- <<: *if-label-build-only
|
||||||
|
when: never
|
||||||
|
- <<: *if-label-example_test
|
||||||
|
- <<: *if-label-example_test_esp32p4
|
||||||
|
- <<: *if-label-target_test
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-build-example_test
|
||||||
|
- <<: *if-dev-push
|
||||||
|
changes: *patterns-example_test
|
||||||
|
|
||||||
.rules:test:example_test-esp32s2:
|
.rules:test:example_test-esp32s2:
|
||||||
rules:
|
rules:
|
||||||
- <<: *if-revert-branch
|
- <<: *if-revert-branch
|
||||||
|
|
|
@ -247,6 +247,15 @@ pytest_examples_esp32h2_generic:
|
||||||
artifacts: false
|
artifacts: false
|
||||||
tags: [ esp32h2, generic ]
|
tags: [ esp32h2, generic ]
|
||||||
|
|
||||||
|
pytest_examples_esp32p4_generic:
|
||||||
|
extends:
|
||||||
|
- .pytest_examples_dir_template
|
||||||
|
- .rules:test:example_test-esp32p4
|
||||||
|
needs:
|
||||||
|
- job: build_pytest_examples_esp32p4
|
||||||
|
artifacts: false
|
||||||
|
tags: [ esp32p4, generic ]
|
||||||
|
|
||||||
pytest_examples_esp32_ethernet_ota:
|
pytest_examples_esp32_ethernet_ota:
|
||||||
extends:
|
extends:
|
||||||
- .pytest_examples_dir_template
|
- .pytest_examples_dir_template
|
||||||
|
@ -1253,6 +1262,16 @@ pytest_components_esp32h2_generic:
|
||||||
tags: [ esp32h2, generic ]
|
tags: [ esp32h2, generic ]
|
||||||
parallel: 2
|
parallel: 2
|
||||||
|
|
||||||
|
pytest_components_esp32p4_generic:
|
||||||
|
extends:
|
||||||
|
- .pytest_components_dir_template
|
||||||
|
- .rules:test:component_ut-esp32p4
|
||||||
|
needs:
|
||||||
|
- job: build_pytest_components_esp32p4
|
||||||
|
artifacts: false
|
||||||
|
tags: [ esp32p4, generic ]
|
||||||
|
parallel: 2
|
||||||
|
|
||||||
pytest_components_esp32h2_generic_multi_device:
|
pytest_components_esp32h2_generic_multi_device:
|
||||||
extends:
|
extends:
|
||||||
- .pytest_components_dir_template
|
- .pytest_components_dir_template
|
||||||
|
@ -1522,6 +1541,15 @@ pytest_test_apps_esp32h2_generic:
|
||||||
artifacts: false
|
artifacts: false
|
||||||
tags: [ esp32h2, generic ]
|
tags: [ esp32h2, generic ]
|
||||||
|
|
||||||
|
pytest_test_apps_esp32p4_generic:
|
||||||
|
extends:
|
||||||
|
- .pytest_test_apps_dir_template
|
||||||
|
- .rules:test:custom_test-esp32p4
|
||||||
|
needs:
|
||||||
|
- job: build_pytest_test_apps_esp32p4
|
||||||
|
artifacts: false
|
||||||
|
tags: [ esp32p4, generic ]
|
||||||
|
|
||||||
pytest_test_apps_esp32s3_mspi_f8r8:
|
pytest_test_apps_esp32s3_mspi_f8r8:
|
||||||
extends:
|
extends:
|
||||||
- .pytest_test_apps_dir_template
|
- .pytest_test_apps_dir_template
|
||||||
|
|
|
@ -19,7 +19,7 @@ def run_multiple_stages(dut: Dut, test_case_num: int, stages: int) -> None:
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2'], reason='c6/h2 support TBD')
|
@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2', 'esp32p4'], reason='c6/h2 support TBD')
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_app_update(dut: Dut) -> None:
|
def test_app_update(dut: Dut) -> None:
|
||||||
extra_data = dut.parse_test_menu()
|
extra_data = dut.parse_test_menu()
|
||||||
|
|
|
@ -6,6 +6,7 @@ from pytest_embedded import Dut
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='esp32p4 support TBD')
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -9,6 +9,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', [
|
@pytest.mark.parametrize('config', [
|
||||||
'release',
|
'release',
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c2
|
@pytest.mark.esp32c2
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', [
|
@pytest.mark.parametrize('config', [
|
||||||
'release',
|
'release',
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded_idf import IdfDut
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
@pytest.mark.esp32s2
|
@pytest.mark.esp32s2
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
components/efuse/test_apps:
|
components/efuse/test_apps:
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET in ["esp32s2", "esp32s3"]
|
- if: IDF_TARGET in ["esp32s2", "esp32s3", "esp32p4"]
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: eFuse for S2 and S3 is similar to the C3 chip, so we only test for C3.
|
reason: eFuse for S2 and S3 is similar to the C3 chip, so we only test for C3. P4 not tested yet.
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_EFUSE_SUPPORTED != 1
|
- if: SOC_EFUSE_SUPPORTED != 1
|
||||||
|
|
|
@ -7,6 +7,7 @@ from pytest_embedded import Dut
|
||||||
|
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='esp32p4 support TBD')
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
[
|
[
|
||||||
|
|
|
@ -9,6 +9,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -17,6 +17,7 @@ CONFIGS = [
|
||||||
@pytest.mark.esp32s2
|
@pytest.mark.esp32s2
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', CONFIGS, indirect=True)
|
@pytest.mark.parametrize('config', CONFIGS, indirect=True)
|
||||||
def test_sdm(dut: IdfDut) -> None:
|
def test_sdm(dut: IdfDut) -> None:
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
components/esp_driver_sdmmc/test_apps/sdmmc:
|
components/esp_driver_sdmmc/test_apps/sdmmc:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_SDMMC_HOST_SUPPORTED != 1
|
- if: SOC_SDMMC_HOST_SUPPORTED != 1
|
||||||
|
disable_test:
|
||||||
|
- if: IDF_TARGET == "esp32p4"
|
||||||
|
temporary: true
|
||||||
|
reason: lack of runner
|
||||||
|
|
||||||
depends_components:
|
depends_components:
|
||||||
- sdmmc
|
- sdmmc
|
||||||
- esp_driver_sdmmc
|
- esp_driver_sdmmc
|
||||||
|
|
|
@ -11,6 +11,7 @@ import pytest
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_slave_hd_single_dev(case_tester) -> None: # type: ignore
|
def test_slave_hd_single_dev(case_tester) -> None: # type: ignore
|
||||||
for case in case_tester.test_menu:
|
for case in case_tester.test_menu:
|
||||||
|
|
|
@ -12,6 +12,7 @@ from pytest_embedded_idf.unity_tester import CaseTester
|
||||||
@pytest.mark.esp32c2
|
@pytest.mark.esp32c2
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', [
|
@pytest.mark.parametrize('config', [
|
||||||
'release',
|
'release',
|
||||||
|
@ -22,6 +23,7 @@ def test_temperature_sensor_driver(dut: Dut) -> None:
|
||||||
|
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', [
|
@pytest.mark.parametrize('config', [
|
||||||
'iram_safe',
|
'iram_safe',
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -7,6 +7,7 @@ from pytest_embedded import Dut
|
||||||
|
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -33,6 +33,6 @@ def test_rtc_no_xtal32k(dut: Dut) -> None:
|
||||||
|
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2'], reason='c6/h2 support TBD')
|
@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2', 'esp32p4'], reason='c6/h2/p4 support TBD')
|
||||||
def test_rtc_calib(case_tester: Any) -> None:
|
def test_rtc_calib(case_tester: Any) -> None:
|
||||||
case_tester.run_all_multi_stage_cases()
|
case_tester.run_all_multi_stage_cases()
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_esp_rom(dut: Dut) -> None:
|
def test_esp_rom(dut: Dut) -> None:
|
||||||
dut.run_all_single_board_cases()
|
dut.run_all_single_board_cases()
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
# SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from pytest_embedded import Dut
|
from pytest_embedded import Dut
|
||||||
|
|
||||||
CONFIGS = [
|
CONFIGS = [
|
||||||
pytest.param('general', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32h2'], reason='h2 support TBD')]),
|
pytest.param('general', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32h2', 'esp32p4'], reason='h2/p4 support TBD')]),
|
||||||
pytest.param('release', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32h2'], reason='h2 support TBD')]),
|
pytest.param('release', marks=[pytest.mark.supported_targets, pytest.mark.temp_skip_ci(targets=['esp32h2', 'esp32p4'], reason='h2/p4 support TBD')]),
|
||||||
pytest.param('single_core', marks=[pytest.mark.esp32]),
|
pytest.param('single_core', marks=[pytest.mark.esp32]),
|
||||||
pytest.param('freertos_compliance', marks=[pytest.mark.esp32]),
|
pytest.param('freertos_compliance', marks=[pytest.mark.esp32]),
|
||||||
pytest.param('isr_dispatch_esp32', marks=[pytest.mark.esp32]),
|
pytest.param('isr_dispatch_esp32', marks=[pytest.mark.esp32]),
|
||||||
|
|
|
@ -31,6 +31,7 @@ def validate_sbom(dut: Dut) -> None:
|
||||||
assert toolchain_newlib_version == sbom_newlib_version, 'toolchain_newlib_version != sbom_newlib_version'
|
assert toolchain_newlib_version == sbom_newlib_version, 'toolchain_newlib_version != sbom_newlib_version'
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='esp32p4 support TBD')
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -6,6 +6,7 @@ from pytest_embedded import Dut
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='esp32p4 support TBD')
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -3,6 +3,10 @@
|
||||||
components/ulp/test_apps/lp_core:
|
components/ulp/test_apps/lp_core:
|
||||||
disable:
|
disable:
|
||||||
- if: SOC_LP_CORE_SUPPORTED != 1
|
- if: SOC_LP_CORE_SUPPORTED != 1
|
||||||
|
disable_test:
|
||||||
|
- if: IDF_TARGET in ["esp32p4"]
|
||||||
|
temporary: true
|
||||||
|
reason: not tested yet
|
||||||
depends_components:
|
depends_components:
|
||||||
- ulp
|
- ulp
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
examples/build_system/cmake/import_lib:
|
examples/build_system/cmake/import_lib:
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET in ["esp32c2", "esp32c3", "esp32s2", "esp32s3", "esp32c6", "esp32h2"]
|
- if: IDF_TARGET in ["esp32c2", "esp32c3", "esp32s2", "esp32s3", "esp32c6", "esp32h2", "esp32p4"]
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: lack of runners
|
reason: lack of runners
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ import pytest
|
||||||
from pytest_embedded_idf.dut import IdfDut
|
from pytest_embedded_idf.dut import IdfDut
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='esp32p4 support TBD')
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_blink(dut: IdfDut) -> None:
|
def test_blink(dut: IdfDut) -> None:
|
||||||
|
|
|
@ -9,6 +9,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_hc_sr04_example(dut: Dut) -> None:
|
def test_hc_sr04_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('example: Install capture timer')
|
dut.expect_exact('example: Install capture timer')
|
||||||
|
|
|
@ -9,6 +9,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_servo_mg996r_example(dut: Dut) -> None:
|
def test_servo_mg996r_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('example: Create timer and operator')
|
dut.expect_exact('example: Create timer and operator')
|
||||||
|
|
|
@ -9,6 +9,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', [
|
@pytest.mark.parametrize('config', [
|
||||||
pytest.param('gpio', marks=[pytest.mark.esp32, pytest.mark.esp32s3]),
|
pytest.param('gpio', marks=[pytest.mark.esp32, pytest.mark.esp32s3]),
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded.dut import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_rotary_encoder(dut: Dut) -> None:
|
def test_rotary_encoder(dut: Dut) -> None:
|
||||||
dut.expect_exact('install pcnt unit')
|
dut.expect_exact('install pcnt unit')
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_dshot_esc_example(dut: Dut) -> None:
|
def test_dshot_esc_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('example: Create RMT TX channel')
|
dut.expect_exact('example: Create RMT TX channel')
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_led_strip_example(dut: Dut) -> None:
|
def test_led_strip_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('example: Create RMT TX channel')
|
dut.expect_exact('example: Create RMT TX channel')
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_musical_buzzer_example(dut: Dut) -> None:
|
def test_musical_buzzer_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('example: Create RMT TX channel')
|
dut.expect_exact('example: Create RMT TX channel')
|
||||||
|
|
|
@ -10,6 +10,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_onewire_example(dut: Dut) -> None:
|
def test_onewire_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('example: 1-Wire bus installed on GPIO')
|
dut.expect_exact('example: 1-Wire bus installed on GPIO')
|
||||||
|
|
|
@ -8,6 +8,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32s3
|
@pytest.mark.esp32s3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_stepper_motor_example(dut: Dut) -> None:
|
def test_stepper_motor_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('example: Initialize EN + DIR GPIO')
|
dut.expect_exact('example: Initialize EN + DIR GPIO')
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_sdm_dac_example(dut: Dut) -> None:
|
def test_sdm_dac_example(dut: Dut) -> None:
|
||||||
dut.expect(r'sdm_dac: Sigma-delta output is attached to GPIO \w+')
|
dut.expect(r'sdm_dac: Sigma-delta output is attached to GPIO \w+')
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded import Dut
|
||||||
@pytest.mark.esp32c3
|
@pytest.mark.esp32c3
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_sdm_led_example(dut: Dut) -> None:
|
def test_sdm_led_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('sdm_led: Install sigma delta channel')
|
dut.expect_exact('sdm_led: Install sigma delta channel')
|
||||||
|
|
|
@ -11,6 +11,7 @@ from pytest_embedded.dut import Dut
|
||||||
@pytest.mark.esp32c2
|
@pytest.mark.esp32c2
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_temp_sensor_example(dut: Dut) -> None:
|
def test_temp_sensor_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('Install temperature sensor')
|
dut.expect_exact('Install temperature sensor')
|
||||||
|
|
|
@ -7,6 +7,7 @@ from pytest_embedded.dut import Dut
|
||||||
|
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_temp_sensor_monitor_example(dut: Dut) -> None:
|
def test_temp_sensor_monitor_example(dut: Dut) -> None:
|
||||||
dut.expect_exact('Install temperature sensor')
|
dut.expect_exact('Install temperature sensor')
|
||||||
|
|
|
@ -7,6 +7,7 @@ from pytest_embedded import Dut
|
||||||
|
|
||||||
@pytest.mark.esp32c6
|
@pytest.mark.esp32c6
|
||||||
@pytest.mark.esp32h2
|
@pytest.mark.esp32h2
|
||||||
|
@pytest.mark.esp32p4
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_gptimer_capture(dut: Dut) -> None:
|
def test_gptimer_capture(dut: Dut) -> None:
|
||||||
dut.expect_exact('Configure trig gpio')
|
dut.expect_exact('Configure trig gpio')
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
examples/system/app_trace_basic:
|
examples/system/app_trace_basic:
|
||||||
disable:
|
disable:
|
||||||
- if: IDF_TARGET == "esp32c6" or IDF_TARGET == "esp32h2"
|
- if: IDF_TARGET in ["esp32c6", "esp32h2", "esp32p4"]
|
||||||
temporary: true
|
temporary: true
|
||||||
reason: target esp32c6, esp32h2 is not supported yet
|
reason: target esp32c6, esp32h2, esp32p4 is not supported yet
|
||||||
|
|
||||||
examples/system/base_mac_address:
|
examples/system/base_mac_address:
|
||||||
depends_components:
|
depends_components:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 |
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |
|
| ----------------- | ----- | -------- | -------- | -------- | -------- |
|
||||||
|
|
||||||
# Application Level Tracing Example (Basic)
|
# Application Level Tracing Example (Basic)
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ ONE_SHOT_TIMER_PERIOD = 5000000
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2'], reason='c6/h2 support TBD')
|
@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2', 'esp32p4'], reason='c6/h2/p4 support TBD')
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'config',
|
'config',
|
||||||
|
|
|
@ -8,6 +8,7 @@ import pytest
|
||||||
from pytest_embedded import Dut
|
from pytest_embedded import Dut
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='esp32p4 support TBD')
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_light_sleep(dut: Dut) -> None:
|
def test_light_sleep(dut: Dut) -> None:
|
||||||
|
|
|
@ -11,7 +11,7 @@ from dataclasses import dataclass
|
||||||
from _pytest.python import Function
|
from _pytest.python import Function
|
||||||
from pytest_embedded.utils import to_list
|
from pytest_embedded.utils import to_list
|
||||||
|
|
||||||
SUPPORTED_TARGETS = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2', 'esp32c6', 'esp32h2']
|
SUPPORTED_TARGETS = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2', 'esp32c6', 'esp32h2', 'esp32p4']
|
||||||
PREVIEW_TARGETS: t.List[str] = [] # this PREVIEW_TARGETS excludes 'linux' target
|
PREVIEW_TARGETS: t.List[str] = [] # this PREVIEW_TARGETS excludes 'linux' target
|
||||||
DEFAULT_SDKCONFIG = 'default'
|
DEFAULT_SDKCONFIG = 'default'
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ from pytest_embedded_idf.dut import IdfDut
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32h2'], reason='h2 does not support wifi')
|
@pytest.mark.temp_skip_ci(targets=['esp32h2', 'esp32p4'], reason='h2/p4 does not support wifi')
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_i2c_wifi_startup(dut: IdfDut) -> None:
|
def test_i2c_wifi_startup(dut: IdfDut) -> None:
|
||||||
dut.expect_exact('I2C-WIFI test success')
|
dut.expect_exact('I2C-WIFI test success')
|
||||||
|
|
|
@ -6,7 +6,7 @@ from pytest_embedded_idf.dut import IdfDut
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.temp_skip_ci(targets=['esp32h2'], reason='h2 not supported')
|
@pytest.mark.temp_skip_ci(targets=['esp32h2', 'esp32p4'], reason='h2/p4 not supported')
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
@pytest.mark.parametrize('config', [
|
@pytest.mark.parametrize('config', [
|
||||||
'phy_multiple_init_data',
|
'phy_multiple_init_data',
|
||||||
|
|
|
@ -19,6 +19,7 @@ def get_line_number(lookup: str, offset: int = 0) -> int:
|
||||||
return -1
|
return -1
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.temp_skip_ci(targets=['esp32p4'], reason='esp32p4 support TBD')
|
||||||
@pytest.mark.supported_targets
|
@pytest.mark.supported_targets
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_gdbstub_runtime(dut: PanicTestDut) -> None:
|
def test_gdbstub_runtime(dut: PanicTestDut) -> None:
|
||||||
|
|
Ładowanie…
Reference in New Issue