Commit Graph

392 Commits

Author SHA1 Message Date
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
He Yin Ling
644571f78b test: generate junit test report according to executed cases 2018-11-26 10:07:41 +08:00
Ivan Grokhotkov
5aa7abb216 Merge branch 'bugfix/spiram_80m_clk_config' into 'master'
clk: fix regression in clock setting for SPIRAM with 80MHz config

See merge request idf/esp-idf!3724
2018-11-25 22:25:19 +08:00
Mahavir Jain
bd3806193d unit-test-app: keep CONFIG_SPIRAM_BANKSWITCH_ENABLE enabled only for psram_8m config 2018-11-20 18:54:12 +05:30
Ivan Grokhotkov
6091021e83 unity: separate common and IDF specific functionality
New unity component can be used for testing other applications.
Upstream version of Unity is included as a submodule.
Utilities specific to ESP-IDF unit tests (partitions, leak checking
setup/teardown functions, etc) are kept only in unit-test-app.
Kconfig options are added to allow disabling certain Unity features.
2018-11-19 12:36:31 +08:00
Renz Christian Bagaporo
364f98b67e cmake: fix for parsing unit test config 2018-11-16 12:00:39 +00:00
Ivan Grokhotkov
7b86247428 unit-test: use TEST_GROUPS to filter tests for psram_vspi and psram_hspi 2018-11-15 12:27:05 +00:00
Ivan Grokhotkov
09e4321e97 unit test: allow filtering tests for configs using TEST_GROUPS 2018-11-15 12:27:05 +00:00
Ivan Grokhotkov
621e316725 Merge branch 'feat/psram_support_hspi' into 'master'
esp32: support to use hspi to output clock for 4M psram

See merge request idf/esp-idf!3377
2018-11-06 20:34:41 +08:00
Ivan Grokhotkov
e4b68c49f2 Merge branch 'bugfix/py3_ci_enable' into 'master'
Enable Python 3 bot tests in master

See merge request idf/esp-idf!3615
2018-11-05 19:49:32 +08:00
Ivan Grokhotkov
761d44bd36 Merge branch 'bugfix/xts_compile_err' into 'master'
mbedtls: Fix compilation errors when CONFIG_MBEDTLS_HARDWARE_AES is disabled

See merge request idf/esp-idf!3506
2018-11-05 16:58:38 +08:00
Roland Dobai
d4ba3bd2eb idf_ext.py: Fix Python 3 compatibility issue 2018-11-05 08:11:02 +01:00
Sagar Bijwe
fbcc160675 mbedtls: Fix compilation errors when CONFIG_MBEDTLS_HARDWARE_AES is disabled 2018-11-01 12:08:45 +05:30
Michael (XIAO Xufeng)
ff346f92af psram: add test for 4M psram 2018-10-29 20:26:30 +08:00
He Yin Ling
2b4e34171b test: fix UT script can't process cmd after reset:
There's still a small chance that can't process command issue still
happen on some runners. Now we change the way to detect if the runner
reset finished: input `-` to check test history for a few times until it
succeeded. If DUT can process check history command, then it should be
able to process other test commands.
2018-10-26 08:42:22 +00:00
Roland Dobai
9daf51e6be Fix Python 3 compatibility issues 2018-10-24 11:20:54 +02:00
Renz Bagaporo
cc774111bf cmake: Add support for test build 2018-10-20 12:07:24 +08:00
Ivan Grokhotkov
3e65ce3e93 Merge branch 'bugfix/unit_tests_tcpip_adapter' into 'master'
unit tests: Only initialise tcpip_adapter() when needed by the test

See merge request idf/esp-idf!3364
2018-10-19 12:33:09 +08:00
Ivan Grokhotkov
d91b18080b unit test: split psram config into two configs to free up IRAM 2018-10-17 23:34:07 -05:00
Angus Gratton
159ff6e08e unit tests: Only initialise tcpip_adapter() when needed by the test
Prevents unexpected memory allocations when running tests which
don't require tcpip_adapter.
2018-10-17 22:53:46 +00:00
Jeroen Domburg
81e35a142a Spiram: Add option to reserve MMU banks; add himem API to make use of those banks 2018-10-15 14:32:58 +08:00
Angus Gratton
ee0ebc1e1a Merge branch 'test/enhanced_unit_test_config_dependency' into 'master'
test: enhanced config dependency support for CI

See merge request idf/esp-idf!3383
2018-10-05 09:21:30 +08:00
He Yin Ling
737f33e379 test: enhanced config dependency support for CI:
allow define complex conditions for the dependency of each tag.
2018-09-27 15:23:44 +08:00
Ivan Grokhotkov
5ebf4f7022 Merge branch 'feature/move_rtc_data_rtc_rodata_to_RTC_FAST_seg' into 'master'
esp32: Add option to place .rtc_data and .rtc_rodata into the RTC_FAST segment

See merge request idf/esp-idf!2128
2018-09-27 13:05:06 +08:00
Sagar Bijwe
48fccbf5dd nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
Anton Maklakov
9a55557ad8 build system: Add a compatible old GCC flag 2018-09-20 18:53:14 +08:00
Ivan Grokhotkov
c2a04f6517 unity: silence unused const variables warning 2018-09-20 18:53:14 +08:00
Angus Gratton
593abe0768 Merge branch 'test/fix_ut_cant_process_test_command' into 'master'
test: fix ut can't process test command

