Commit Graph

317 Commits

Author SHA1 Message Date
Jakob Hasse
2552c7ba0f [C++]: wrapper functions around unwind code
* Replaced all C++ exception related
  functions with wrappers if -fno-exception
  is used. This prevents linking of the
  corresponding code in libgcc. The code
  size will decrease by around 7-9 KB when
  building with -fno-exception.
* added no except test app

Closes https://github.com/espressif/esp-idf/pull/5380
Closes https://github.com/espressif/esp-idf/issues/5363
Closes https://github.com/espressif/esp-idf/issues/5224
Closes IDFGH-3153
Closes IDF-2577
2021-04-20 14:27:58 +08:00
Angus Gratton
209a6cc855 Merge branch 'bugfix/check_partitions_fit' into 'master'
cmake partition_table: Check binaries fit in partition spaces at build time

Closes IDF-1539 and IDFGH-2503

See merge request espressif/esp-idf!9330
2021-04-19 07:33:36 +00:00
Omar Chebib
dd849ffc26 build: (Custom) App version info is now on a dedicated section, independent of the rodata alignment
It is now possible to have any alignment restriction on rodata in the user
applicaiton. It will not affect the first section which must be aligned
on a 16-byte bound.

Closes https://github.com/espressif/esp-idf/issues/6719
2021-04-19 12:53:08 +08:00
Angus Gratton
e1ebe3d7ac ci: Move partition table offset in secure boot test app 2021-04-16 16:40:47 +10:00
Ivan Grokhotkov
e6fd582fdf Merge branch 'bugfix/panic_handler_not_in_iram' into 'master'
panic: handlers can now be placed in flash

Closes IDF-2851

See merge request espressif/esp-idf!12874
2021-04-16 02:47:05 +00:00
Angus Gratton
7f0fc3a37b ci: Consolidate deep sleep example test configs 2021-04-15 16:24:44 +10:00
Omar Chebib
bb9aa806f7 panic: handlers can now be placed in flash
By unchecking "Place panic handler code in IRAM" in the menuconfig,
the panic handlers will be placed in flash. Of course, flash cache must
be activated when entering panic handlers.
2021-04-15 11:58:46 +08:00
Ivan Grokhotkov
996e84f97a Merge branch 'docs/fix_custom_test_doc' into 'master'
[system]: Running panic test app locally doc

See merge request espressif/esp-idf!13052
2021-04-14 11:35:12 +00:00
Martin Vychodil
f27c9c5139 esp32c3: memprot API upgrade and test application
Closes IDF-2641
2021-04-12 13:44:11 +10:00
Jakob Hasse
5bcb189fe4 [system]: locally run panic test app doc 2021-04-07 18:56:18 +08:00
Angus Gratton
d44034c54d Merge branch 'bugfix/dual_core_app_on_single_core_esp32' into 'master'
esp_system: fix dual core app issue on single core esp32

Closes IDF-2154

See merge request espressif/esp-idf!10728
2021-03-31 01:06:52 +00:00
Angus Gratton
4dba80239e ci: Extend timeout for initial gdbstub commands in panic tests
Theory is that on the runner, in rare cases, gdb may need more than
1 second to load and start responding to commands.

However it's possible these timeouts are due to some other problem
(like gdb failing)
2021-03-30 11:01:39 +11:00
Renz Bagaporo
0a3ae58a61 system: add test for simulating single core esp32 startup 2021-03-29 06:50:47 +00:00
Marius Vikhammer
2aead8ba57 Support ESP32S3 Beta 3 target
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
Renz Bagaporo
60ee143c3b tools: fix ldgen_test fragment file KEEP 2021-03-11 12:04:40 +08:00
Angus Gratton
39a2d531f0 Merge branch 'feature/ldgen_mapping_extensions' into 'master'
ldgen: mapping flags extensions

Closes IDFGH-2524

See merge request espressif/esp-idf!12035
2021-03-09 22:43:08 +00:00
Angus Gratton
9b988ca097 config: Add new option to replace IDF_PATH and project path with placeholders in macros
Allows building with asserts on and still not finding any actual file paths in the
final binary file.

Alternative fix for https://github.com/espressif/esp-idf/issues/6306

Progress towards https://github.com/espressif/esp-idf/issues/5873
2021-03-03 10:31:05 +11:00
Angus Gratton
9ae01e40b5 ci: Add a test app for not placing embedded file paths into binaries
Doubles as a test app that building with assertions off doesn't produce warnings.

