Commit Graph

578 Commits

Author SHA1 Message Date
morris
56760c9669 pcnt: refactor hal driver 2021-08-10 17:19:21 +08:00
Ivan Grokhotkov
95699a9260 Merge branch 'bugfix/libsodium_build_with_gnu_make' into 'master'
libsodium: fix build issues with GNU Make

Closes IDF-3673

See merge request espressif/esp-idf!14661
2021-08-08 07:20:02 +00:00
Sachin Parekh
6582f7070e Update tests for assert and abort
- Place panic_abort in IRAM
- Added abort, assert test case in case of cache disabled
- Expect assert instead of abort in a freertos_mutex test
2021-08-05 11:09:22 +05:30
Mahavir Jain
603e915d55 tools/unit_test_app: fixes to build this application with Make build 2021-08-05 12:28:09 +08:00
Konstantin Kondrashov
29f581fc70 freertos(esp32s3): SysTick uses systimer 2021-08-04 20:33:44 +08:00
Cao Sen Miao
247866261f Merge branch 'feature/flash_support_on_esp32s3' into 'master'
esp_flash: bringup ext flash chip on ESP32-S3

Closes IDF-2021 and IDF-3230

See merge request espressif/esp-idf!14523
2021-08-02 03:59:14 +00:00
Cao Sen Miao
992de2750e spi_flash: add support for ext flash 2021-07-31 14:11:35 +08:00
Armando
f2bfdec20f ci: enable external bss and external noinit test cases 2021-07-31 11:02:13 +08:00
Anton Maklakov
be8ef09a59 Merge branch 'feature/exception_emergency_pool_test_ci' into 'master'
[cxx]: Activate emergency exception memory pool test in CI

Closes IDF-1610

See merge request espressif/esp-idf!14143
2021-07-20 02:22:32 +00:00
Michael (XIAO Xufeng)
59195b6fb3 Merge branch 'bugfix/update_gdma_soc' into 'master'
gdma: alignment setting for PSRAM transfer

Closes IDF-1524

See merge request espressif/esp-idf!13976
2021-07-17 14:04:03 +00:00
Angus Gratton
f9d958a65d ut configs: Replace target component with esp_hw_support
No tests remaining in the target components.

Some further consolidations can be made here later, to combine target-specific
configs that don't need to be target-specific any more.
2021-07-16 20:14:28 +08:00
Angus Gratton
1e628c0f30 esp32h2: Build unit test app 2021-07-16 20:14:27 +08:00
Renz Bagaporo
7c22cccb9c esp32: cleanup build script 2021-07-16 20:14:27 +08:00
morris
d9819bc7ae gdma: set transfer ability 2021-07-16 14:47:09 +08:00
Marius Vikhammer
80acc1a002 CI: add S3 default_2 unit test config 2021-07-08 18:39:57 +08:00
Jakob Hasse
7edb808592 [cxx]: Activated emergency pool test to CI 2021-07-08 17:26:49 +08:00
Ivan Grokhotkov
969904cba6 unit-test-app: increase timer task size
FreeRTOS timer tests use quite a lot of stack, close to the limit on
the ESP32. ESP32-S3 has larger coprocessor save area, so there is less
space left for the actual stack, and the tests fail with a stack
overflow. Increase the stack size to make the tests work reliably.
2021-06-29 16:56:35 +02:00
Michael (XIAO Xufeng)
dbd9bfb280 test_utils: allow printint multiple argument in the performance log 2021-06-19 14:19:50 +08:00
Angus Gratton
e7f3099541 Merge branch 'bugfix/missing_extern_c' into 'master'
[test_utils]: added extern C decl to ccomp

See merge request espressif/esp-idf!13919
2021-06-16 01:47:27 +00:00
Marius Vikhammer
d9f5126d24 CI: enable running unit tests in CI for S3 2021-06-15 11:13:50 +08:00
Jakob Hasse
468b7ac6eb [test_utils]: added extern C decl to ccomp
Closes https://github.com/espressif/esp-idf/issues/7121
2021-06-09 15:37:21 +08:00
Cao Sen Miao
ed16e9b5d6 spi_flash: enable unit-test for flash suspend 2021-04-15 12:05:40 +08:00
Angus Gratton
936523b904 Merge branch 'feature/secure_bootv2_c3' into 'master'
secure_boot_v2: Support SB_V2 for ESP32-C3 ECO3

Closes IDF-2647

See merge request espressif/esp-idf!13040
2021-04-12 01:31:25 +00:00
KonstantinKondrashov
4fbfb03fe1 unit-test-app(config): CI uses ECO0 for esp32c3 UTs 2021-04-09 14:26:08 +08:00
Angus Gratton
202154ff1c ut: Exclude test_utils component from default_2_c3 config
Theory is that the large alignments in this test component are triggering linker
bug (to be fixed in next toolchain update). This component is already tested
in a dedicated config, so it doesn't need to be included in this config.
2021-04-08 13:33:28 +10:00
Angus Gratton
3c9e9a7704 Merge branch 'bugfix/renable_unit_tests' into 'master'
ci: enable previously disabled unit tests

See merge request espressif/esp-idf!12582
2021-04-01 03:23:22 +00:00
Michael (XIAO Xufeng)
5db528cda1 Merge branch 'bugfix/remove_spi_flash_qio_s2_cfg' into 'master'
ci: remove spi_flash_qio_s2 config

