Commit Graph

264 Commits

Author SHA1 Message Date
He Yin Ling
1884151ca8 CI: support test one case multiple times by @bot 2018-07-28 15:06:18 +08:00
He Yin Ling
2d31597fa9 tiny-test-fw: support ignore test cases in CI assign test stage 2018-07-28 15:04:14 +08:00
He Yin Ling
715dfac07e tiny-test-fw: fix exception during print debug info:
DUT log is unicode, might not be able to encode
2018-07-28 15:03:58 +08:00
He Yin Ling
bf72ed92a9 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-28 15:03:30 +08:00
He Yin Ling
fa9c836f02 tiny-test-fw: save DUT log in different thread:
We found some SD card on Raspberry Pi could have very bad performance.
It could take seconds to save small amount of data.
If the DUT receives data and save it as log, then it stops receiving data until log is saved.
This could lead to expect timeout. As an workaround to this issue,
``BaseDUT`` class will create a thread to save logs.
Then data will be passed to ``expect`` as soon as received.
2018-07-28 15:00:41 +08:00
He Yin Ling
609e39a620 tiny-test-fw: fix incorrect wait timeout in expect 2018-07-28 15:00:28 +08:00
He Yin Ling
3956fe30c0 tiny-test-fw: filter examples with test level 2018-07-28 15:00:16 +08:00
He Yin Ling
831e8d653f tiny-test-fw: print expect failure when test fails 2018-07-28 15:00:01 +08:00
Piyush Shah
6d0a9fe95e nvs_partition_generator: Modifications to enable using the utility as a Python library
And also use directly as an executable
2018-07-17 19:24:04 +05:30
Roland Dobai
b8937e5522 idf_monitor: Fix console performance
51e42d8e92
introduced filtering options which handles the last (unterminated) line
with a delay. This introduced poor performance for console applications
when the user interacts with the ESP32 device in the same line because
there is an artificial delay for each key-press.

bb152030a0
decreased the delay but there are still delays for each key-presses.

The current fix makes only one delay per line instead of each
key-presses. When an unterminated line is detected then no more
"delayed" print is used for the given line.

Fixes https://github.com/espressif/esp-idf/issues/2054
2018-07-03 09:15:46 +02:00
Ivan Grokhotkov
26e1136fc5 esp_err_to_name.py: guess IDF_PATH if not set in environement
Fixes the issue that esp_err_to_name.py would fail when called in
documentation build process, when there was no IDF_PATH set.
2018-06-25 13:43:32 +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
Angus Gratton
43b6c76bba Merge branch 'feature/expansion_space_for_bootloader' into 'master'
partition_table: Moving to custom offset

See merge request idf/esp-idf!2263
2018-06-18 12:34:53 +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
Ivan Grokhotkov
d9f8311b9d docs: add error codes reference 2018-06-15 15:49:24 +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
Roland Dobai
bb152030a0 Fix the console performance issue
The IDF monitor waits for one second before printing the last
unterminated line. This is necessary for the correct filtering.
However, this causes poor performance, for example, in the case of the
system/console example.

This fix reduces the waiting time which improves the response time of
the console example and doesn't seem to influence the monitor filter.

Closes https://github.com/espressif/esp-idf/issues/2054
2018-06-13 08:05:31 +02: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
3e0ac4db79 partition_table: Expanding the space under the bootloader
Allows you to move the partition table, it gives more space for the bootloader.
Added a new utility - parttool.py. This utility can search for the offset and/or size of the partitions by name and type/subtype. Use for getting APP_OFFSET and PHY_DATA_OFFSET.
The linker(esp32.bootloader.ld) made changes that allow you to write a custom bootloader code more.

TW14125
2018-06-08 18:47:29 +05:00
Angus Gratton
c99a30a167 Merge branch 'bugfix/wakeup_from_deep_sleep' into 'master'
esp32: Fix not the right time spent in a deep sleep

See merge request idf/esp-idf!2501
2018-06-08 10:40:47 +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
Roland Dobai
51e42d8e92 idf_monitor: add support for filtering options 2018-06-05 12:23:27 +02:00
Ivan Grokhotkov
74928b9bcb ci: check for executable flag on source files 2018-05-29 20:07:45 +08: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
a68b93d6f3 tiny-test-fw: show descriptive error when test case assignment fails:
Will give hint when any job failed to assign:

```
Please add the following jobs to .gitlab-ci.yml with specific tags:
* Add job with: psram, ESP32_IDF, UT_T1_1
* Add job with: psram, ESP32_IDF, UT_T1_1
```
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
035dc66cce Merge branch 'bugfix/esp_err_to_name_windows' into 'master'
gen_esp_err_to_name.py: Use normal file I/O instead of mmap()