Closes https://github.com/espressif/esp-idf/issues/6306
2021-03-03 10:31:05 +11:00
Renz Bagaporo
10c5226095 ldgen: use uppercase keywords for flags 2021-03-01 14:19:34 +08:00
Renz Bagaporo
dbdc17cced ldgen: rename emit to surround 2021-03-01 14:19:34 +08:00
Renz Bagaporo
1fa2308e52 ci: update ldgen_test test_app to test flags 2021-03-01 14:19:34 +08:00
yuanjm
13776ec81b tools: Update mqtt open source test server address 2021-02-23 15:30:29 +08:00
Angus Gratton
3368fe321d Merge branch 'doc/test_configs' into 'master'
test apps: Add some documentation about test app configs

See merge request espressif/esp-idf!12395
2021-02-19 06:47:16 +00:00
Angus Gratton
ca29765e97 test apps: Add some documentation about test app configs 2021-02-17 18:10:51 +11:00
David Cermak
b4d792446c examples/mqtt: Use common transport for setting log severity 2021-02-16 09:00:43 +01:00
Marius Vikhammer
04df1f3a42 CI: enable example builds for C3
Enables building C3 examples in CI.

Fixes related warnings/errors and disables examples that cannot run.
2021-02-09 12:04:02 +08:00
Angus Gratton
1289918204 Merge branch 'refactor/ldgen_generation_changes' into 'master'
ldgen: internal data structure change

See merge request espressif/esp-idf!11494
2021-02-09 11:03:09 +08:00
Renz Bagaporo
23590374b5 ldgen: add test app for placement sanity check 2021-02-05 10:20:37 +08:00
Marius Vikhammer
fa7aa656d3 build-system: add loadable elf support for ESP32-S2 and C3 2021-02-02 17:21:39 +08:00
Fu Hanxi
eef620a028 fix: drop s3, c3 support for pppos test apps
no SOC_UART_SUPPORT_REF_TICK for these targets
2021-01-27 12:35:49 +08:00
Fu Hanxi
119b61451f fix(test_apps): add supported targets for memprot, panic, monitor_ide 2021-01-27 12:35:49 +08:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Aditya Patwardhan
b77c85c1e1 ttfw/IDFDUT: i) Added option to erase_flash in the IDFDUT class
ii) Renamed the method dump_flush to dump_flash
2021-01-20 11:12:14 +00:00
Anton Maklakov
6d239d703e Merge branch 'bugfix/ci_test_app_ide_integration' into 'master'
CI: Fix port for test app of IDF Monitor IDE integration

Closes IDFCI-388

See merge request espressif/esp-idf!12004
2021-01-15 16:33:13 +08:00
Roland Dobai
c6962df016 CI: Fix port for test app of IDF Monitor IDE integration 2021-01-14 16:17:14 +01:00
Jakob Hasse
b51889dccb system: stack watchpoint support on C3
Closes IDF-2307
2021-01-14 17:46:44 +08:00
Ivan Grokhotkov
9827adaa09 panic: fix illegal instruction test to be compatible with RISC-V 2021-01-14 16:35:11 +08:00
David Cermak
6676a1b4ba ci/mqtt: Made MQTT test app tls insecure capable
This is needed for testing different connection modes in the mqtt
library, specifically:
* test case CONFIG_EXAMPLE_CONNECT_CASE_NO_CERT: default server - expect to connect normally
2021-01-05 21:23:25 +01:00
David Cermak
5472deec6e ci: Add MQTT publish test to standard test apps 2021-01-05 12:04:36 +00:00
David Cermak
9740db5004 ci: Extend the MQTT weekend test to check mqtt-enqueue api 2021-01-05 12:04:36 +00:00
Ivan Grokhotkov
7ab57605cb test: panic: make stack overflow test more robust
The previous approach was to allocate an array on the stack, and
have the array extend past the stack size. This worked by would
result in SP being moved near the end of the stack. If an interrupt
triggered at that time, interrupt prologue would try to save the
context to the stack, tripping the stack overflow watchpoint.