See merge request espressif/esp-idf!12927
2021-03-30 03:00:34 +00:00
Marius Vikhammer
b4d2fb56a0 ci: enable previously disabled unit tests 2021-03-29 18:36:41 +08:00
Marius Vikhammer
b99c973d9f ci: remove spi_flash_qio_s2 config
This config is already run for all targets in spi_flash_qio config
2021-03-26 16:46:21 +08:00
Marius Vikhammer
d3d145285d flash enc: add flash encryption unit and example test for C3 2021-03-25 17:51:22 +08:00
Fu Hanxi
2229e3635f ci(UT): add argument "node_index" in UnitTestParser 2021-03-15 16:04:42 +08:00
Anton Maklakov
3a629afb06 Merge branch 'feature/type_checking_python' into 'master'
CI:Type checking of Python scripts

Closes IDF-2413

See merge request espressif/esp-idf!12287
2021-02-26 03:06:37 +00:00
Angus Gratton
ecf2134bc4 Merge branch 'feature/libsodium_ut_enable' into 'master'
libsodium: Enables UTs for ESP32-S2 & C3

Closes IDF-1423

See merge request espressif/esp-idf!12497
2021-02-25 22:40:19 +00:00
KonstantinKondrashov
e29b99f1a5 libsodium: Enables UTs for ESP32-S2 & C3 2021-02-25 10:41:59 +00:00
Tomas Sebestik
a22597a2d6 Add mypy check to pre-commit-config 2021-02-25 07:05:43 +00:00
morris
7b37158ede rmt: distinguish group and channel in HAL layer 2021-02-25 12:42:23 +08:00
Angus Gratton
fb1488abba Merge branch 'feature/esp_timer_isr_dispatch_method_restore' into 'master'
esp timer: Add ISR dispatch method

Closes IDF-1172 and IDF-1173

See merge request espressif/esp-idf!11572
2021-02-23 06:21:14 +00:00
Fu Hanxi
7db83b26da style(pre-commit): unrelated changes 2021-02-10 14:50:07 +08:00
KonstantinKondrashov
63d4911cdb esp_timer: Add ESP_TIMER_ISR dispatch method
Using own spinlock for each list (TASK and ISR disp method)
Reduced the dependency of ISR on the TASK dispatch method
2021-02-08 19:10:11 +08:00
Michael (XIAO Xufeng)
747ac00f9b Merge branch 'bugfix/flash_encyption_80Mflash_40Mram' into 'master'
flash_encryption/psram: fixed the issue that block when flash_encryption_write

See merge request espressif/esp-idf!12177
2021-02-05 22:00:26 +08:00
Cao Sen Miao
3294547d27 ci: move freerom/sdmmc repo to psram3 for saving ram 2021-02-05 20:10:55 +08:00
Cao Sen Miao
c1b41ece32 flash_encryption: Quick fixed the issue that block when flash_encryption_write, Related https://github.com/espressif/esp-idf/issues/6322, Related https://github.com/espressif/esp-idf/issues/6254 2021-02-05 20:10:42 +08:00
Ivan Grokhotkov
ffa8c22c39 Merge branch 'feature/ut_perf_tests_disable_on_fpga' into 'master'
ut: Disable all performance test comparisons when running on FPGA

See merge request espressif/esp-idf!11415
2021-02-05 09:56:20 +08:00
ChenJianxing
dc350a9c7c esp_wifi: support esp32c3 rom eco3 2021-02-04 18:28:06 +08:00
Omar Chebib
c4dc3acba9 heap: add light poisoning configuration to the tests.
Relates to IDF-2653
2021-02-01 11:58:42 +08:00
Mahavir Jain
80b196a662 unit-test-app: disable encrypted flash read/write in psram config to fix build failure 2021-01-28 12:19:21 +00:00
Ivan Grokhotkov
0134fb5cf9 Merge branch 'feature/skip_known_failure_cases' into 'master'
CI: Ignore Known Failure Cases Result

Closes IDFCI-135 and IDF-1992

See merge request espressif/esp-idf!10866
2021-01-28 17:47:57 +08:00
Mahavir Jain
719aeacb4e Merge branch 'feature/enable_app_update_tests_for_c3' into 'master'
Enable app_update tests for ESP32-C3

Closes IDF-2495

See merge request espressif/esp-idf!12173
2021-01-28 17:41:42 +08:00
Fu Hanxi
85d4bca81a feat(tiny_test_fw): unify all junit report test case name
new format: <target>.<config>.<case_name>, the default value of
"config" is "default"
2021-01-28 12:25:14 +08:00
Martin Vychodil
69096ddce5 Security: ESP32C3 memory protection feature (IRAM0/DRAM0)
Software support for PMS module.
Allows controlled memory access to IRAM (R/W/X) and DRAM0 (R/W)
On/locked by default, configurable in Kconfig (esp_system)

Closes https://jira.espressif.com:8443/browse/IDF-2092
2021-01-27 08:44:03 +01:00
Mahavir Jain
85f120654a
unit-test-app: add config for app_update tests for ESP32-C3 2021-01-27 12:50:39 +05:30
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Aditya Patwardhan
cc3843263a esp-tls: Added unit tests 2021-01-21 01:17:23 +00:00
Ivan Grokhotkov
b69f94fb3a Merge branch 'feature/move_ringbuf_funcs_into_flash' into 'master'
esp_ringbuf: add kconfig opt to move ringbuffer functions into flash

Closes IDF-2247