See merge request idf/esp-idf!3306
2018-09-20 14:38:25 +08:00
He Yin Ling
44e8ec584f test: ut can't process test command:
check ut reset done condition is not correct. If bootup pattern already
exist in cache, we will return without waiting for DUT bootup.
2018-09-19 09:40:59 +08:00
Roland Dobai
da6479e6b7 Correct Python 3 support for some test related scripts 2018-09-18 09:55:51 +00:00
Alex Lisitsyn
ec5eb1e5c2 esp32: Add option to place.rtc_data and .rtc_rodata into the RTC_FAST segment
Changes:
KConfig: The option CONFIG_ESP32_RTCDATA_IN_FAST_MEM is added in Kconfig file for esp32 component.
esp32.common.ld: added support of RTC_DATA_ATTR, RTC_RODATA_ATTR data placement into appropriate segment according to Kconfig option.
esp32.ld: linker script is modified to set alias for memory segment selected by Kconfig option to place data. The segments for force placement are added for RTC_FAST_ATTR, RTC_SLOW_ATTR attributes.
esp_attr.h: added new attributes RTC_FAST_ATTR, RTC_SLOW_ATTR for force placement into fest/slow memory.
test_rtc_fast.c: Added unit test cases to check data placement into appropriate memory segment.
Updated documentation for RTC_DATA_ATTR, RTC_FAST_ATTR, RTC_SLOW_ATTR in deep_sleep_stub.rst file.

TW#18001
Closes https://github.com/espressif/esp-idf/issues/1553
2018-09-12 09:25:13 +02:00
houchenyao
73a763fecb fix the bug that multi device's dut can't detect case 2018-09-12 07:18:00 +00:00
Angus Gratton
6c95285bdb Merge branch 'bugfix/app_update_test' into 'master'
app_update: Change NUM_PIN_APP_TEST for unit test

See merge request idf/esp-idf!3050
2018-08-27 08:46:02 +08:00
Konstantin Kondrashov
4e28799709 app_update: Change NUM_PIN_APP_TEST for unit test
Fixed error when `make TESTS_ALL=1`
2018-08-24 16:52:27 +08:00
houchenyao
df83323ee3 bugfix:fix the multi device stop thread bug 2018-08-23 08:51:16 +00:00
Ivan Grokhotkov
4dd7233b20 Merge branch 'feature/reset_reason' into 'master'
Add API to get reset reason

See merge request idf/esp-idf!2871
2018-08-21 11:34:12 +08:00
Ivan Grokhotkov
b600a908c4 unit test: fix regex for detecting abort 2018-08-20 16:49:20 +08:00
Konstantin Kondrashov
1da0483619 app_update: Add unit tt pests for ota, factory, test partitions 2018-08-16 09:57:32 +05:00
yulong
72eaaff9fe component/bt: Fixed the vulnerability released by Bluetooth org when using public key not check in the process of ECDH encryption.
1. Add the 100 times test when the private key is generated by the random number;
2. Add the bt components to the unit-test-app/config directory.
3. Added the bt unit test case to CI.
2018-08-13 14:08:11 +08:00
Roland Dobai
40486c8723 tools: Allow running unit tests from command line
Add argument parsing to unit_test.py to allow running unit tests from
command line.
2018-07-30 13:05:41 +02:00
Angus Gratton
97286b3107 Merge branch 'feature/cmd_flash_reset_ota_data' into 'master'
make: Add feature to cmd 'make flash' - reset ota_data partition

See merge request idf/esp-idf!2611
2018-07-30 13:52:43 +08:00
He Yin Ling
bffcea09df CI: erase nvs partition before test:
Latest NVS partition bin can't be parsed by old IDF revision. Need to erase before test.
2018-07-27 17:22:24 +08:00
Konstantin Kondrashov
de2b1cb02a make: Add feature to cmd 'make flash' - reset ota_data partition
Add a command `make erase_ota` - erases otadata if it there is in the
partition table otherwise error 'Partition table does not have ota_data partition'.

Closes https://github.com/espressif/esp-idf/issues/1821
2018-07-25 11:22:15 +00:00
Ivan Grokhotkov
d50c03cc7d Merge branch 'bugfix/unit-test-build-fix' into 'master'
unit-test-app: don’t include project.mk for ut- targets

See merge request idf/esp-idf!2619
2018-07-24 20:48:12 +08:00
Ivan Grokhotkov
b0af8ad22f unit-test-app: don’t include project.mk for ut- targets
If project.mk is included twice in recursive invocation of Make, some
variables defined on the first pass will not be redefined on the
second pass. Rather than cleaning up these variables before calling
Make recursively, don’t include IDF project.mk at all, if one of the
ut- targets is requested.
2018-07-24 09:54:55 +03:00
Ivan Grokhotkov
999c3dbf0e Merge branch 'feature/test_exclude_components' into 'master'
build: Add TEST_EXCLUDE_COMPONENTS