Replacing this with the approach which doesn't move the SP and simply
writes to decreasing addresses from SP, until stack overflow check
triggers.
2020-12-30 01:10:09 +01:00
Angus Gratton
47d28fdebc ci: Update rsource_test for esp32c3 2020-12-24 14:18:01 +11:00
Mahavir Jain
8d7c9d9883
test_apps: add build test case for RTC GPIO descriptor configuration 2020-12-21 13:57:07 +05:30
Fu Hanxi
0f96b70294 ci: add esp32s2 support for panic test 2020-12-15 17:57:21 +08:00
Ivan Grokhotkov
e32885d699 tools/test_apps: run tests which don't need JTAG on Example_GENERIC 2020-12-15 17:56:53 +08:00
Fu Hanxi
2547670477 Add esp32s2 support for panic test, run as default 2020-12-15 17:56:53 +08:00
David Cermak
8bd758b72a ci: Removed remaining binary size checks in app-tests
Also removes unused references to http-request app size in idf_performance.h
2020-11-25 21:22:18 +01:00
David Cermak
650dd607de ci: Fixed wrong socket operation in python3 2020-11-25 21:22:18 +01: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
e82eac4354 cmake: Apply cmakelint fixes 2020-11-11 07:36:35 +00:00
Michael (XIAO Xufeng)
b6e763ac86 Merge branch 'bugfix/wrong_gdma_m2m_mode_config' into 'master'
gdma: fix wrong m2m mode config

See merge request espressif/esp-idf!10916
2020-10-27 23:43:23 +08:00
morris
9de6cba434 ci: add more build test for esp32-s3 2020-10-27 17:22:17 +08:00
suren.gabrielyan
b3ad76537a ESP-OPENSSL-tests : Added new test-app to check esp-ssl connection 2020-10-23 11:43:59 +00:00
Ivan Grokhotkov
b1d64d1a61 test/panic: add gdbstub test configuration 2020-10-13 18:09:22 +02:00
Martin Vychodil
497b730e8f * memprot support for RTC_SLOW
* API upgrade
JIRA IDF-1636
2020-10-08 11:19:23 +08:00
Angus Gratton
26a0df0423 Merge branch 'bugfix/bootloader_anti_rollback_mmap' into 'master'
bootloader_support: fix issue in memory mapping for getting app descriptor

Closes IDFGH-4038

See merge request espressif/esp-idf!10679
2020-10-06 07:44:37 +08:00
Mahavir Jain
20af94ff53 Coredump config option rename throughout IDF 2020-09-30 20:22:27 +05:30
Mahavir Jain
e08a3e1d63 test_apps: add anti rollback configuration for bootloader build 2020-09-30 12:21:24 +05:30
Ivan Grokhotkov
26016534d8 bootloader: move rtc_retain_mem functions back into .iram_loader.text
Introduced 66a32c17 when bootloader_common was moved out of the loader
section.

Also add a test for this configuration.
2020-09-09 10:35:29 +02:00
Ivan Grokhotkov
52607063cb ci: add script to check section references 2020-09-03 18:14:17 +02:00
David Cermak
6f1b8fe062 esp-modem: Remove esp-netif destroy from modem network glue code
To be in line with other interfaces, when deleting the driver and it's glue layer to esp-netif, we DO NOT delete the related esp-netif (since is was allocated and created outside of the glue code and it works the same way in esp-eth and esp-wifi driver/glue layers).

Closes https://github.com/espressif/esp-idf/issues/5486
2020-08-31 06:47:01 +00:00
Renz Bagaporo
f77eeb34d5 ci: add rsource test app 2020-08-17 20:50:36 +08:00
Ivan Grokhotkov
7acda7b8eb Merge branch 'bugfix/panic_instr_fetch_prohibited' into 'master'
panic: don't interrupt the backtrace for InstrFetchProhibited exceptions

See merge request espressif/esp-idf!9851
2020-08-07 21:43:35 +08:00
Ivan Grokhotkov
20cbdeab65 Merge branch 'feature/download_only_required_ut_bin' into 'master'
CI: Download only required bin for unit tests

Closes IDF-1608

See merge request espressif/esp-idf!9266
2020-08-06 10:50:59 +08:00
Ivan Grokhotkov
600665a563 Merge branch 'bugfix/esp32s2_o2_op' into 'master'
freertos: fix build error at -O2 optimization level

Closes IDFGH-3581

