Commit graph

187 commits

Author SHA1 Message Date
Angus Gratton d40c69375c bootloader: Add fault injection resistance to Secure Boot bootloader verification
Goal is that multiple faults would be required to bypass a boot-time signature check.

- Also strengthens some address range checks for safe app memory addresses
- Change pre-enable logic to also check the bootloader signature before enabling SBV2 on ESP32

Add some additional checks for invalid sections:

- Sections only partially in DRAM or IRAM are invalid
- If a section is in D/IRAM, allow the possibility only some is in D/IRAM
- Only pass sections that are entirely in the same type of RTC memory region
2020-02-27 14:37:19 +05:30
Anton Maklakov 5ea4d7ba61 Merge branch 'ci/ut_esp32s2_allow_schedule' into 'master'
ci: allow esp32s2 unit tests run by scheduled pipeline

See merge request espressif/esp-idf!7796
2020-02-27 14:48:10 +08:00
Michael (XIAO Xufeng) 7f8c827326 Merge branch 'bugfix/fix_driver_ut_pcnt' into 'master'
bugfix(pcnt): fix driver ut pcnt

See merge request espressif/esp-idf!6891
2020-02-27 11:29:28 +08:00
Michael (XIAO Xufeng) 9199207c67 ci: allow esp32s2 unit tests run by scheduled pipeline 2020-02-27 11:20:08 +08: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
xiongyu 4d5c950770 bugfix(pcnt): fix driver ut pcnt
* Let `[ignore] case` return to freedom

  1) Because this test uses its own ISR, we need to release it with `esp_intr_free` instead of `pcnt_isr_service_uninstall`.

  2) `pcnt_evt_queue` needs to be created before the interrupt is registered and needs to be released at the end of each case.

* Add test support for ESP32S2

* Support chip internal connection, no external wiring required.
2020-02-26 16:52:53 +08:00
michael f8fae4c80c spi_flash: resume unit tests for ESP32-S2 2020-02-26 11:12:08 +08:00
Roland Dobai c4421629c8 Tools: Add tests for confgen.py 2020-02-25 17:15:46 +01:00
Jakob Hasse c6deffb8a2 NVS Flash: prevent erasing initialized partition
Closes https://github.com/espressif/esp-idf/issues/4755
Closes https://github.com/espressif/esp-idf/issues/2777

* nvs_flash_erase_partition() checks whether
  the parition in question is initialized
  already and will return an error if so
* reflect changes in the documentation
2020-02-19 18:16:04 +01:00
Angus Gratton a0644bf8ae Merge branch 'test/resume_ut_esp32s2' into 'master'
ci: resume esp32s2 unit tests

See merge request espressif/esp-idf!7436
2020-02-18 10:58:14 +08:00
Anton Maklakov 8222ab7330 Merge branch 'bugfix/ci_no_attempts_no_custom_toolchain_url' into 'master'
ci: no stage attempts variables,  no custom toolchain url

See merge request espressif/esp-idf!6689
2020-02-17 11:05:58 +08:00
michael 24b16b0b19 ci: resume esp32s2 unit tests 2020-02-15 18:28:24 +08:00
Jakob Hasse 9b4815e3c8 ESP Event: multiple registrations to one event
* It's possible now to register the same handler
  several times to one specific event, using
  a dynamic handle object.
2020-02-11 10:52:05 +01:00
Angus Gratton 7bd2677d5d Merge branch 'bugfix/ci_doc_fixes' into 'master'
docs: CI fixes

See merge request espressif/esp-idf!7539
2020-02-11 06:38:34 +08:00
Anton Maklakov d6a5bb60da ci: remove using IDF_XTENSA_TOOLCHAIN_URL because there are idf_tools.json and multi-target support 2020-02-10 18:05:21 +07:00
Angus Gratton 0441c5d744 docs ci: Use the final version of the esp-idf-doc-env image
(Content is the same)
2020-02-10 19:55:46 +11:00
Angus Gratton f906095789 docs ci: Ensure deploy directory exists 2020-02-10 19:55:15 +11:00
David Cermak 911be99054 mqtt-tests: migrate the publish-connection test from example-test to test-apps 2020-02-07 21:14:24 +01:00
Angus Gratton 3017bfb8e3 Merge branch 'feature/test_apps_v2' into 'master'
test apps (2nd attempt)