See merge request idf/esp-idf!2648
2018-07-20 19:43:46 +08:00
He Yin Ling
15858895a4 CI: support test one case multiple times by @bot 2018-07-11 10:22:13 +08:00
Konstantin Kondrashov
bec14ad8ee build: Add TEST_EXCLUDE_COMPONENTS
To exclude during the build process of unit tests some components.
2018-07-10 13:44:41 +05:00
houchenyao
9223639010 stop main thread when one failed 2018-06-26 11:02:23 +08:00
Angus Gratton
d0b8f2865f docs: Switch base URL from esp-idf.readthedocs.io to docs.espressif.com 2018-06-19 11:23:33 +00:00
Angus Gratton
73f6fb9fe7 Merge branch 'feature/spi_functions_in_iram' into 'master'
feature(spi_master): allow to place functions into IRAM to get higher efficiency

See merge request idf/esp-idf!2538
2018-06-19 07:25:12 +08:00
Sagar Bijwe
fd7b794e81 FATFS support without wear levelling
This change allows readonly FATFS to be mounted without wear levelling
support. This will provide the customers a simple way to mount FATFS images
generated on host and flashed onto the chip during factory provisioning.
Since NVS encryption is not supported yet and NVS entry size is limited,
the change will provide an easy alternative for securing the provisioning data
by just marking FATFS parition as encrypted.
2018-06-16 16:02:35 +08:00
Michael (XIAO Xufeng)
9c23b8e596 feature(spi_master): allow to place functions into IRAM to get higher efficiency 2018-06-14 20:22:40 +08:00
Ivan Grokhotkov
7663782e8d unity: allow test task stack size to be configured 2018-06-11 23:26:56 +08:00
Ivan Grokhotkov
9b1876a458 unit-test-app: allow specifying subset of tests for configuration
For some test configurations, not all tests need to be run. This
change allows adding a comment in the configuration file of the
following form:

unit-test-app makefile will use it to determine which components to
build. If the comment is not present, all components will be built
(TESTS_ALL=1).

Also add test configuration for libsodium. It is a separate test
configuration due to the large binary size generated when building
libsodium tests.
2018-06-11 23:26:55 +08:00
Konstantin Kondrashov
7e2a3da643 esp32: Fix not the right time spent in a deep sleep
Before entering the deep sleep, the RTC and FRC counters are synchronized. Updating the boot_time.
Added a unit test for this case.
Fixed warnings for MULTIPLE_STAGES

Closes https://github.com/espressif/esp-idf/issues/1840
2018-06-06 18:59:30 +05:00
Angus Gratton
10eab26854 unit test app: Require 4MB flash
PSRAM config unit tests had outgrown the 0x14000 byte allocated factory size.
2018-05-25 12:16:26 +10:00
He Yin Ling
1a1514b69c unit-test-app: udpate CI related part to README 2018-05-24 03:40:03 +00:00
He Yin Ling
3b24bc42d2 CI: assign unit test cases according to sdkconfig:
We have built unit-test-app with different configs.
Currently we use the config name as tags to match runners.
It's not easy to add new configs (need to update tags to existed runners).

Now we'll parse required test runner tags from `sdkconfig` file.
For example, if config enables `CONFIG_SPIRAM_SUPPORT`, then it requires `psram` tag.
This will make adding new configs easier.

In this commit we change the one behavior of assign test: match keys of
cases should be exactly the same with job tags. This fixes cases select
jobs include their tags, and jobs requires those tags can't be assigned.
2018-05-24 03:40:03 +00:00
Angus Gratton
e8525396dd test: Allow per-unit-test timeouts
Work around for "(WL) write/read speed test" taking >30s in some configs
2018-05-21 12:27:10 +00:00
Roland Dobai
18e83bcd53 Allow VFS file descriptors in select() 2018-05-18 08:06:33 +02:00
Ivan Grokhotkov
48379b8bbe unit-test.py: increase timeout for test app start up 2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
c61c2a63d0 unity: flush test name before starting the test, use printf everywhere
Unit test runner expects to see the test name echoed after test
selection is made. If the unit test immediately goes into sleep mode,
UART output will not be complete, and test runner will not see the
test name. This flushes the stream buffer and waits for UART FIFO to
be empty before starting the test.

Additionally some parts of code used unity_printf and some used
printf. Since unity_printf was only useful during very early tests
when newlib was not available, replace all its usages with printf.
2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
6185e722c3 Revert "Merge branch 'feature/vfs_select' into 'master'"
This reverts merge request !2074
2018-04-20 11:51:41 +08:00
Roland Dobai
6852d653bd Allow VFS file descriptors in select() 2018-04-17 11:25:30 +02:00
Roland Dobai
33480d1a2c Enable -Wwrite-strings when compiling IDF's own C files 2018-04-10 08:53:33 +02:00
Angus Gratton
53234ef2bc Merge branch 'refactor/rtc_split_module' into 'master'
bugfix(rtc): make sure peripherals (DAC, HALL) are turned off before conversion.

See merge request idf/esp-idf!1848
2018-04-04 09:00:58 +08:00
Ivan Grokhotkov
d7c8866896 Merge branch 'test/support_multi_stage_unit_test_case' into 'master'
unit-test-app: support multi stage unit test case

See merge request idf/esp-idf!2139
2018-04-03 18:20:16 +08:00
He Yin Ling
fee844d22c unit-test-app: support multi stages test 2018-03-30 11:38:49 +08:00
Michael (Xiao Xufeng)
cef8baf424 bugfix(rtc): make sure peripherals (DAC, HALL) are turned off before conversion.
refactor structure of ``rtc_module.c`` to make it more clearly.