See merge request espressif/esp-idf!10731
2021-01-20 07:32:39 +08:00
Alex Lisitsyn
8bde6b8fca esp_ringbuf: add kconfig opt to move ringbuffer functions into flash 2021-01-20 07:32:31 +08:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
Angus Gratton
6d3e06a9a3 ttfw: Move TestCaseFailed exception and handle differently to other exceptions
But also ensure the string form of this exception is never empty, if it ends up
somewhere else.
2021-01-12 11:42:03 +11:00
Angus Gratton
441d1306be ci ttfw: Consistently handle unexpected exceptions in test cases 2021-01-12 11:42:03 +11:00
Angus Gratton
76ed28172c unity: Add option to ignore performance test failures
Set by default on FPGA, where performance may be significantly different to a
real chip.
2020-12-31 10:29:31 +11:00
Angus Gratton
641b92da75 Merge branch 'feature/add_c3_target_master' into 'master'
tools: merge C3 changes into master

Closes IDF-2364 and IDF-2564

See merge request espressif/esp-idf!11800
2020-12-30 10:39:14 +08:00
Marius Vikhammer
7fe16bae25 tools: merge C3 changes into master 2020-12-30 07:04:12 +08:00
Ivan Grokhotkov
7f3b16a99d freertos: always enable static allocation
to use it for newlib locks
2020-12-29 16:18:04 +01:00
Angus Gratton
772bb2a380 test_utils: Remove debug code, disable ccomp internal tests for C3 2020-12-22 19:57:27 +11:00
Marius Vikhammer
0a95151a75 unit_test: Refactor all performance tests that rely on cache compensated timer
There is no ccomp timer on C3, which means our performance tests will start
failing again due to variance caused by cache misses.

This MR adds TEST_PERFORMANCE_CCOMP_ macro that will only fail
performance test if CCOMP timer is supported on the target
2020-12-22 18:56:24 +11:00
He Yin Ling
a4fab9c67f test: fix some unit test results not uploaded to Jira:
`UnitTestParser.py` will strip unit case config name when generate test
ID. But in `unit_test.py` we didn't do this. It makes the test ID in 2
stages are different. Now we will add this step to `unit_test.py`.
2020-12-15 21:36:27 +00:00
Angus Gratton
5228d9f9ce esp32c3: Apply one-liner/small changes for ESP32-C3 2020-12-01 10:58:50 +11:00
Angus Gratton
6ce34a227e Merge branch 'feature/fatfs_fast_seek' into 'master'
feature/fatfs: enable the usage of fast-seek algorithm

See merge request espressif/esp-idf!9916
2020-11-17 07:17:31 +08:00
Angus Gratton
420aef1ffe Updates for riscv support
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
  longer signed/unsigned int).

Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
3882c2b8ed Merge branch 'feature/bringup_esp32s3_fpga_update_rmt_driver' into 'master'
rmt: support esp32s3

Closes IDF-1773

See merge request espressif/esp-idf!10292
2020-11-07 07:15:53 +08:00
Ivan Grokhotkov
5dd16db1d6 Merge branch 'feature/esp_event_cxx' into 'master'
C++: ESP Event wrapper classes

Closes IDF-1048 and IDF-232

See merge request espressif/esp-idf!9602
2020-11-06 17:24:34 +08:00
Felipe Neves
32e760adfb fat_vfs: added fast seek capable file operation 2020-11-05 17:01:50 -03:00
morris
ff976867b3 rmt: split TX and RX in LL driver
Split TX and RX function in LL driver.
Channel number is encoded in driver layer.
Added channel signal list in periph.c
2020-11-05 19:00:55 +08:00
morris
9de6cba434 ci: add more build test for esp32-s3 2020-10-27 17:22:17 +08:00
Michael (XIAO Xufeng)
2a329df051 Merge branch 'feat/spi_flash_qio_test' into 'master'
spi_flash: add unit tests for qio mode

See merge request espressif/esp-idf!8303
2020-10-27 12:24:05 +08:00
Jakob Hasse
f835bead45 C++: ESP Event wrapper classes
* Provide easy interface to esp_event in C++
* Extended functionality linke synchronous
  waiting for events

* Closes IDF-1048
* Closes IDF-232
2020-10-22 09:56:52 +08:00
Angus Gratton
8a70b1cdc9 ci freertos: Add test configs for some of the optional FreeRTOS 10 configurations
Also unit tests for the legacy hook functions.
2020-10-21 14:04:01 +11:00
Renz Bagaporo
f33f49331f ci: update configs to include/exclude esp_pm in unit test 2020-09-25 05:24:10 +00:00
morris
9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
morris
75a372a9f0 unit_test: support reference clock, test delay function 2020-09-22 15:15:03 +08:00
morris
61f89b97c6 bringup esp32-s3 on FPGA 2020-09-22 15:15:03 +08:00
Michael (XIAO Xufeng)
4e287a09fe spi_flash: add unit tests for qio mode 2020-09-20 01:57:14 +08:00
Ivan Grokhotkov
f4296b947e Merge branch 'bugfix/fatfs_alloc_extram_first' into 'master'
fatfs: fix SPIRAM allocation not used due to Kconfig option name error

Closes IDFGH-3850

See merge request espressif/esp-idf!10381
2020-09-17 03:41:34 +08:00
Ivan Grokhotkov
96db25c861 Merge branch 'feature/nvs_encryption_s2' into 'master'
NVS: using esp_partition API

Closes IDF-1340 and IDF-858

See merge request espressif/esp-idf!8683
2020-09-16 02:12:54 +08:00
Ivan Grokhotkov
8bc19ba893 Merge branch 'feature/free_components_iram' into 'master'
freertos: free IRAM space moving task functions into flash memory