Closes IDF-641

See merge request espressif/esp-idf!7084
2020-02-07 15:23:26 +08:00
Angus Gratton 291735c7dd docs: Move to Python 3.5+ and Sphinx 2.3 2020-02-07 16:47:50 +11:00
Angus Gratton ee03e04947 docs: Run build_docs script in ci 2020-02-07 16:37:44 +11:00
David Cermak 692deac5ae CI: assign and target-test stages updated to run test-apps in the ci 2020-02-06 16:46:41 +00:00
Ivan Grokhotkov e63764b468 CI: test-apps introduction
Introducing feature of adding arbitrary projects which could be build or
executed in the CI for the only purpose as testing

Closes IDF-641
2020-02-06 16:46:41 +00:00
Roland Dobai 5454c268f7 Docs: Omit kconfig configurations not available for the target 2020-01-30 10:30:06 +01:00
morris e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
Ivan Grokhotkov 2c3e6481bb Merge branch 'feature/ci_check_cpp_guards' into 'master'
ci: add job to check for C++ guards in header files

Closes IDF-288

See merge request espressif/esp-idf!7050
2020-01-21 17:18:23 +08:00
Jakob Hasse c8137c5298 C++: rtti unit tests, corresponding CI config 2020-01-13 16:39:21 +08:00
Ivan Grokhotkov 404d2ae908 test: increase number of unit test jobs 2020-01-13 16:13:44 +08:00
Ivan Grokhotkov 216dac8721 Merge branch 'test/add_esp32s2beta_ssc_build_job' into 'master'
test: add build ssc job for esp32s2beta

See merge request espressif/esp-idf!7068
2020-01-13 10:19:48 +08:00
Anton Maklakov ac0c7cce9c ci: fix tags for internal deploy jobs 2020-01-10 17:36:52 +07:00
David Cermak 2c0bd88786 ci: public header check: add test for sdkconfig values
if the CONFIG_XXX macros used then sdkconfig.h should be included.
Also added support for multi-process execution
2020-01-10 10:11:21 +01:00
David Cermak cf9cab4723 ci: public header check: add test whether all headers compile
script checks cpp guards preprocessing with C and CPP compiler and
compares outputs. As a part of this check also a test whether all header
files compile is performed.

IDF-288
2020-01-10 09:44:39 +01:00
Ivan Grokhotkov c6d6fe0316 ci: add job to check for C++ guards in header files 2020-01-10 09:44:39 +01:00
He Yin Ling bb442bd015 test: add build ssc job for esp32s2beta 2020-01-10 14:14:51 +08:00
Shubham Kulkarni 563175d90a mbedtls: Use SPIRAM strategy in example_test.py 2020-01-03 15:30:03 +05:30
Mahavir Jain 97c8b90083 Merge branch 'bugfix/advanced_https_ota_example' into 'master'
Bugfix for failing OTA example

Closes IDF-1080 and IDFGH-2249

See merge request espressif/esp-idf!6979
2020-01-02 17:29:35 +08:00
morris 8f98c3746a ci: increase parallel count for esp32s2 unitest 2020-01-01 13:58:50 +08:00
morris 13b98e17a6 ci: enable python2 lint 2020-01-01 13:04:50 +08:00
Shubham Kulkarni 032a041395 Bugfix for failing OTA example
example_test.py is added to test advanced_https_ota_example and native ota_example.

Closes https://github.com/espressif/esp-idf/issues/4394
2019-12-31 14:18:16 +05:30
He Yin Ling 07f186a6a5 CI: reduce number of unit test jobs 2019-12-30 20:21:00 +08:00
He Yin Ling f63e91b950 test: let unit test jobs use python3 2019-12-30 20:20:14 +08:00
Angus Gratton 5139934767 bootloader_common: Fix esp_partition_get_sha256(), add unit tests
Regression in 438d513a95

Reported here: https://esp32.com/viewtopic.php?f=13&t=13250&p=52460
2019-12-30 13:47:47 +11:00
Mahavir Jain 2e73c2818b freertos: re-enable mutext test for esp32s2beta 2019-12-16 11:55:32 +05:30
Angus Gratton f7b51c164d Merge branch 'bufgix/esp_timer_set_alarm' into 'master'
esp_timer: Fix set_alarm. Case when timestamp < now_time

Closes WIFI-1511