Closes https://github.com/espressif/esp-idf/issues/1517
2018-03-28 17:10:01 +08:00
Anton Maklakov
f3d61015f7 build: Fix problems with building kconfig and generating sdkconfig
We had some problems:
    simultaneous compiling of kconfig in the same tree;
    attempt to use menuconfig in some examples and ut in batch mode (w/o interactive console)

Also increase debug abilities in CI:
    force non-interactive building;
    add variable DEBUG_SHELL to toggle verbosity of scripts
2018-03-28 10:39:20 +08:00
houchenyao
5b8a9478a3 CI: new CI ut framework, and can run it in local PC 2018-02-05 06:58:22 +00:00
houchenyao
cb3c88fb2f unit-test-app: use '-' to show test history 2018-02-05 06:58:22 +00:00
Ivan Grokhotkov
82aeb18c3f Merge branch 'test/UT_master_slave_mode' into 'master'
unit-test-app: support multiple devices test cases

See merge request !1220
2017-12-11 15:22:51 +08:00
houchenyao
7a31b93fa3 unit-test-app: support multiple devices test cases:
current unit-test-app don't support test components need to communicate
with each other (like GPIO, SPI ...). Now we add multiple devices mode
to unit test app, support writing and running test with multiple DUTs.

please refer to `docs/api-guides/unit-tests.rst` for detail.
2017-12-07 13:57:26 +08:00
Ivan Grokhotkov
2b92119840 Merge branch 'bugfix/freertos_check_task_waiting_termination' into 'master'
Freertos Task Deletion backport and FPU documentation

See merge request !1591
2017-12-07 11:55:10 +08:00
Darian Leung
38afa32cfb freertos/fix SMP bug with Idle task clean up
This commit backports vTaskDelete() behavior from FreeRTOS v9.0.0  which
allows for the immediate freeing of task memory if the task being deleted
is not currently running and not pinned to the other core. This commit also
fixes a bug in prvCheckTasksWaitingTermination which prevented the
Idle Task from cleaning up all tasks awaiting deletion. Each iteration of the Idle
Task should traverse the xTasksWaitingTermination list and clean up all tasks
not pinned to the other core. The previous implementation would cause
prvCheckTasksWaitingTermination to return when encountering a task
pinned to the other core whilst traversing the xTasksWaitingTermination list.

The test case for vTaskDelete() has been updated to test for the bugfix and
backported deletion behavior.
2017-12-05 18:13:56 +08:00
Ivan Grokhotkov
f0547d58e4 esp_timer: add documentation, expose profiling option in Kconfig 2017-11-29 11:44:46 +08:00
Ivan Grokhotkov
067c0e1ffe Merge branch 'bugfix/cpp_unit_tests_not_executed_by_ci' into 'master'
CI: fix C++ unit test cases not executed by CI

See merge request !1589
2017-11-27 12:48:12 +08:00
Angus Gratton
02304ad83e Merge branch 'feature/freertos_backported_functions' into 'master'
freertos/backport and test v9.0.0 functions

See merge request !1515
2017-11-24 08:49:59 +08:00
He Yin Ling
dd371289aa CI: fix C++ unit test cases not executed by CI 2017-11-23 17:14:23 +08:00
Darian Leung
c1d101dd41 freertos/backport and test v9.0.0 functions
This commit backports the following features from FreeRTOS v9.0.0
- uxSemaphoreGetCount()
- vTimerSetTimerId(), xTimerGetPeriod(), xTimerGetExpiryTime()
- xTimerCreateStatic()
- xEventGroupCreateStatic()
- uxSemaphoreGetCount()

Functions backported previously
- xTaskCreateStatic()
- xQueueCreateStatic()
- xSemaphoreCreateBinaryStatic(), xSemaphoreCreateCountingStatic()
- xSemaphoreCreateMutexStatic(), xSemaphoreCreateRecursiveMutexStatic()
- pcQueueGetName()
- vTaskSetThreadLocalStoragePointer()
- pvTaskGetThreadLocalStoragePointer()

Unit tests were also written for the functions above (except for pcQueueGetName
which is tested in a separate Queue Registry MR). The original tlsp and del cb test case
was deleted and integrated into the test cases of this MR.
2017-11-23 14:18:09 +08:00
Ivan Grokhotkov
6e1453e864 Merge branch 'feature/bot' into 'master'
CI: support customize test with @bot

See merge request !1502
2017-11-21 18:43:56 +08:00
Ivan Grokhotkov
2eae440646 unit-test-app: reduce startup delay, clean up 2017-11-20 17:51:27 +08:00
Ivan Grokhotkov
5117364c13 unit-test-app: don't print the list of tests by default
This reduces unit-test-app startup time when there are a lot of tests
included, speeding up unit tests in CI.
2017-11-20 17:51:27 +08:00
Alexey Gerenkov
692a890232 esp32: Adds Stack Smashing Protection Feature
These changes add posibility to enable GCC stack protector via menuconfig
for all source files in project.
2017-11-17 12:08:36 +03:00
He Yin Ling
9395a702ef test: check and collect performance via CI 2017-11-16 17:48:30 +08:00
Darian Leung
d1853dbbc0 FreeRTOS/make Queue Registry and Run Time Stats configurable
This commit makes the configQUEUE_REGISTRY_SIZE and
configGENERATE_RUN_TIME_STATS configurable in menuconfig.