See merge request espressif/esp-idf!5648
2020-09-15 23:14:31 +08:00
Alex Lisitsyn
eaa892bebf freertos: optionally place selected freertos functions into flash memory instead of IRAM
correct generation.py script to be silent when file: function is not in the object list (just ignore placement)
correct linker.lf to place task functions into flash if CONFIG_FREERTOS_TASK_FUNCTIONS_INTO_FLASH is active otherwise into IRAM
update kconfig option to place functions into IRAM
update linker file after tests
fix spi_device_polling_end crash when xTaskGetTickCount() in flash
disable "yield from lower priority task, other CPU" test case when placing rtos functions into flash
upadate ut app config freertos_flash
combine spi_flash driver and freertos ut configs into one file
remove TEST_EXCLUDE_COMPONENTS
ci: fix ut job
remove functions that are called from ISR funcs
add port module functions to place into Flash
place snapshot funcs into Flash when ESP_PANIC_HANDLER_IRAM is not set
ci: add job with tags UT_T1_GPIO,ESP32_IDF
2020-09-15 23:14:31 +08:00
Ivan Grokhotkov
c330def25a fatfs: fix SPIRAM allocation not used due to Kconfig option name error
Closes https://github.com/espressif/esp-idf/issues/5756
2020-09-14 18:30:31 +02:00
Jakob Hasse
aca9ec28b3 NVS: using esp_partition API
* partition api changed from spi_flash* API to
  esp_partition* API and is abstracted as a C++
  interface.
* The old nvs encryption is still possible
* changed default unit test app partition table
* Partitions coming from esp_partition API are
  checked for generic flash encryption. If yes,
  an error is returned since generic flash
  encryption isn't compatible with nvs
  encryption
* esp32, esp32s2 tests don't require nvs_flash
  but mbedtls now

Closes IDF-1340
Closes IDF-858
2020-09-14 10:34:34 +08:00
Ivan Grokhotkov
00072fe2e2 Merge branch 'ci/standalone_unit_test_app' into 'master'
CI: add standalone unit test app for esp_netif

See merge request espressif/esp-idf!10102
2020-09-11 15:50:54 +08:00
Jakob Hasse
40d80b981a Fixed unity fixture for ESP32/S2
* Created compile switch for UNITY_MAIN
  since it was using exit() syscall leading to
  abort() on ESP
2020-09-04 17:37:47 +08:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
morris
4dd649d533 unit_test:refactor ref clock to use RMT carrier 2020-08-31 14:25:23 +08:00
Renz Bagaporo
0db3edd490 esp32: move sleep test to esp_system 2020-08-17 19:09:24 +08:00
Angus Gratton
a2dc60b254 Merge branch 'feature/secure_boot_esp32s2' into 'master'
Feature/secure boot esp32s2

See merge request espressif/esp-idf!8254
2020-07-28 16:39:34 +08:00
Ivan Grokhotkov
16c73edc67 Merge branch 'refactor/add_alias_name_for_ets_common_api' into 'master'
esp_rom: extract common ets apis into esp_rom_sys.h

See merge request espressif/esp-idf!9701
2020-07-28 15:04:55 +08:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
Supreet Deshpande
f3b914d0c5 Split unit test configs to fit into ESP32s2's memory 2020-07-27 00:01:10 +00:00
Jakob Hasse
25424477f2 C++: I2C API 2020-07-24 08:36:16 +08:00
Fu Hanxi
b490262e68 CI: fix search unit test build output path 2020-07-22 11:57:38 +08:00
Ivan Grokhotkov
8739282a1d Merge branch 'feature/size_info_artifacts_for_apps' into 'master'
CI: add size info for binaries

Closes IDF-1709

See merge request espressif/esp-idf!8962
2020-07-21 16:00:07 +08:00
Fu Hanxi
6885421976 CI: add size info for binaries 2020-07-21 16:00:05 +08:00
Angus Gratton
442736c5d6 Merge branch 'refactor/common_rom_uart_apis' into 'master'
esp_rom: extract common uart apis into esp_rom_uart.h

See merge request espressif/esp-idf!9313
2020-07-21 15:24:21 +08:00
morris
345606e7f3 esp_rom: extract common uart apis into esp_rom_uart.h 2020-07-17 16:00:59 +08:00
Felipe Neves
b6dba84323 ulp: added support to building code for riscv ULP coprocessor 2020-07-15 15:28:49 -03:00
morris
a4d0033c03 esp_rom: extract common GPIO apis into esp_rom_gpio.h 2020-07-07 11:40:19 +08:00
Angus Gratton
9a21b7e397 Merge branch 'bugfix/allow_extra_component_in_unit_test' into 'master'
allow unit test of extra-components

Closes IDFGH-3369

See merge request espressif/esp-idf!8906
2020-06-10 16:10:07 +08:00
Ivan Grokhotkov
4f3624bbe9 Merge branch 'feat/add_multi_target_for_example_test' into 'master'
example test: Add multi target support

Closes IDF-1531 and IDF-807

See merge request espressif/esp-idf!8242
2020-06-02 10:36:44 +08:00
Angus Gratton
8b156a9095 Merge branch 'feature/switch_from_external_to_interanl_ram' into 'master'
esp32: Switch SPIRAM stack in esp_restart_noos() to internal stack

Closes IDFGH-3086