See merge request espressif/esp-idf!9444
2020-08-05 22:03:00 +08:00
Ivan Grokhotkov
481409ec05 panic: allow running specific test cases from command line
Small quality-of-life improvement, make it easier to run specific
test cases, when debugging the tests locally.
Take the optional list of test cases to run from the command line.
2020-08-05 12:00:50 +02:00
Ivan Grokhotkov
709730317b panic: fix checks for corrupted backtrace in the test cases
"CORRUPTED" needs to be checked before ELF SHA256. Use
expect_backtrace in every test (which checks for it), remove extra
check for CORRUPTED.
2020-08-05 12:00:50 +02:00
Ivan Grokhotkov
5ff9cd495e panic: skip over the first invalid PC in case of InstrFetchProhibited
InstrFetchProhibited usually occurs because of a jump to an invalid
pointer. In this case, PC in the exception frame is the address of
the jump destination. 'esp_ptr_executable' check in print_backtrace
function recognizes the first frame as invalid, and the backtrace is
interrupted. This prevents the user from finding the location where
the invalid pointer is dereferenced.

Bypass the 'esp_ptr_executable' check if the exception cause is
InstrFetchProhibited. Update the test case to no longer ignore this
issue.
2020-08-05 12:00:50 +02:00
Fu Hanxi
19ad15a1b4 modify example tests. delete unused arguments 2020-08-04 13:27:16 +08:00
Angus Gratton
e7b89e6ddc Merge branch 'bugfix/esp32s2_panic_handler_iram' into 'master'
esp_common: allow placing panic handler into IRAM on ESP32-S2

Closes IDF-1639

See merge request espressif/esp-idf!9749
2020-07-29 13:54:19 +08:00
Ivan Grokhotkov
3e8833cda8 Merge branch 'feature/coredump_new_ci_tests' into 'master'
coredump: Add CI tests

See merge request espressif/esp-idf!8998
2020-07-28 17:22:43 +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
Angus Gratton
b9a1d82ea3 ci: Add test apps for ESP32-S2 Secure Boot 2020-07-27 00:01:10 +00:00
Ivan Grokhotkov
24e9d6b26a esp_common: allow placing panic handler into IRAM on ESP32-S2 2020-07-22 21:57:58 +02:00
Renz Bagaporo
837052c86f esp_system: restore deleted no stack check flag
Restores the change of startup refactor changes removed the no stack
check protection flag when compiling the source file that contains
execution of constructors - which contains function to setup stack
guard. Restore that and update the source file, since this is in the 2nd
stage of the startup now.

Closes https://github.com/espressif/esp-idf/issues/5617
2020-07-22 11:57:18 +08:00
Fu Hanxi
6885421976 CI: add size info for binaries 2020-07-21 16:00:05 +08:00
Ivan Grokhotkov
c627a1b6a0 ci: add build test for CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE 2020-07-17 21:04:08 +02:00
Ivan Grokhotkov
6e9b480679 ci: add startup test with -O2 optimization level 2020-07-15 12:50:51 +00:00
Sylvio Alves
fb3c36b88d coredump: Added CI tests 2020-06-24 10:51:06 -03:00
Ivan Grokhotkov
b3a76a9d83 Merge branch 'feature/idf_monitor_debug_ws' into 'master'
tools/idf_monitor: add WebSocket client for IDE integration

Closes IDF-1719

See merge request espressif/esp-idf!9032
2020-06-22 15:50:11 +08:00
Ivan Grokhotkov
cf155161c4 Merge branch 'feature/higher_level_com_gdb' into 'master'
CI: Use higher-level interaction with GDB in example tests and test apps

Closes IDF-1622

See merge request espressif/esp-idf!8840
2020-06-19 16:13:01 +08:00
Angus Gratton
b3e77c7ce9 Merge branch 'bugfix/embed_file_symbol_names' into 'master'
cmake: fix C identifier generation from embedded file

See merge request espressif/esp-idf!9078
2020-06-17 07:57:27 +08:00
Renz Bagaporo
01a7db799f cmake: fix C identifier generation from embedded file 2020-06-16 17:05:46 +08:00
Roland Dobai
e67314f646 tools/idf_monitor: add WebSocket client for IDE integration 2020-06-10 10:56:20 +00:00
Roland Dobai
493c852b73 CI: Use higher-level interaction with GDB in example tests and test apps 2020-06-05 14:58:34 +00:00
Ivan Grokhotkov
f4ea9d4cea freertos: increase configMINIMAL_STACK_SIZE when building with -O0
FreeRTOS scheduler uses additional stack space, as in some functions
variables are placed onto the stack instead of registers.

This issue resulted in occasional stack overflows in dport task, when
compiling at -O0 optimization level.

- Increase the configMINIMAL_STACK_SIZE to 1kB.
- Enable the watchpoint at the end of stack in CI startup test for
  this optimization level.