- configQUEUE_REGISTRY_SIZE can now be set in menuconfig.
- The functions vQueueAddToRegistry() and vQueueUnregisterQueue() were made
  SMP compatbile
- pcQueueGetName() was backported from FreeRTOS v9.0.0
- Added test case for Queue Registry functions

- configGENERATE_RUN_TIME_STATS can now be enabled in menuconfig. CCOUNT or
  esp_timer can be selected as the FreeRTOS run time clock in menuconfig as
  well, although CCOUNT will overflow quickly.
- Run time stats collection (in vTaskSwitchContext) and generation (in
  uxTaskGetSystemState) have been made SMP compatible. Therefore
  vTaskGetRunTimeStats() now displays the run time usage of each task as a
  percentage of total runtime of both CPUs

Squash
2017-11-14 15:50:31 +08:00
Ivan Grokhotkov
7632c6a80c Merge branch 'test/UT_reset_check' into 'master'
Test/ut reset check

See merge request !1086
2017-11-10 11:30:46 +08:00
houchenyao
f80824a2d8 test: support test for UT cases expect to reset 2017-11-07 12:19:39 +08:00
Ivan Grokhotkov
6b420b2452 unit tests: add psram configuration 2017-11-06 11:23:15 +08:00
Angus Gratton
2c72223a4e Merge branch 'bugfix/protect_spiflash_regions' into 'master'
spi_flash: Abort on writes to dangerous regions (bootloader, partition table, app)

See merge request !1452
2017-11-04 12:40:21 +08:00
Angus Gratton
670733df9f spi_flash: Abort on writes to dangerous regions (bootloader, partition table, app)
Can be disabled or made into a failure result in kconfig if needed.
2017-11-03 15:52:27 -07:00
Ivan Grokhotkov
849ad9b37b tools/unit-test-app: fix build warning 2017-11-03 15:49:09 +08:00
Ivan Grokhotkov
59b7d98fec Merge branch 'feature/dfs' into 'master'
Dynamic frequency scaling

See merge request !1189
2017-10-22 12:34:11 +08:00
Darian Leung
a6854b72cd freertos/make trace facility configurable
This commit makes configUSE_TRACE_FACILITY and
configUSE_STATS_FORMATTING_FUNCTIONS configurable in kconfig. Test cases fro the
functions enabled by the two configurations above have also been added.

Test cases for the following functions have been added...

- uxTaskGetSystemState()
- uxTaskGetTaskNumber()
- vTaskSetTaskNumber()

- xEventGroupClearBitsFromISR()
- xEventGroupSetBitsFromISR()
- uxEventGroupGetNumber()

- uxQueueGetQueueNumber()
- vQueueSetQueueNumber()
- ucQueueGetQueueType()

Test cases for the following functions were not required...

- prvListTaskWithinSingleList()
- prvWriteNameToBuffer()
- vTaskList()
2017-10-20 15:17:17 +08:00
Ivan Grokhotkov
90bbcbcdc0 unit tests: fix warnings, build with -Werror
- libsodium: silence warnings
- unit tests: fix warnings
- spiram: fix warnings
- ringbuf test: enable by default, reduce delays
2017-10-19 21:35:23 +08:00
He Yin Ling
0a5b678e58 CI: support test UT with different config by CI 2017-10-19 21:35:20 +08:00
Ivan Grokhotkov
3d150be4e1 unit-test-app: new targets for building different configurations 2017-10-19 21:35:19 +08:00
Ivan Grokhotkov
bfeecd2b56 freertos: deprecate XT_CLOCK_FREQ
- freertos: add deprecated definition for XT_CLOCK_FREQ
- flash_ops: don't use XT_CLOCK_FREQ
- unity: don't use XT_CLOCK_FREQ
- hw_random: don't use XT_CLOCK_FREQ
- core_dump: don't use XT_CLOCK_FREQ
- app_trace: don't use XT_CLOCK_FREQ
- xtensa_init: init xt_tick_divisor
2017-10-18 14:19:19 +08:00
Ivan Grokhotkov
2b3325b1ab unit tests: fix ref_clock value obtained due to overflow 2017-10-18 14:19:15 +08:00
Angus Gratton
69e92ee320 unit tests: If heap tracing is enabled in sdkconfig, leak trace each test 2017-10-17 15:29:25 +08:00
Angus Gratton
6f07e0797d Unit tests: If a test fails due to corrupting memory, don't print a misleading source file name 2017-10-17 14:46:08 +08:00
Angus Gratton
0a52dbccca Merge branch 'bugfix/spi_reset_race' into 'master'
periph_ctrl: Refactor to add periph_module_reset(), avoid potential race in SPI DMA workaround

See merge request !1349
2017-10-13 08:51:36 +08:00
Angus Gratton
5d8bd1aa9e Merge branch 'bugfix/libsodium_mbedtls_sha' into 'master'
libsodium: Fix mbedTLS SHA256 & SHA512 implementation, make optional