See merge request espressif/esp-idf!6960
2019-12-16 13:39:44 +08:00
KonstantinKondrashov c6b681827d target-test.yml: Increase parallel count +1 for ESP32_IDF, UT_T1_1 2019-12-13 13:51:47 +08:00
Angus Gratton 4f1d49d8c2 Merge branch 'feature/esp32s2beta_hw_crypto_support' into 'master'
hw crypto: activated hardware acceleration for esp32s2beta

Closes IDF-757

See merge request espressif/esp-idf!6615
2019-12-13 13:40:33 +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 b18e7b94a2 ci: Keep build artifacts for 4 days 2019-12-12 09:39:27 +11:00
chenyudong a6de0e8846 ci: fix job "check_wifi_lib_md5" 2019-12-11 13:10:23 +08:00
Alex Lisitsyn 44444208b7 freemodbus: update poll event processing
update modbus poll event loop processing to process multiple events
2019-12-10 14:27:09 +08:00
He Yin Ling ca0ce7171d CI: reduce number of test jobs 2019-12-08 20:32:11 +08:00
He Yin Ling b4863551a9 CI: modify fetch submodule method:
download archive for submodules instead of clone
2019-12-08 20:32:10 +08:00
He Yin Ling 89f8e19850 CI: support only download artifacts by request:
use CI dependencies could waste a lot bandwidth for target test jobs, as
example binary artifacts are very large. Now we will parse required
artifacts first, then use API to download required files in artifacts.
2019-12-07 10:34:54 +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
Felipe Neves b0491307fc target-test: bumping test cases parallel count 2019-12-04 10:41:00 -03:00
Angus Gratton 054724596d Merge branch 'feature/add_ir_protocol_example_test' into 'master'
rmt: enable ir protocols example test

Closes IDF-906

See merge request espressif/esp-idf!6856
2019-12-04 14:35:22 +08:00
Angus Gratton 6563378812 Merge branch 'bugfix/ci_check_first' into 'master'
CI: Do trivial checks first in order to save build time

See merge request espressif/esp-idf!6671
2019-12-04 13:57:35 +08:00
Angus Gratton 38be5c140a Merge branch 'feat/esp_ser_and_sdio_test' into 'master'
essl: new component to communicate with esp serial slave devices

Closes IDF-1002

See merge request espressif/esp-idf!6166
2019-12-04 11:03:14 +08:00
Michael (XIAO Xufeng) d158fa3f5c sdio: add unit test between host and slave 2019-12-03 22:58:42 +08:00
Ivan Grokhotkov a4addc88f2 ci: remove dependencies from link_check job 2019-12-03 10:40:30 +01:00
morris c43fe5e52e rmt: enable ir protocols example test 2019-12-03 10:45:53 +08:00
Roland Dobai b52b49c8b6 CI: Do check first in order to save build time 2019-12-02 09:58:31 +01:00
Angus Gratton 0855fba8a6 Merge branch 'bugfix/reduce_ci_job_number'
Manually merge !6863
2019-12-02 15:01:10 +11:00
Jiang Jiang Jian e2e2de95b4 Merge branch 'feature/check_wifi_lib_md5_on_host' into 'master'
esp_wifi: check header files MD5 on host

See merge request espressif/esp-idf!6656
2019-11-28 16:48:53 +08:00
He Yin Ling 6b6b42a0b5 ci: reduce the number of UT jobs 2019-11-28 10:44:31 +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
Ivan Grokhotkov 568f0af61a esp_wifi: check header files MD5 on host 2019-11-27 23:00:11 +08:00
morris dcd99b0ad1 enlarge example cmake build job parallel num 2019-11-27 14:14:08 +08:00
Alex Lisitsyn 67f62a79c1 freemodbus: add modbus master ascii
add support of modbus master ascii
rename base dir name of master and slave example to be mb_slave, mb_master to avoid conflict with sdio/slave example test
add Kconfig option to enable ASCII and RTU mode separately
update ASCII options + remove cast for errors
added baudrate for examples into Kconfig
updated magic numbers for timer timeout
put ascii private definitions into one file
2019-11-26 13:16:25 +08:00
michael 0f6dd34971 mcpwm: enable some unit tests again 2019-11-25 00:36:30 +08:00
He Yin Ling 1c65f1aed3 ci: reduce the number of unit test jobs 2019-11-23 20:40:23 +08:00
Ivan Grokhotkov acdb2a5dc0 ci: add test job with ESP32S2BETA_IDF tag 2019-11-22 10:36:51 +01:00
Ivan Grokhotkov 30d21adcca ci: don't add build_examples_make as a target_test dependency 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov e1aee5ad09 ci: reimplement build_examples_cmake using {find,build}_apps.py 2019-11-21 15:36:06 +01:00
He Yin Ling bcf1f992ff Merge branch 'ci/fix_iperf_example_test_failure' into 'master'
ci: fix iperf example test and LEDC unit test error