2020-06-02 18:51:16 +02:00
Ivan Grokhotkov
c0ed9349b0 test_apps: add build test for !CONFIG_SPI_FLASH_YIELD_DURING_ERASE 2020-06-02 15:42:24 +02:00
Ivan Grokhotkov
8c09968adc test_apps: add coredump tests for int_wdt 2020-06-02 15:42:24 +02:00
Ivan Grokhotkov
418b68a197 test_apps: add panic test 2020-05-12 22:27:06 +02:00
Roland Dobai
79e58eff8f Add JTAG related example tests 2020-05-05 11:08:33 +02:00
Ivan Grokhotkov
8a4cc99d90 test_apps: don't download partition table in loadable elf test 2020-05-05 09:45:51 +02:00
Ivan Grokhotkov
5e95bc1d21 test_apps: make it possible to run gdb_loadable_elf app locally 2020-05-04 19:10:06 +02:00
Roland Dobai
58bbd99b9c Fix missed deprecated Kconfig option caused by tabs in sdkconfig.rename 2020-04-30 18:23:21 +02:00
Roland Dobai
2d709c6384 Migrate "loadable elf" test from hello_world example to test_apps 2020-04-29 09:17:28 +02:00
David Cermak
a245f5047a ppp-test: wait for graceful disconnect when PPP shutdowns 2020-04-23 05:55:17 +00:00
David Cermak
b3749e38f9 ppp-test: check if ppp interface is active and IP address correct before starting the test
Addressing stability of pppos test:
* listing active network interfaces for presence of "ppp0" interface
* fixed IPv6 address regex to prevent ttfw accept partial address only
(less than 8 octets)
* workaround crash after exiting app_main()
2020-04-23 05:55:17 +00:00
David Cermak
636621d1c5 pppos_client: Add a test application for pppos_client
Adding testing facilities for pppos-client including esp-modem component
and PPP client in lwip. Testing is provided with PPP server running on
rpi.
2020-04-14 21:46:07 +02:00
Ivan Grokhotkov
a521921788 Merge branch 'feature/build_app_readable_multi_target' into 'master'
build_app: make multi target support readable

See merge request espressif/esp-idf!8275
2020-04-09 16:40:57 +08:00
Fu Hanxi
5b2fa1a5ad build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
David Cermak
6d07bcd611 mqtt-tests: rename tests to match the actual group 2020-04-08 14:41:05 +02:00
Ivan Grokhotkov
7f18576e23 Merge branch 'bugfix/inline_get_cpu_id_hal_func' into 'master'
soc: put hal function to get core id in IRAM

See merge request espressif/esp-idf!8107
2020-03-26 18:14:51 +08:00
Renz Bagaporo
b2fd9dd51c ci: add basic startup test for when CONFIG_COMPILER_OPTIMIZATION_NONE=y 2020-03-25 10:00:39 +08:00
Angus Gratton
62426a6c90 Merge branch 'refactor/use_new_component_registration_functions' into 'master'
CMake: Use new component registration function

See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Renz Bagaporo
4d9c573fb6 test, examples: use new component registration function 2020-03-23 10:58:48 +08:00
Ivan Grokhotkov
2548a3e528 ci: add startup tests with VFS disabled 2020-03-20 14:07:10 +01:00
ChenJianxing
5019419496 esp32s2: fix when enable multi phy init data bin compile err. 2020-03-11 18:03:21 +08:00
Roland Dobai
15884eccf2 Add multi-target support for performance tests 2020-03-09 13:41:56 +01:00
ronghulin
ffd8c26780 feature: support multiple PHY init data 2020-03-05 16:14:00 +08:00
David Cermak
6176b5fbe6 MQTT: Add build only test for using mqtt API from C++ 2020-03-03 07:07:57 +00:00
Supreet Deshpande
b79606ca37 feat/secure_boot_v2: Adding tools support for secure boot v2 ECO3 2020-02-25 01:28:22 +05:30
Ivan Grokhotkov
240ec7444f ci: add build test for TRAX feature 2020-02-19 14:02:35 +01:00
Ivan Grokhotkov
1cbb2287be ci: add build test for custom console UART pins 2020-02-19 08:13:23 +01:00
David Cermak
9bdcd40f2b ESP-NETIF: add CI compile only tests for common init/config pattern in C/C++ 2020-02-10 19:40:28 +01: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
David Cermak
30c6e27bcc CI: document test-apps feature, updated test-apps structure 2020-02-06 16:46:41 +00: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