See merge request !1329
2017-10-13 08:50:24 +08:00
Angus Gratton
acff3c9c59 libsodium: Fix mbedTLS SHA256 & SHA512 implementation, make optional
* Only direct invocation of cypto_hash_sha256 & crypto_hash_sha512 produced correct output.
* Some remaining header file mixups, so changed approach to wrapping the state structures.
* Fixes https://github.com/espressif/esp-idf/issues/1044 (crypto_sign problems)
* Add option to disable mbedTLS implementation for SHA256 & SHA512 in libsodium
2017-10-06 11:51:55 +11:00
Angus Gratton
0dd9b899b7 periph_ctrl: Refactor to add periph_module_reset(), avoid potential race in SPI DMA workaround
Also refactor use of direct clock access in unit test ref_clock (probably not a real issue)
2017-10-02 17:48:16 +11:00
michael
7370f2913d test: update the format of TEST_ASSERT macro series in `unity.c` 2017-09-27 19:56:46 +08:00
Ivan Grokhotkov
01c0c4b661 unit-test-app: initialize partition table info before starting the test 2017-09-19 10:39:44 +08:00
me-no-dev
dd87deb278 Add SPIFFS Component to IDF 2017-09-11 19:56:40 +03:00
Angus Gratton
1c7b8aa3a5 Heap tracing support 2017-09-07 16:32:05 +10:00
Angus Gratton
64bfdf56bb Unit tests: enable comprehensive heap poisoning checks 2017-09-07 16:32:05 +10:00
Angus Gratton
5222428dde unit tests: Check heap integrity after each test, check for obvious leaks 2017-09-07 16:32:05 +10:00
Angus Gratton
5361c08989 heap: Support adding new heap regions at runtime
To facilitate this, the list of registered heap regions is now a linked list
(allowing entries to be appended at runtime.)
2017-09-05 14:07:02 +10:00
Jeroen Domburg
34372a091c Add initial SPI RAM support. This adds support for an ESP-PSRAM32 chip connected to the default flash pins and GPIO 16 and 17. The RAM is mapped to address 0x3F800000, but otherwise ignored by esp-idf as of yet. 2017-09-04 12:05:49 +08:00
Ivan Grokhotkov
5666fc0a56 Merge branch 'feature/esp_timer_improvements' into 'master'
esp_timer improvements

See merge request !1172
2017-09-01 16:14:01 +08:00
Ivan Grokhotkov
d2acf1ce77 sleep: add light sleep, factor out APIs common for deep/light sleep 2017-09-01 10:36:14 +08:00
Ivan Grokhotkov
9a2c62cf2b unity: add reference clock for use in unit tests 2017-09-01 10:34:36 +08:00
Ivan Grokhotkov
a25eb825e1 Merge branch 'bugfix/dport_protect_crypto' into 'master'
add protection for crypto registers in DPORT

See merge request !928
2017-08-30 11:45:35 +08:00
Ivan Grokhotkov
80486240c6 unity: log error codes as hex
Error codes are normally defined as hex numbers in header files, so
changing the assert macro to print them as hex as well.
2017-08-29 08:35:23 +08:00
Angus Gratton
0ea4cd67dd mbedtls: Remove "unsafe" warning, enable AES by default & make SHA/MPI optional 2017-08-25 16:08:03 +10:00
Ivan Grokhotkov
b9cdbfea87 Merge branch 'test/UT_SDMMC' into 'master'
Enable SDMMC driver test cases

See merge request !1106
2017-08-24 14:41:39 +08:00
houchenyao
cf64c7e9a6 unit test: add sd env and spi env for sdmmc 2017-08-22 21:01:34 +08:00
Kedar Sovani
8348a71847 ethernet: remove CONFIG_ETHERNET
1. Hello World application shows no footprint difference before and
after this change
2. examples/ethernet/ethernet application compiles properly (can't
test with my board)
2017-08-18 08:31:43 +05:30
Kedar Sovani
63c738de4c sdkconfig: Remove rest of the references to WIFI_ENABLED 2017-08-16 15:55:42 +05:30
Alexey Gerenkov
c2c9149a24 esp32: Apptrace API enhancement
- User down buffer configuration support
 - bugfix: ring buf - avalable write size undeflow
 - SysView down buf support updated
2017-07-24 19:57:44 +03:00
Angus Gratton
17adb40ca8 bootloader: Calculate SHA256 hash of image on every boot
Makes app image booting more reliable (256-bit rather than 8-bit verification.)

Some measurements, time to boot a 655KB app.bin file and run to app_main() execution.

(All for rev 1 silicon, ie no 340ms spurious WDT delay.)

80MHz QIO mode:
before = 300ms
after = 140ms

40MHz DIO mode:
before = 712ms
after = 577ms

40MHz DIO mode, secure boot enabled
before = 1380ms
after = 934ms

(Secure boot involves two ECC signature verifications (partition table, app) that take approx 300ms each with 80MHz CPU.)
2017-07-19 18:31:59 +10:00
Angus Gratton
fd9d889e62 mbedtls unit tests: Allow for longer timeout using software SHA
Hardware SHA runs SHA operations faster than software...
2017-07-06 15:54:01 +08:00
Ivan Grokhotkov
9b955f4c9f Merge branch 'feature/sysview_via_apptrace' into 'master'
sysview via apptrace