See merge request espressif/esp-idf!8785
2020-06-01 14:39:22 +08:00
Fu Hanxi
377d3eaaa5 Move local target detection to ttfw_idf
rename upper_list to upper_list_or_str
minor fix for `unit_test.py` `is 'name'` -> `== 'name`
2020-06-01 12:08:57 +08:00
Angus Gratton
59f29cbca8 Merge branch 'feature/allow_rtc_memory_for_task_stacks' into 'master'
Add RTC Fast Memory to Dynamic Memory Pool

See merge request espressif/esp-idf!8390
2020-05-29 14:07:01 +08:00
jiangguangming
92eae20bca add new config items for spiflash ci unit-test 2020-05-26 15:23:38 +08:00
morris
50b93ce130 fix uninitialized variable EXTRA_COMPONENT_DIRS 2020-05-26 12:44:58 +08:00
redengin
6eb4bb16ec allow unit test of extra-components
Merges https://github.com/espressif/esp-idf/pull/5345
2020-05-26 12:44:58 +08:00
Angus Gratton
042a433678 Merge branch 'test/print_leak_delta' into 'master'
unit test: Always print the free memory delta after the test

See merge request espressif/esp-idf!8876
2020-05-25 15:25:52 +08:00
Angus Gratton
eb4ac07c96 unit test: Always print the free memory delta after the test
Prevents situations where the leak threshold is low and the
value slowly creeps up to be close to it, without developer
noticing.
2020-05-22 18:39:43 +10:00
KonstantinKondrashov
4275056423 esp32: Switch SPIRAM stack in esp_restart_noos() to internal stack
If esp_restart_noos() is run and the stack address points to external memory (SPIRAM)
then Cache_Read_Disable() raises up the error "Cache disabled but cached memory region accessed"
to fix this we switch stack to internal RAM before disable cache.

Added unit tests.

Closes: https://github.com/espressif/esp-idf/issues/5107
2020-05-22 16:23:53 +08:00
Darian Leung
11d96b39d0 esp_ipc: Move to new component
This commit moves esp_ipc into a separate component.
2020-05-18 16:51:45 +08:00
Mahavir Jain
18c1838587 esp32s2: add config option to place RTC data in fast RAM 2020-05-14 13:12:26 +00:00
Fu Hanxi
18e79f4865 correct the app_update config for s2 chip 2020-04-30 06:47:49 +00:00
Fu Hanxi
7709d4ccfd Use IDF_TARGET to determine the build method and the output file name 2020-04-30 06:47:49 +00:00
Fu Hanxi
01ff4f621f Add build_unit_test.sh to do find_apps and build_apps to unit_tests
modify unit-test-apps config files, use CONFIG_IDF_TARGET to set target.
if not set, then treat them as supported both targets.
2020-04-30 06:47:49 +00:00
Angus Gratton
3845b002b8 Merge branch 'bugfix/esp32s2_iram_dram_disable_tests' into 'master'
esp32s2: disable memprot for all CI tests (temporary)

See merge request espressif/esp-idf!8484
2020-04-27 13:16:44 +08:00
Martin Vychodil
c9d2ad0ce5 esp32s2: disable memprot for all CI tests (temporary) 2020-04-26 22:38:53 +02:00
michael
fdf983e0c4 spi: fix config break and reduce overhead of the bus lock on SPI1
The SPI bus lock on SPI1 introduces two side effects:

1. The device lock for the main flash requires the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` to be selected, however this
option is disabled by default in earlier IDF versions. Some developers
may find their project cannot be built by their old sdkconfig files.

2. Usually we don't need the lock on the SPI1 bus, due to it's
restrictions. However the overhead still exists in this case, the IRAM
cost for static version of semaphore functions, and the time cost when
getting and releasing the lock.

This commit:

1. Add a CONFIG_SPI_FLASH_BYPASS_MAIN_LOCK option, which will forbid the
space cost, as well as the initialization of the main bus lock.

2. When the option is not selected, the bus lock is used, the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` will be selected explicitly.

3. Revert default value of `CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION`
to `n`.

introduced in 49a48644e4.

