esp-idf/tools/test_apps/.build-test-rules.yml
Alexey Lapshin 824c8e0593 feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000
This commit introduce SOC_MEM_NON_CONTIGUOUS_SRAM flag (that enebled for
esp32p4). If SOC_MEM_NON_CONTIGUOUS_SRAM is enabled:

- LDFLAGS+=--enable-non-contiguous-regions
- ldgen.py replaces "arrays[*]" from sections.ld.in with objects under
  SURROUND keyword. (e.g. from linker.lf: data -> dram0_data SURROUND(foo))
- "mapping[*]" - refers to all other data

If SOC_MEM_NON_CONTIGUOUS_SRAM, sections.ld.in file should contain at
least one block of code like this (otherwise it does not make sense):

  .dram0.bss (NOLOAD) :
  {
    arrays[dram0_bss]
    mapping[dram0_bss]
  } > sram_low

  .dram1.bss (NOLOAD) :
  {
    /* do not place here arrays[dram0_bss] because it may be splited
     * between segments */
    mapping[dram0_bss]
  } > sram_high
2024-02-28 19:41:25 +04:00

236 lines
7.3 KiB
YAML

# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/build_system/bootloader:
disable:
- if: IDF_TARGET == "linux"
reason: the test should run on all targets except linux
tools/test_apps/build_system/custom_partition_subtypes:
enable:
- if: IDF_TARGET in ["esp32", "linux"]
reason: the test should be run on ESP32 and linux
tools/test_apps/build_system/embed_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3"]
temporary: false
reason: Hardware independent feature, no need to test on all targets
tools/test_apps/build_system/ld_non_contiguous_memory:
disable:
- if: SOC_MEM_NON_CONTIGUOUS_SRAM != 1
tools/test_apps/linux_compatible/driver_mock:
enable:
- if: IDF_TARGET == "linux"
tools/test_apps/linux_compatible/linux_freertos:
enable:
- if: IDF_TARGET == "linux"
tools/test_apps/linux_compatible/wifi_build_test:
enable:
- if: IDF_TARGET == "linux"
disable_test:
- if: IDF_TARGET == "linux"
tools/test_apps/peripherals/i2c_wifi:
disable:
- if: SOC_I2C_SUPPORTED != 1 or SOC_WIFI_SUPPORTED != 1
tools/test_apps/phy/phy_multi_init_data_test:
disable:
- if: SOC_WIFI_SUPPORTED != 1
tools/test_apps/phy/phy_tsens:
disable:
- if: SOC_WIFI_SUPPORTED != 1 or SOC_TEMP_SENSOR_SUPPORTED != 1
depends_components:
- hal
- driver
- esp_phy
- esp_hw_support
- esp_wifi
tools/test_apps/protocols/esp_netif/build_config:
enable:
- if: IDF_TARGET in ["esp32", "esp32c2"]
temporary: false
reason: No need to test on all targets
tools/test_apps/protocols/mqtt/publish_connect_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "esp32s2"]
temporary: true
reason: the other targets are not tested yet
disable_test:
- if: IDF_TARGET == "esp32s2" or IDF_TARGET == "esp32c3"
temporary: true
reason: lack of runners
depends_components:
- esp_eth
depends_filepatterns:
- tools/ci/python_packages/common_test_methods.py
- examples/common_components/**/*
- examples/protocols/**/*
- examples/system/ota/**/*
- examples/ethernet/iperf/**/*
- examples/network/vlan_support/**/*
- components/esp_netif/esp_netif_handlers.c
tools/test_apps/protocols/netif_components:
enable:
- if: IDF_TARGET == "esp32"
temporary: true
reason: one target is enough to verify netif component dependencies
tools/test_apps/security/secure_boot:
disable:
- if: IDF_ENV_FPGA != 1
reason: the test can only run on an FPGA as efuses need to be reset during the test.
tools/test_apps/security/signed_app_no_secure_boot:
enable:
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
temporary: true
reason: No need to test on all targets
tools/test_apps/storage/partition_table_readonly:
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32c3"]
reason: these chips should be sufficient for test coverage (Xtensa and RISC-V, single and dual core)
disable:
- if: CONFIG_NAME == "encrypted"
temporary: true
reason: there are potential bugs with pytest when using flash encryption and NVS partition with nvs_create_partition_image #TODO: IDF-8300
depends_components:
- partition_table
- spi_flash
- esp_partition
- nvs_flash
- vfs
- fatfs
- spiffs
tools/test_apps/storage/sdmmc_console:
disable:
- if: IDF_TARGET in ["esp32h2"]
temporary: true
reason: Console component not supported on H2 yet
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32s2", "esp32c3"]
temporary: true
reason: No runners for other targets yet
depends_components:
- sdmmc
- esp_driver_sdmmc
- esp_driver_sdspi
tools/test_apps/system/bootloader_sections:
disable:
- if: IDF_TARGET == "esp32c2"
temporary: true
reason: target esp32c2 is not supported yet
tools/test_apps/system/build_test:
disable:
# For ROM impl build tests, disable them if none of the tested features are supported in the ROM
- if: CONFIG_NAME == "rom_impl_components" and ((ESP_ROM_HAS_HAL_WDT != 1 and ESP_ROM_HAS_HAL_SYSTIMER != 1) and (ESP_ROM_HAS_HEAP_TLSF != 1 and ESP_ROM_HAS_SPI_FLASH != 1))
- if: CONFIG_NAME == "no_rom_impl_components" and ((ESP_ROM_HAS_HAL_WDT != 1 and ESP_ROM_HAS_HAL_SYSTIMER != 1) and (ESP_ROM_HAS_HEAP_TLSF != 1 and ESP_ROM_HAS_SPI_FLASH != 1))
- if: CONFIG_NAME == "no_rvfplib" and ESP_ROM_HAS_RVFPLIB != 1
- if: CONFIG_NAME == "usb_serial_jtag" AND SOC_USB_SERIAL_JTAG_SUPPORTED != 1
- if: CONFIG_NAME == "usb_console_ets_printf" AND SOC_USB_OTG_SUPPORTED != 1
- if: CONFIG_NAME == "phy_multiple_init_data" AND IDF_TARGET == "esp32p4" # Update with caps here when IDF-7460 is resolved
tools/test_apps/system/cxx_no_except:
enable:
- if: IDF_TARGET == "esp32" or IDF_TARGET == "esp32c3"
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/cxx_pthread_bluetooth:
enable:
- if: IDF_TARGET in ["esp32", "esp32c2", "esp32c3", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not supported yet
tools/test_apps/system/eh_frame:
enable:
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/esp_intr_dump:
disable_test:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: test not pass, should be re-enable # TODO: IDF-8991
tools/test_apps/system/g0_components:
enable:
- if: INCLUDE_DEFAULT == 1 or IDF_TARGET in ["esp32p4", "esp32c5"] # preview targets
tools/test_apps/system/g1_components:
tools/test_apps/system/gdb_loadable_elf:
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
disable:
- if: IDF_TARGET == "esp32c6" or IDF_TARGET == "esp32h2"
temporary: true
reason: target esp32c6, esp32h2 is not supported yet
tools/test_apps/system/gdbstub_runtime:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported yet #TODO: IDF-7510
tools/test_apps/system/longjmp_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not tested yet
disable_test:
- if: IDF_TARGET == "esp32s3"
temporary: true
reason: lack of runners
tools/test_apps/system/memprot:
enable:
- if: IDF_TARGET in ["esp32c3", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/no_embedded_paths:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "esp32s2"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/panic:
disable:
- if: IDF_TARGET in ["esp32p4"]
temporary: true
reason: target(s) not supported yet # TODO: IDF-7511
tools/test_apps/system/ram_loadable_app:
disable_test:
- if: IDF_TARGET in ["esp32p4"]
temporary: true
reason: TBD # TODO: IDF-8994
tools/test_apps/system/startup:
disable:
- if: CONFIG_NAME == "main_task_cpu1" and IDF_TARGET not in ["esp32", "esp32s3"]
tools/test_apps/system/test_watchpoint:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3"] # Just one test per architecture
tools/test_apps/system/unicore_bootloader:
enable:
- if: SOC_CPU_CORES_NUM > 1
reason: the test should be run on multicore chips