See merge request !708
2017-06-29 08:40:13 +08:00
Alexey Gerenkov
8d43859b6a esp32: SEGGER SystemView Tracing Support
Implements support for system level traces compatible with SEGGER
SystemView tool on top of ESP32 application tracing module.
That kind of traces can help to analyse program's behaviour.
SystemView can show timeline of tasks/ISRs execution, context switches,
statistics related to the CPUs' load distribution etc.

Also this commit adds useful feature to ESP32 application tracing module:
 - Trace data buffering is implemented to handle temporary peaks of events load
2017-06-27 20:52:43 +03:00
Angus Gratton
5dca92377d test runner: Print test name when starting, print filter description
Makes it easier to run tests manually.
2017-06-26 15:38:46 +10:00
Ivan Grokhotkov
b78a8ae035 unit-test-app: increase space for factory partition to 1280K 2017-06-15 18:15:36 +08:00
Angus Gratton
211580bf4f Add libsodium v1.0.12
Run some unit test cases based (poorly) around sodium's test infrastructure.

Increase in unity test task stack is due to signature tests, load a lot of data onto the stack.
2017-06-14 15:51:08 +10:00
Angus Gratton
5a1a8b4637 Merge branch 'bugfix/resume_task_cpu1_when_scheduler_disabled' into 'master'
Fix bug waking a task on CPU1 when scheduler is disabled

See merge request !819
2017-06-09 07:10:10 +08:00
Angus Gratton
f40ae10a5d freertos: add test case for ISRs waking tasks when scheduler disabled 2017-06-05 16:12:20 +10:00
Anton Maklakov
91718cc776 unit-test-app: Fix incorrect CR+LF sequence.
This caused problems with handling output by grep, sed, etc
2017-06-05 10:51:48 +08:00
He Yin Ling
9b39be9559 CI: fix bug of duplicated unit test case ID:
need to compare if different file names has the same hash value.
use relative path to IDF to keep test case ID consist.
2017-06-03 11:38:05 +08:00
Anton Maklakov
144d345b3b unit-test-app: Fix capability to use !<filter> to inverse that filter 2017-06-01 12:23:14 +08:00
Ivan Grokhotkov
972d1d9242 Merge branch 'feature/ci_test_config_autogen' into 'master'
CI: auto generate configs for test jobs

Currently CI test jobs are static configured by several pre-generated config files.
This approach have several disadvantages:

1. not flexible to select test cases to run, which is important feature of @bot
2. difficult to update test as we need to pre-generate quite a lot files
3. need to maintain extra config files in IDF
4. not flexible to support new test apps or chips, can't use some new features of test bench

Therefore we'll add assign_test stage between build and test, to generate configs for test jobs.

See merge request !738
2017-05-19 11:56:45 +08:00
Angus Gratton
ca4f5b9ee6 unit test runer: Add capability to use ![tag] to run all-tests-except-tag
Mostly useful for running ![ignore] to skip ignored tests.
2017-05-10 17:22:30 +10:00
Ivan Grokhotkov
04eb6f6129 Merge branch 'feature/save_esptool_flash_args' into 'master'
CI: save download config in CI build jobs:

IDF built app download config may change with some modification.
save the download configs for built APP in build stage.
then we can use the correct download config in test stage.

See merge request !676
2017-05-08 15:48:28 +08:00
He Yin Ling
b045df6507 CI: remove auto assign case script for UT:
we'll now auto assign all test cases in assign_test_case job. remove the
duplicated functions in unit test script.
2017-05-08 11:44:45 +08:00
Ivan Grokhotkov
33b8b7855e Merge branch 'bugfix/spiflash_fatfs_fixes_and_tests' into 'master'
FATFS fixes and tests

This MR includes a set of fixes related to FATFS, SDMMC, and wear levelling:

- `esp_vfs_fat_spiflash_mount` uses `FM_SFD` flag when creating the partition. The volume layout (given in `VolToPart` variable) was not compatible with SFD mode, so mkfs was failing. This fixes the volume layout to use "autodetect" for both volumes. Merges https://github.com/espressif/esp-idf/pull/559.

- fix `prepend_drive_to_path`function, which didn't prepend drive to path (while consuming 2k of stack space)

- fix stack overflow in vfs_fat_link function which allocated two 4kbyte `FIL` structures on the stack

- fix support for having two FATFS instances (in flash and SD) mounted at the same time

- unit tests written for FATFS on SDMMC are made common between SDMMC and WL implementations; FATFS unit tests on WL will run during CI

