Commit Graph

521 Commits

Author SHA1 Message Date
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
Angus Gratton
438d513a95 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-16 16:18:48 +10:00
Sergei Silnov
c57dfbc0b8 python: Fix yaml.load warnings
Since pyyaml 5.1 yaml.load without specifing loader is deprecated
Details: https://msg.pyyaml.org/load

To keep code compatible with older versions of pyyaml
and keep best perfomance CLoader with fallback to Loader is used.
2019-09-13 10:29:38 +00:00
Michael (XIAO Xufeng)
eac802357a ci: support build esp32s2beta UT 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
3a9ae4acc6 ci: pass target from build stage to unit test 2019-09-04 10:53:25 +10:00
Ivan Grokhotkov
12c9d9a564 spi_flash: remove duplicate definition of spi_flash_unlock
The other (static) definition is in flash_ops.c, all references are
also in flash_ops.c.
2019-08-23 12:37:55 +08:00
Angus Gratton
04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Ivan Grokhotkov
26800ed71e global: update note in the partition tables
The build system automatically determines offsets of partitions from
the partition table, so no manual changes are needed. Instead, add a
note that partition offsets may need to be updated when increasing
the bootloader size.
2019-07-27 10:28:16 +02:00
Sergei Silnov
e36a76d940 idf_ext.py: don't rerun reconfig for tests when possible 2019-07-23 16:15:33 +02:00
He Yin Ling
663ed11509 unit-test-app: use stripped config name in test case ID:
We could split cases of same config into multiple binaries as we have limited rom space. So we should regard those configs like `default` and `default_2` as the same config.
2019-07-11 10:01:05 +08:00
Ivan Grokhotkov
41b6811f45 unit-test-app: split default, release, single_core configs 2019-07-10 22:44:11 +08:00
Angus Gratton
222146845c docs: Make CMake build system default, mark GNU Make as legacy option
All `-cmake` suffixes are removed
Where a GNU Make option is renamed, the `-legacy` suffix is used
2019-07-09 14:32:26 +10:00
Angus Gratton
47bbb107a8 build system: Use CMake-based build system as default when describing commands 2019-07-08 17:31:27 +10:00
He Yin Ling
81dd9d4e27 CI: use parallel attribute in CI config file 2019-07-03 16:53:34 +08:00
Sergei Silnov
aecd0f9ae4 Add subcomand options that become global 2019-06-26 10:00:21 +02:00
Renz Christian Bagaporo
e9bc46db71 tools: use new component registration api for unit test app 2019-06-21 19:53:29 +08:00
Ivan Grokhotkov
a9157aaba9 Merge branch 'bugfix/ut_ci_test_fail_because_failed_to_reset' into 'master'
ci: fix random unit test CI failure

See merge request idf/esp-idf!5264
2019-06-20 16:08:51 +08:00
Darian Leung
037c079e9a esp32: Refactor backtrace and add esp_backtrace_print()
This commit refactors backtracing within the panic handler so that a common
function esp_backtrace_get_next_frame() is used iteratively to traverse a
callstack.

A esp_backtrace_print() function has also be added that allows the printing
of a backtrace at runtime. The esp_backtrace_print() function allows unity to
print the backtrace of failed test cases and jump back to the main test menu
without the need reset the chip. esp_backtrace_print() can also be used as a
debugging function by users.

- esp_stack_ptr_is_sane() moved to soc_memory_layout.h
- removed uncessary includes of "esp_debug_helpers.h"
2019-06-19 18:30:18 +08:00
suda-morris
3f7a571c90 fix errors when ci testing for esp32 2019-06-19 15:31:47 +08:00
Angus Gratton
484eb7cd07 Merge branch 'feature/mdns_unit_tests' into 'master'
mdns: add initial unit tests

See merge request idf/esp-idf!5088
2019-06-19 14:43:51 +08:00
He Yin Ling
304e7119ce ci: fix random unit test CI failure:
we use `-` command to check if DUT reset pass. If we input `-` command
during DUT bootup, DUT could only receive `\n` and print test cases.
Print test cases could take long time and lead to reset check timeout.
Now we will add delay after reset, and enlarge reset check timeout to
solve this problem.
2019-06-18 12:22:00 +08:00
Ivan Grokhotkov
7680f520f9 unit-test-app: disable CONFIG_MBEDTLS_HARDWARE_MPI for esp32s2beta 2019-06-13 01:43:38 +08:00
Ivan Grokhotkov
25a383c521 test_utils: update for esp32s2beta 2019-06-12 16:10:11 +08:00
David Cermak
e6801912c5 mdns: added initial suite of api unit tests 2019-06-12 08:18:25 +02:00
Roland Dobai
22d070e0af spi_flash: Rename long Kconfig options 2019-06-12 08:03:07 +02:00
Ivan Grokhotkov
4b0b2c6fda Merge branch 'feature/action_specific_flags' into 'master'
idf.py: add support for action specific options

Closes IDF-501, IDFGH-1276, and IDFGH-1275

See merge request idf/esp-idf!5029
2019-06-07 00:44:09 +08:00
Sergei Silnov
20156f9702 idf.py: Add support for action specific options
Changes argument parsing mechanism from argparse to a new one, that provides better support for extensions and options that are only applicable to specific subcommands,