See merge request espressif/esp-idf!6754
2019-11-20 10:34:41 +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
He Yin Ling ca217e04ec ci: reduce the required num of jobs for ESP32S2 beta LEDC cases 2019-11-19 11:51:26 +08:00
He Yin Ling 613b9b613d ci: fetch all submodules for iperf example test 2019-11-19 11:18:59 +08:00
Angus Gratton a032ce7cd7 ci: Add test configs for 32kHz crystals 2019-11-18 16:05:37 +07:00
Wang Jia Lin be43bfe0c1 Merge branch 'bugfix/ledc_ut_esp32s2beta' into 'master'
bugfix(LEDC): fix ledc CI issue for esp32s2beta

Closes IDF-1011

See merge request espressif/esp-idf!6530
2019-11-18 16:19:42 +08:00
Renz Christian Bagaporo c4dc63c4d8 ci: add jobs for tests 2019-11-18 10:29:42 +08:00
Renz Christian Bagaporo df26ab13e2 test_utils: implement performance timer 2019-11-18 10:29:01 +08:00
Ivan Grokhotkov c8a37c296a ci: don't fetch all submodules in unit_test and example_test 2019-11-15 07:59:44 +00:00
houwenxiang 30b2e02088 bugfix(LEDC):fix ledc CI issue for esp32s2beta. 2019-11-14 12:20:29 +08:00
David Cermak 76f612e14f ci: increased number of parallel jobs to have enough runners for unit
tests
2019-11-13 12:36:26 +01:00
Angus Gratton b4653cf391 Merge branch 'bugfix/update_can_target_test' into 'master'
CAN: Reenable example tests, update job and environment labels.

See merge request espressif/esp-idf!6487
2019-11-12 11:09:50 +08:00
Roland Dobai 86fd13230e CI: Don't download esp32s2beta builds into example tests 2019-11-07 06:56:03 +00: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 9ffd444e52 Merge branch 'feature/ci_macos_build_system_test' into 'master'
ci: add CMake build system test for macOS

See merge request espressif/esp-idf!6552
2019-11-01 18:41:30 +08:00
Ivan Grokhotkov cfe9244a96 ci: add build system test on macOS 2019-10-30 19:44:15 +01:00
Xia Xiaotian 9afba2abf5 esp_wifi: merge esp32s2beta WiFi library to master branch 2019-10-29 19:41:33 +08:00
Darian Leung 81ddd9e291 CAN: Reenable example tests
This commit updates the CAN example tests and updates the job
and environment labels in the target-test.yml
2019-10-29 17:25:49 +08:00
Angus Gratton 8675a818f9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-22 13:51:49 +11:00
Ivan Grokhotkov c7d8ef52ca Merge branch 'fix/esp_flash_no_qe' into 'master'
esp_flash: fix the QE write issue in high freq, and support UT for external chips

Closes IDF-888

See merge request espressif/esp-idf!5736
2019-10-20 13:59:30 +08: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 ae21d669b9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-17 18:22:08 +11:00
Angus Gratton 0f1923ab22 Merge branch 'bugfix/o2_build_warnings' into 'master'
Fix -O2 build warnings

Closes IDFGH-1945 and IDFGH-1946

See merge request espressif/esp-idf!6311
2019-10-17 13:09:28 +08:00
Angus Gratton 50cb3ad622 ci: Update unit test jobs to match master 2019-10-16 15:16:46 +11:00
Angus Gratton 496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
Michael (XIAO Xufeng) 1e1d50376b esp_flash: add unit test for external flash and QE toggling
Tests for external flash chips used to controlled by macros, one bin for
one chip. And tests are done manually. This commit refactored the test
so that all 3 chips can all run in single test.
2019-10-14 17:25:58 +08:00