- fix inconsistent definition of PATH_MAX and ARG_MAX (TW12207, TW12104, https://github.com/espressif/esp-idf/issues/289)

See merge request !732
2017-05-05 17:03:17 +08:00
Ivan Grokhotkov
a428af8c9f unit tests: change type of flash_test partition to ‘fat’
This change makes the spi_flash test partition usable for WL and FATFS
tests.
2017-05-05 15:21:37 +08:00
Angus Gratton
72c7941b5e Unit tests: Add FreeRTOS timer tests 2017-05-05 14:38:15 +10:00
He Yin Ling
2b273388dd CI: save download config in CI build jobs:
IDF built app download config may change with some modification.
save the download configs for built APP in build stage.
then we can use the correct download config in test stage.
2017-05-02 13:17:56 +08:00
Angus Gratton
66726ec166 freertos: Enable vTaskSuspend()/vTaskResume() API
Adds relevant unit tests.

TW11878
2017-04-26 12:50:20 +10:00
Alexey Gerenkov
55f1a63faf esp32: Adds functionality for application tracing over JTAG
- Implements application tracing module which allows to send arbitrary
   data to host over JTAG. This feature is useful for analyzing
   program modules behavior, dumping run-time application data etc.
 - Implements printf-like logging functions on top of apptrace module.
   This feature is a kind of semihosted printf functionality with lower
   overhead and impact on system behaviour as compared to standard printf.
2017-04-17 23:26:29 +03:00
Angus Gratton
b99d5df922 unit tests: Shrink unit test partition table so tests can run on 2MB of flash 2017-04-13 17:55:49 +10:00
He Yin Ling
6a759e7cef CI: fix bug in generating UT CI runner config:
the first case ID in filter is incorrect. Should put test case ID but
not test case itself to the filter.
2017-04-10 15:35:32 +08:00
He Yin Ling
678a7b53f7 CI: revise unit test parser 2017-04-06 19:09:16 +08:00
antti
bda63abb40 CI: modify unit test parser to parse unit test cases from build files
Previously test cases were parsed from test files
2017-04-06 17:40:55 +08:00
Angus Gratton
45581dbaca freertos: Delay context switch from queue/task APIs until exiting critical section
Closes #374: https://github.com/espressif/esp-idf/issues/374
2017-04-04 10:10:08 +10:00
Angus Gratton
8352e7e9ec unit test: Measure test wall time with CCOUNT, so it includes time w/ interrupts off 2017-03-22 15:35:54 +08:00
Angus Gratton
2156408d45 Merge branch 'feature/aws_iot_sdk' into 'master'
Amazon AWS IoT SDK

Amazon IoT SDK component, plus two examples derived from their Linux samples.


See merge request !132
2017-03-14 10:21:08 +08:00
Angus Gratton
da660b234c AWS IoT Device SDK Support
Use device cert/key embedded in firmware, or loaded from filesystem.
2017-03-13 17:23:29 +08:00
antti
1e2c5cc151 fix unit test app to print tests in the same order they are given in files 2017-03-13 12:06:49 +08:00
Angus Gratton
fd8703bd2a Merge branch 'bugfix/unit_test_parser_only_dirs' into 'master'
unit tests: Make UnitTestParser ignore non-directories inside 'components' dirs

Tiny fix to UnitTestParser script behaviour, if you happen to have any stray files in your "components" directories.

See merge request !561
2017-03-09 06:58:02 +08:00
Angus Gratton
e014d268fe unit tests: Make UnitTestParser ignore non-directories inside 'components' dirs 2017-03-07 10:16:52 +11:00
Ivan Grokhotkov
66552c228c unit-test-app: default to 4MB flash 2017-03-04 14:56:41 +08:00
Angus Gratton
f687725e97 unit tests: Use a unit test app partition table, configure spi_flash to use data partition 2017-02-22 10:26:04 +11:00
antti
0501507d6b CI: add script for parsing unit test cases for CI from test files
Add python script that parses list of unit test cases for CI from component test folder

Modify .gitlab-ci.yml to run this script as part of build unit tests stage
2017-01-18 17:08:20 +08:00
Ivan Grokhotkov
5b2888e113 unity: fix testcase initializer for compiling with C++ 2017-01-06 14:56:02 +08:00
Jeroen Domburg
6f0a494cae Add testcase, fix executable memory allocated in shared dram/iram region 2016-12-15 15:03:22 +08:00
Jeroen Domburg
cb9ef19d3b Also add intr_alloc magic to rtc code 2016-12-08 12:57:57 +08:00
Jeroen Domburg
ae8c37e0b6 Add disabling/enabling of shared interrupt, add testcase for interrupts 2016-12-08 12:39:33 +08:00
Ivan Grokhotkov
a35e4f5923 Merge branch 'feature/unit_test_app_tweaks' into 'master'
unit-test-app: Don't auto-display menu after test run finishes

Previous code would sometimes display menu multiple times, depending on UART activity.

See merge request !253
2016-12-07 10:28:19 +08:00
Angus Gratton
69df54a28c unit-test-app: Don't auto-display menu after test run finishes
Previous code sometimes menu multiple times, depending on UART activity.
2016-12-06 11:25:31 -08:00
Ivan Grokhotkov
ab3677d64c initial support for generation of ULP coprocessor code 2016-12-01 20:26:47 -08:00
Angus Gratton
a902e2a9de mbedtls tests: Add additional MPI (bignum), SHA tests 2016-11-25 19:21:49 +11:00
antti
15d96eccdb add build all unit tests in project.mk and update doc 2016-11-23 11:42:12 +08:00
antti
d390449371 add unit tests to esp-idf
rename nvs host test folder, modify .gitlab-ci.yml

remove unit-test-app build

re-format unit test files

remove extra newlines in project.mk

some refactoring for unit test part in project.mk

add build files of unit-test-app in gitignore

add README.md for unit test app

correct headings in README.md

remove files and make minor tweaks in unit test app

update .gitlab-ci.yml to use unit test app

delete unused lines in component_wrapper.mk

delete periph_i2s.h and lcd test

add text floating point in components/esp32/test/Kconfig

correct idf test build paths in .gitlab-ci.yml
2016-11-22 14:45:50 +08:00