See merge request idf/esp-idf!2425
2018-05-22 11:31:17 +08: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
Angus Gratton
b14bbd4205 gen_esp_err_to_name.py: Use normal file I/O instead of mmap()
mmap is different on Python for Windows
2018-05-21 17:34:18 +10:00
Roland Dobai
18e83bcd53 Allow VFS file descriptors in select() 2018-05-18 08:06:33 +02:00
He Yin Ling
9e7a69be88 example test: integrate wifi throughput test to CI 2018-05-15 13:42:27 +08:00
He Yin Ling
2b068f3ceb tiny-test-fw: fix misc bugs:
1. configs are not functional
    * decorator will be executed when search case, need to set default config before search case.
2. fix DUT encode/decode errors
    * python3 serial don't support write string/unicode, need to convert to bytes first.
    * python2 string could failed to encode/decode non-acsii chars
3. fix bug that log folder not created
4. fix bug that test suite name is not correctly passed:
    * the keyward arg should be `test_suite_name` not `test_name`
5. fix bug that test stopped on failed case
6. fix DUT `read` don't return all data cache
    * `_DataCache.get_data` should first copy all data from queue to data cache and then return to user.
7. fix bug that `expect_all` failed even all expected item passed
8. optimize error info for expect
    * print pattern for regular expression when match failed
9. fix bug that set default config doesn't work
2018-05-15 03:29:31 +00:00
He Yin Ling
98d1f05ab5 tiny-test-fw: add utilities:
1. Attenuator: control programmable attenuator
2. PowerControl: control APC PDU to power on/off devices
3. LineChart: use matplotlib to draw line chart
2018-05-15 03:29:31 +00:00
He Yin Ling
3b3a915552 tiny-test-fw: implement env.get_pc_nic_info:
this method is used to get mac/ipv4/ipv6 address for one NIC
2018-05-15 03:29:31 +00:00
Ivan Grokhotkov
e9cbf96bd1 mbedtls: re-add version 2.9.0 as a submodule 2018-05-09 23:15:28 +08:00
Ivan Grokhotkov
0d65f3b7f9 Merge branch 'bugfix/light_sleep_fixes' into 'master'
light sleep fixes

See merge request idf/esp-idf!2242
2018-05-02 20:09:36 +08: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
Angus Gratton
fa3205737f partition_table: Check configured flash size fits in partition table
Check happens at build time, so flash size config may need to be changed.

Also fixes MD5_OPT undefined warning, closes https://github.com/espressif/esp-idf/issues/1867
2018-04-26 09:51:55 +10:00
Ivan Grokhotkov
907248b6a7 Merge branch 'feature/nvs_coverage' into 'master'
NVS: add power off recovery and coverage test into CI

See merge request idf/esp-idf!2246
2018-04-24 23:42:00 +08:00
Ivan Grokhotkov
4e982d4b18 Merge branch 'feature/idf_size_report_symbols' into 'master'
Feature/idf-size: report per-archive symbols and their sizes

See merge request idf/esp-idf!1956
2018-04-20 23:55:19 +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
Ivan Grokhotkov
9d0751e2b1 ci: support jobs which don’t run unless triggered by name
By default, any job will run unless a filter is given, in that case
the filter will determine if the job should run or not. Some jobs do
not need to be run by default, and should only be triggered using the
bot. For such jobs, BOT_NEEDS_TRIGGER_BY_NAME can added to
environment variables.
2018-04-19 15:08:08 +08:00
Ivan Grokhotkov
88d0d6ffb0 Merge branch 'feature/vfs_select' into 'master'
Allow VFS file descriptors in select()

See merge request idf/esp-idf!2074
2018-04-19 15:06:02 +08:00
Ivan Grokhotkov
96b4a45cde Merge branch 'feature/remove_make_dependency_on_git' into 'master'
make: remove build system dependency on `git` using some hooks

See merge request idf/esp-idf!2211
2018-04-19 13:01:12 +08:00
Roland Dobai
6852d653bd Allow VFS file descriptors in select() 2018-04-17 11:25:30 +02:00
Ivan Grokhotkov
790049b3dd build: remove some debug lines printed when V=0
With V=0, build process would print “including .../Makefile.projbuild" lines, causing problems for print_flash_cmd target.
The issue was due to the way macro expansion works in make. To delay evaluation of info function until the execution of expanded block, two dollar signs are required.
Test for print_flash_cmd target added.
2018-04-17 08:04:38 +08:00