Breaking changes:

1. All global options should go before subcommands, i.e. `idf.py build -C ~/some/project` will not work anymore, only `idf.py -C ~/some/project build` is acceptable
2. To provide multiple values to an option like `--define-cache-entry` it's necessary to repeat option many times, i.e. `idf.py -D entry1 entry2 entry3` will not work, right way is: `idf.py -D entry1 -D entry2 -D entry3`
At the moment there are 3 options like this:  `--define-cache-entry` in base list and `--test-components` and `--test-exclude-components` in the unit test extensions
3. Drops `defconfig` and `bootloader-clean` subcommands

Closes https://github.com/espressif/esp-idf/issues/3570
Closes https://github.com/espressif/esp-idf/issues/3571
2019-06-03 13:07:02 +02:00
Konstantin Kondrashov
399d2d2605 all: Using xxx_periph.h
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .

Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
Roland Dobai
1ad2283641 Rename Kconfig options (components/bootloader) 2019-05-21 09:32:55 +02:00
Roland Dobai
a1bddb923b Rename Kconfig options (components/bt) 2019-05-21 09:09:01 +02:00
Roland Dobai
0ae53691ba Rename Kconfig options (components/esp32) 2019-05-21 09:09:01 +02:00
Roland Dobai
e9f1011b1b Rename Kconfig options (components/driver) 2019-05-21 09:09:01 +02:00
Roland Dobai
64c2aa15aa Rename Kconfig options (components/freertos) 2019-05-21 09:09:01 +02:00
Roland Dobai
c5000c83d2 Rename Kconfig options (root) 2019-05-21 09:09:01 +02:00
Sachin Parekh
e6a714480d unit-test-app: freertos_compliance config added
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
d803465ec6 ref_clock: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
He Yin Ling
b75400294a test: collect unit-test performance items and save to report 2019-04-19 14:39:44 +08:00
Ivan Grokhotkov
bb4f5617ab test: clean up "leaks" tags from most unit tests 2019-04-16 20:07:40 +08:00
Konstantin Kondrashov
5021129e71 Add support a [leaks] tag for UT 2019-04-12 09:31:23 +08:00
morris
c159984264 separate rom from esp32 component to esp_rom
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +08:00
He Yin Ling
0a3975e80d test: handle exception by unit test script:
unit test script will detect exception, we don't need to let test fail
when exception happened.
2019-03-19 11:24:08 +08:00
He Yin Ling
1a9f019d2a unit-test-app: increase factory partition size 2019-03-10 06:21:37 +00:00
He Yin Ling
323a790f01 test: fix CI UT job pass even ut app bootup fail 2019-03-10 06:21:37 +00:00
Konstantin Kondrashov
91676b8620 build_system: Add support efuse 2019-02-28 07:31:29 +00:00
Ivan Grokhotkov
d3724dc35d esp_timer: fix occasional failures in "monotonic values" test
1. ref_clock used in unit tests occasionally produces time off by ~100
microseconds shortly after being started. Add a delay to let
ref_clock stabilise, until the cause is found.

2. Reduce roundoff error accumulation which would occasionally cause
the test to fail, by choosing an overflow value which can be divided
by APB frequency.

3. Move time sampling part of the test into an IRAM function to
reduce variations due to cache behavior.

4. Remove calculation of "standard deviation" in the test, as what was
calculated was not actually standard deviation, and it did not add any
useful information.
2019-02-26 02:01:29 +00:00
Renz Christian Bagaporo
c6b07eec54 ci: copy flasher_args.json to unit test output folder 2019-02-14 08:33:46 +00:00
Roland Dobai
37126d3451 Correct Kconfigs according to the coding style 2019-01-29 13:37:01 +01:00
He Yin Ling
431653bba8 unit-test: fix 2 issues in unit test script:
1. Gitlab will only regard failure (not error) as failed case. Use log
failure instead of log error, to display all error msg in test result
2. fix failed case not recognized by test script when failed during
reset DUT
2019-01-10 09:51:17 +00:00
He Yin Ling
783cb692e8 unit-test-app: support passing parameter with signals 2019-01-10 09:51:17 +00:00
Roland Dobai
bfa9610f58 tools: Fix the Python coding style 2018-12-19 11:56:24 +01:00
Angus Gratton
0a27cfa850 unit_test.py: Allow importing tiny-test-fw from IDF_PATH as well as TEST_FW_PATH 2018-12-18 14:09:05 +11:00
He Yin Ling
b0154cbf58 unit-test-app: fix the RegEx to detect test case:
tags are not correctly parsed if eol do not contain `\r`
2018-11-29 23:06:16 +08:00
Ivan Grokhotkov
bbeb62547e fatfs: add option to prefer ext. RAM for internal buffers 2018-11-29 19:26:46 +08:00
He Yin Ling
1c65f18422 Merge branch 'test/enhanced_junit_test_result' into 'master'
test: enhanced junit test result

See merge request idf/esp-idf!2766
2018-11-26 16:35:08 +08:00
He Yin Ling
ef9eaddd88 ci: assign unit test cases in sequence of config and name 2018-11-26 10:07:41 +08:00
He Yin Ling
5b3d09d5c8 test: fix unit test script code style warnings 2018-11-26 10:07:41 +08:00