Closes https://github.com/espressif/esp-idf/issues/5046
2020-04-22 16:06:13 +08:00
Mahavir Jain
b83c3bbb66 unit_test_app: remove libsodium config for esp32s2
This configuration overflows DRAM size for esp32s2 and hence
resulting in CI failure. Removing this config as it does not
add any value in esp32s2 context.
2020-04-14 12:35:19 +05:30
Ivan Grokhotkov
e94288da31 global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs
Using the method from @cemeyer
(https://github.com/espressif/esp-idf/pull/3166):

find . -name \*.sh -exec sed -i "" -e 's|^#!.*bin/bash|#!/usr/bin/env bash|' {} +

Closes https://github.com/espressif/esp-idf/pull/3166.
2020-04-03 01:10:02 +02:00
Jeroen Domburg
419848549e Add fixes for gcc8 psram fix improvement 2020-03-27 20:04:47 +07:00
Michael (XIAO Xufeng)
3ee81e0046 ci: split test config psram_2 into psram_3 2020-03-26 22:08:26 +08:00
morris
4fc16e2374 rmt: prefix caps name with SOC_ 2020-03-25 17:14:00 +08:00
morris
c91565d538 rmt: update rmt ll APIs 2020-03-25 13:19:03 +08:00
Renz Bagaporo
3d0967a58a test: declare requirements and include dirs private 2020-03-23 10:58:50 +08:00
Marius Vikhammer
3351376a11 AES: optimize AES-GCM
HW acceleration for GCM is now enabled by default

Closes IDF-1443
2020-03-12 10:20:24 +08:00
Roland Dobai
15884eccf2 Add multi-target support for performance tests 2020-03-09 13:41:56 +01:00
Angus Gratton
7b5bca9b93 unit test app: Use the new config names for DEBUG/RELEASE configs
Also build the bootloader to the same config level as the app
2020-03-09 11:55:52 +11:00
Angus Gratton
a9854f7085 Merge branch 'feature/rmt_clock_support_ref_tick' into 'master'
rmt: support ref tick && refactor unit test && re-enable unit test on ESP32-S2

Closes IDFGH-1715

See merge request espressif/esp-idf!7614
2020-03-06 15:03:52 +08:00
morris
acd4d4a40b unit test using internal signal connection 2020-03-03 20:14:46 +08:00
morris
07088c6446 rmt: disable carrier feature by default 2020-03-03 20:14:46 +08:00
morris
3c43264f83 rmt: add RMT_CHANNELS_NUM in rmt_caps.h 2020-03-03 20:14:45 +08:00
Mahavir Jain
8ae05e6547 esp_wifi: fix occasional test failure due to memory leak indications
Ensure that newly spawned task stack (dynamic) is getting freed up before
test completion and thus preventing false memory leak indication failure.

unit-test-app: add an API test_utils_task_delete

This API ensures that dynamic memory of deleted task gets freed up
before return. This helps for preventing false memory leak detections
in test failures.
2020-03-03 11:11:23 +05:30
Angus Gratton
95f7b1985b spi_flash: Remove 16KB free internal heap limit for esp_flash_read() into PSRAM
Allocation of the temporary internal buffer will now repeat until a small enough buffer can be
allocated, and only fail if less than a 256 byte block of internal RAM is free.

Adds unit test for the same, and generic test utility for creating memory pressure.
2020-03-03 00:17:27 +00:00
Sachin Parekh
301dacfb33 Exception handlers for LoadStoreError and LoadStoreAlignmentError
Configurable option to use IRAM as byte accessible memory (in single core mode) using
load-store (non-word aligned and non-word size IRAM access specific) exception handlers.
This allows to use IRAM for use-cases where certain performance penalty
(upto 170 cpu cycles per load or store operation) is acceptable. Additional configuration
option has been provided to redirect mbedTLS specific in-out content length buffers to
IRAM (in single core mode), allows to save 20KB per TLS connection.
2020-02-26 20:21:59 +08:00
Jakob Hasse
31edd48b43 C++: Moved all C++ examples to own folder
* moved C++ examples to a new cxx folder in
  examples
* added experimental C++ component
* added ESPException class to the C++ experimental
  component
* added test cases for ESPException and
  corresponding test macros
2020-02-18 12:48:57 +08:00
michael
24b16b0b19 ci: resume esp32s2 unit tests 2020-02-15 18:28:24 +08:00
michael
98ee6f55df app_update: fix unit tests 2020-02-13 15:51:42 +08:00
Konstantin Kondrashov
daa9c30c8e rmt/esp32s2: Update RMT: reg, struct, LL and test_utils/ref_clock.c 2020-02-09 20:03:31 +08:00
Konstantin Kondrashov
739eb05bb9 esp32: add implementation of esp_timer based on TG0 LAC timer
Closes: IDF-979
2020-02-06 14:00:18 +08:00
KonstantinKondrashov
aa42177e19 app_update(s2): Enable app_update UTs
Closes: IDF-1007
2020-01-31 10:34:08 +00:00
Ivan Grokhotkov
f5d37c453a unit-test-app: make compatible with ESP32-S2 reset reasons
ESP32-S2 has slightly different names of reset reasons, printed by
the ROM. Allow using ESP32 reset reason names in test cases.
2020-01-29 19:05:33 +01:00
Felipe Neves
429712c6eb freertos: moved all xtensa specific files into a separated folder 2020-01-27 16:05:30 -03:00
morris
e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
Michael (XIAO Xufeng)
a85b207d68 ci: temporarily disable ut for esp32s2beta 2020-01-16 17:41:31 +08:00
Ivan Grokhotkov
e9426d4ed1 Merge branch 'feature/improved_cxx_tests' into 'master'
Improved C++ tests

Closes IDF-1322

See merge request espressif/esp-idf!7283
2020-01-16 10:11:32 +08:00
Angus Gratton
6662b60bc1 test: Move freertos & mbedtls tests to psram_2 config
Before:

psram before 2490560 (2490368 is the size allowed by partition)
psram after  2413136

psram_2 before 1218464
psram_2 after  1326320
2020-01-14 12:14:43 +10:00
Jakob Hasse
c8137c5298 C++: rtti unit tests, corresponding CI config 2020-01-13 16:39:21 +08:00
michael
4220752aed ut: Move tests back from "esp32" subfolder
DISABLED_FOR_TARGETS macros are used

Partly revert "ci: disable unavailable tests for esp32s2beta"

This partly reverts commit 76a3a5fb48.

Partly revert "ci: disable UTs for esp32s2beta without runners"

This partly reverts commit eb158e9a22.

Partly revert "fix unit test and examples for s2beta"

This partly reverts commit 9baa7826be.

Partly revert "efuse: Add support for esp32s2beta"

This partly reverts commit db84ba868c.
2020-01-06 17:13:53 +08:00
Angus Gratton
cf2f732b2c Merge branch 'bugfix/heap_tests_esp32s2beta' into 'master'
bugfix/heap test failure fixing for esp32s2 beta

Closes IDF-1021

See merge request espressif/esp-idf!6659
2019-12-31 15:03:01 +08:00
He Yin Ling
269af21ce6 test: fix multiple devices cases fail on python3 2019-12-30 20:21:00 +08:00
michael
2dd12ae5f8 spi: fix speed test issues on esp32s2beta
Also support performance value for different targets.
2019-12-23 10:23:01 +08:00
Felipe Neves
cf95ea40d4 heap/test_leak: changed requested memory on leak checks to match the threshold 2019-12-20 13:35:56 -03:00
Angus Gratton
ecf85555b6 Merge branch 'bugfix/small_unit_test_fixes' into 'master'
test: Small unit test fixes

See merge request espressif/esp-idf!6981
2019-12-13 14:00:05 +08:00
Marius Vikhammer
c63684cf6c hw crypto: activated hardware acceleration for esp32s2beta
Activated AES, RSA and SHA hardware acceleration for esp32s2 and enabled related unit tests.

Updated with changes made for ESP32 from 0a04034, 961f59f and caea288.

Added performance targets for esp32s2beta

Closes IDF-757
2019-12-12 12:37:29 +08:00
Angus Gratton
ba07a7dd6c unit-test: Update README for current usage of unit-test.py
Example command lines shown here were tested and Notes added
for anything which didn't work as expected.
2019-12-12 11:05:22 +11:00
Angus Gratton
9b8fffef53 unit_test.py: Add some additional console logging for context 2019-12-12 11:05:05 +11:00
Angus Gratton
9fa87f04da unit_test.py: Allow identifying a unit test which has : in the name 2019-12-12 11:05:05 +11:00
Angus Gratton
0978fc1b84 unit_test: Log each test case to console as we run it
Include a dump of the test tags
2019-12-12 11:05:05 +11:00
Angus Gratton
d35debcd99 unit_test: Print the timeout value when an 'expect' times out 2019-12-12 11:05:04 +11:00
Angus Gratton
563227d9f8 Merge branch 'bugfix/gitlab_api_error_with_python3' into 'master'
ci: fix fetch submodule error on python3

See merge request espressif/esp-idf!6961
2019-12-11 07:23:53 +08:00
He Yin Ling
486f1a05b3 test: fix incorrect error type in xunit result 2019-12-10 13:50:32 +08:00
Jakob Hasse
78e4b0ff96 CXX: enable exceptions ESP32S2-beta
Closes IDF-1039

* Enabled test cases for -fno-exceptions to S2-beta again
* Added different reset tag for S2-beta
2019-12-10 10:23:00 +08:00
He Yin Ling
c906e2afee test: update example and unit tests with new import roles:
tiny_test_fw is a python package now. import it using normal way.
2019-12-07 10:34:54 +08:00
Renz Christian Bagaporo
e6ad330018 ble_mesh_wifi_coexist example: Disable Wi-Fi RX IRAM optimisation
Otherwise IRAM usage is too high in this example.
2019-11-28 09:20:00 +08:00
morris
c3ee156df0 ethernet: move netif glue && add ref counter
1. move netif glue into single file
2. add reference counter for Ethernet driver
2019-11-27 10:36:32 +08:00
He Yin Ling
857d10a926 unit-test-app: print config name in test script 2019-11-23 20:40:23 +08:00
He Yin Ling
9665c6ef66 unit-test-app: fix test script error when handling multiple unit test configs in one config file:
If we have multiple configs, we need to flash DUT with different binaries. But if we don't close DUT before apply new config, the old DUT will be reused, so new config name will not be applied.
2019-11-23 20:40:23 +08:00
Angus Gratton
ea29c101cd Merge branch 'bugfix/fix_iram_intr_alloc_test' into 'master'
ccomp_timer: fix broken unit test

See merge request espressif/esp-idf!6779
2019-11-22 08:41:50 +08:00
Ivan Grokhotkov
0e6e7f49be tiny-test-fw: add build config and target options 2019-11-21 15:36:06 +01:00
Renz Christian Bagaporo
6540877f23 test_utils: move ccomp timer interrupt allocation/free to init/deinit 2019-11-21 11:59:46 +08:00
Angus Gratton
bc9267aa24 Merge branch 'feature/use_cpu_time_for_tests' into 'master'
Cache compensated timer

See merge request espressif/esp-idf!6087
2019-11-20 08:33:27 +08:00
Renz Christian Bagaporo
df26ab13e2 test_utils: implement performance timer 2019-11-18 10:29:01 +08:00
Jakob Hasse
cd730b94be C++: added unit tests for builtin type exceptions 2019-11-18 08:53:50 +08:00
Jiang Jiang Jian
a9c1970c03 Merge branch 'bugfix/put_more_rx_code_to_iram' into 'master'
wifi: Put some rx code to iram

Closes WIFI-490 and WIFI-1041

See merge request espressif/esp-idf!6490
2019-11-15 10:58:22 +08:00
xiehang
5e7f43f3d1 esp_wifi: Put some rx code to iram 2019-11-13 11:44:23 +00:00
David Cermak
b834c99148 examples: modify other examples and tests to use esp_netif instead of tcpip_adapter 2019-11-13 12:36:25 +01:00
Angus Gratton
5b33d6cf94 Merge branch 'feature/mbedtls_add_faster_modexp' into 'master'
mbedtls: Add a new (X^Y) mod M implementation (HAC 14.94)

Closes IDF-965

See merge request espressif/esp-idf!6418
2019-11-06 15:51:28 +08:00
KonstantinKondrashov
5ed8388f6b mbedtls: Add Montgomery exponentiation implementation (HAC 14.94)
It gave us a better performance of RSA operations. (2~11 times)

The old modexp implementation (Z = X ^ Y mod M) loaded all the data into
the hw registers and was waiting for completion, but due to
the hardware RSA implementation, the calculations always started with 4096 bit,
which took a lot of time.
Measurement results (measurements were made for keys: 2048, 3072 and 4096 bits)
(Old) - Sliding-window exponentiation (HAC 14.85):
keysize = 2048 bits
RSA key operation (performance): public [93206 us], private [280189 us]
keysize = 3072 bits
RSA key operation (performance): public [293614 us], private [858157 us]
 keysize = 4096 bits
RSA key operation (performance): public [653192 us], private [1912126 us]

Instead (Old) - Sliding-window exponentiation (HAC 14.85) was implemented
(New) - Montgomery exponentiation (HAC 14.94) which showed
better performance on private and public keys.
keysize = 2048 bits
RSA key operation (performance): public [14504 us], private [149456 us]
keysize = 3072 bits
RSA key operation (performance): public [35073 us], private [392743 us]
keysize = 4096 bits
RSA key operation (performance): public [58650 us], private [787186 us]

For this reason, the old implementation was removed
and the MBEDTLS_HARDWARE_MPI option was turned on by default.

Why the MPI_INTERRUPT option is removed:
the old implementation used calculations on the hardware and
it took a lot of time (10ms - 500ms). And in order not to stand idle
while waiting for completion, an interrupt option was added.
This made it possible to carry out other tasks during the calculation,
and this one to block. The new method is free from such a drawback and
the maximum duration of one RSA HW operation does not exceed 70us (usually 2-70 μs).
This option is no longer needed.

Closes: IDF-965
2019-11-05 16:33:11 +08:00
Angus Gratton
ad79772e7e Merge branch 'bugfix/cmake_sdkconfig_issues' into 'master'
cmake: fix sdkconfig related issues

Closes IDF-1086

See merge request espressif/esp-idf!6436
2019-11-04 18:30:49 +08:00
Renz Christian Bagaporo
d43cc4fa4b cmake: allow multiple sdkconfig defaults to be specified 2019-11-03 16:43:58 +08:00
Michael (XIAO Xufeng)
748b79e94a ci: fix one ut issue when using Wrover-B module with newer ver of PSRAM
The workaround for PSRAM that will occupy an SPI bus is enabled only when:

1. used on 32MBit ver 0 PSRAM.
2. work at 80MHz.

The test used to only check 32MBit by the config option, but for PSRAM
on Wrover-B module seems to use a newer version of 32MBit PSRAM.  So it
expects the workaround to be enabled, but actually not.

This commit split the unit test into two parts:

1. check all SPI buses are available, for all configs except psram_hspi
and psram_vspi, run on regular runners (including Wrover and Wrover-B).
a hidden option is enabled so that the compiler knows it's not building
psram_hspi or psram_vspi.

2. check the specified bus are acquired, for config psram_hspi and
psram_vspi. This only run on special runner (legacy Wrover module).
2019-11-03 03:07:37 +00:00
Ivan Grokhotkov
a088678dd4 unit-test-app: apply sdkconfig.defaults.esp32 for Make builds 2019-10-30 10:43:38 +01:00
Ivan Grokhotkov
142e49f4cc unit-test-app: fix chip-specific sdkconfig options
DEFAULT_CPU_FREQ and ULP_COPROC_ENABLED options have chip-specific
names, and should be set in a chip-specific sdkconfig.defaults file.
This commit also changes the default CPU frequency for ESP32S2 unit
tests to 240 MHz.
2019-10-30 10:41:30 +01:00
Angus Gratton
6e1aa985e7 ci: Increase INT_WDT_TIMEOUT_MS for PSRAM configs
This shouldn't be necessary, it's a workaround for a bug
in the config system.
2019-10-28 18:58:05 +11:00
Angus Gratton
8675a818f9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-22 13:51:49 +11:00
Ajita Chavan
56f73d7720 flash_ops: fix spi_flash_read with source buffer not from internal memory and size < 16
Closes https://github.com/espressif/esp-idf/issues/4010
2019-10-19 14:56:43 +08:00
Angus Gratton
496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
Hu Chao Ru
fc018987eb add wifi init unit test cases 2019-10-11 13:00:57 +08:00
Ivan Grokhotkov
cf7fe34cc2 ci: fix test assignment issue, rename env tag 2019-10-03 15:00:22 +02:00
Ivan Grokhotkov
5830f529d8 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-02 19:01:39 +02:00
Roland Dobai
5a916ce126 Support ELF files loadable with gdb 2019-09-24 07:19:50 +00:00
Angus Gratton
f991f812ab unit test: Fix bug in idf.py ut-apply-config- targets
Bug was this sequence:

1. old sdkconfig file has some settings (maybe target=esp32s2beta)
2. idf.py builds a new sdkconfig.defaults file with full new settings
3. new settings includes something that conflicts with the old settings (for example,
CONFIG_IDF_TARGET=esp32 and BT_ENABLE=y)
4. confgen tries to apply the new "defaults" to the existing sdkconfig, settings end up a mix of both due to the conflicts

Fix is to generate the sdkconfig file directly.
2019-09-23 06:26:49 +02:00
Angus Gratton
adfc06a530 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-20 10:28:37 +10:00