Commit Graph

5083 Commits

Author SHA1 Message Date
Peter Dragun
a58be23118 bug(tools): dependency check catch exception when package not installed 2023-08-28 16:03:15 +02:00
Roland Dobai
2fbb63124f Merge branch 'feature/coredump_panic_details' into 'master'
feat(coredump): add panic details to the elf file

Closes IDF-7788 and IDF-7789

See merge request espressif/esp-idf!25198
2023-08-28 13:05:58 +08:00
Darian
ede131ce73 Merge branch 'refactor/freertos_tslfcb_and_coproc_cleanup' into 'master'
refactor(freertos): Remove portCLEAN_UP_COPROC() and TLSP deletion callback kernel changes from IDF FreeRTOS

See merge request espressif/esp-idf!25481
2023-08-25 15:34:40 +08:00
Darian Leung
57eb41ce83 refactor(freertos): Call TLSP deletion callback from portCLEAN_UP_TCB()
Previously, TLSP deletion callbacks were...

- Stored in a seprate TCB member "pvThreadLocalStoragePointersDelCallback"
- Called separately via multipole prvDeleteTLS() insertions in tasks.c

This commit refactors how TLSP deletion callbacks are stored and called:

- TLSP deletion callbacks are now stored in "pvThreadLocalStoragePointers"
directly. configNUM_THREAD_LOCAL_STORAGE_POINTERS is doubled in size so that
the deletion callbacks are stored in the latter half of the array

- The callbacks are now called via "portCLEAN_UP_TCB()". As such, the
prvDeleteTLS() additions are no longer needed and the function can be removed

- Removed some legacy TLSP tests using the old method of storing the callback
pointers.

This commit reduces the source code diff between IDF FreeRTOS and upstream
vanilla FreeRTOS, in preparation for v10.5.1 upgrade.
2023-08-24 19:32:06 +08:00
Erhan Kurubas
4714521b21 feat(coredump): add panic details to the elf file 2023-08-24 10:20:56 +02:00
Armando
6f412393b6 change(ci): add todo to p4 build test enable 2023-08-24 12:51:19 +08:00
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Rocha Euripedes
9552ef012d Merge branch 'ci/publish_connect_fix' into 'master'
Fix publish connect mqtt test

See merge request espressif/esp-idf!25479
2023-08-24 08:30:53 +08:00
Darian
4962bb51dc Merge branch 'change/freertos_clean_up_tcb_macro' into 'master'
change(freertos): Deprecate usage of vPortCleanUpTCB() by applications

Closes IDF-7256

See merge request espressif/esp-idf!25480
2023-08-24 01:46:20 +08:00
Darian Leung
39cf3638ae change(freertos): Deprecate usage of vPortCleanUpTCB() by applications
Previously, if CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP was enabled, users
would provide a definition for a vPortCleanUpTCB() hook function that is called
right before a task's memory is freed in prvDeleteTCB(). However,
vPortCleanUpTCB() will be reclaimed by ESP-IDF for internal use in v6.0.

This commit introduces the following changes...

Introduced a new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option:

- Provides the same pre-deletion hook functionality. But users now define
vTaskPreDeletionHook() instead.
- CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP still exists, but is marked as
deprecated. This is to maintain compatibility with existing applications
that already define vPortCleanUpTCB().
- Removed redundant --wl --wrap workaround with vPortCleanUpTCB()
- Added todo notes to remove support for user defined vPortCleanUpTCB()
completely in v6.0.
- Updated test cases to use new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option

Freed up portCLEAN_UP_TCB() to call a new internal vPortTCBPreDeleteHook():

- vPortTCBPreDeleteHook() now replaces the previous "wrapped" implementation
of vPortCleanUpTCB().
- vPortTCBPreDeleteHook() is an internal task pre-delete hook for IDF FreeRTOS
ports to inject some pre-deletion operations.
- Internal pre-delete hook now invokes user provided vTaskPreDeletionHook()
if enabled.
- Relocated vPortTCBPreDeleteHook() to correct section in port.c
2023-08-23 17:50:08 +08:00
Euripedes Rocha
d80a2881d1 ci: Fix publish connect mqtt test
Minor changes necessary to make the test run correctly
2023-08-23 10:04:19 +02:00
harshal.patil
37303266f0
fix(esp_prov): update devices tuple usage due to API deprecations
- a recent commit fixed the API deprecations,
and the BLEDevice object now needs to be accessed through a tuple.
- thus the changes were made in the code wherein the object was used,
but updating the usage in the condition when de
vname is not None got skipped.
2023-08-22 14:44:38 +05:30
Lu Ze Yu
14d87655da Merge branch 'fix/fix_intr_alloc_expected_result' into 'master'
fix(ci): fix expected intr_dump result

Closes IDFCI-1790

See merge request espressif/esp-idf!25459
2023-08-22 15:21:42 +08:00
Planck (Lu Zeyu)
99ee7d6b18 fix(ci): fix expected intr_dump result 2023-08-22 12:25:53 +08:00
Marius Vikhammer
a63e067d64 Merge branch 'ci/c6_c2_system_build' into 'master'
ci(build_test): enable system/build apps for C6 and C2

See merge request espressif/esp-idf!25400
2023-08-22 11:16:22 +08:00
Marius Vikhammer
f371679a8d ci(build_test): enable system/build apps for C6 and C2 2023-08-18 13:08:06 +08:00
Fu Hanxi
5e4427ab13
ci(pytest): add plugin pytest-ignore-test-results
pass with warning if test job got ignored.
2023-08-18 10:50:18 +08:00
Fu Hanxi
39f3a5f3ac
ci(pytest): skip test case if no app found while collecting, not setup 2023-08-18 08:36:06 +08:00
Fu Hanxi
17bbb2a5a2
ci(pytest): use one class to filter the nightly_run 2023-08-18 08:36:06 +08:00
Fu Hanxi
1d69302eae
ci(pytest): move pytest utils into tools/ci/idf_pytest
For future usage
2023-08-18 08:36:06 +08:00
Fu Hanxi
c8cddaee8a
ci: exclude checking manifest files under managed_components 2023-08-18 08:09:20 +08:00
Ivan Grokhotkov
af79a47422 Merge branch 'contrib/github_pr_12052' into 'master'
Two small patches for build system and fatfs (GitHub PR)

Closes IDFGH-10849

See merge request espressif/esp-idf!25337
2023-08-17 22:01:00 +08:00
Fu Hanxi
7908d04fdb Merge branch 'ci/use_pylint_3.8' into 'master'
ci: pylint with codeclimate

Closes IDFCI-1727

See merge request espressif/esp-idf!25283
2023-08-17 12:04:45 +08:00
Michael (XIAO Xufeng)
47c153b949 Merge branch 'ci/pre-commit-check-build-test-rule-exist' into 'master'
pre-commit: add check that build-test-rule paths must exist

See merge request espressif/esp-idf!25231
2023-08-17 02:25:45 +08:00
Jakob Hasse
f0e7474d30 Merge branch 'feature/wifi_mock' into 'master'
feat(linux): added very simple esp_wifi mock

Closes IDFGH-9190

See merge request espressif/esp-idf!24400
2023-08-16 15:23:15 +08:00
Fu Hanxi
28c9953ffe
ci: pylint with codeclimate 2023-08-15 08:31:45 +08:00
Michal Jenikovsky
e9bb33624b idf.py: gdb action incorrectly generated EOL gdbinit scripts
GDB on Windows incorrectly reads EOL in the script files causing 'gdb'
action to fail.

(gdb) source .../build/gdbinit/py_extensions
(gdb) source .../build\gdbinit\symbols
add symbol table from file "...\build\bootloader\bootloader.elf"
.../build\gdbinit\symbols:6: Error in sourced command file:
Undefined command: "".  Try "help".

Forcing line separator to '\n' resolved the issue

Signed-off-by: Michal Jenikovsky <jendo@jmsystems.sk>
2023-08-11 12:37:29 +02:00
Xiao Xufeng
f51258ec18 ci(pre-commit): add check that build-test-rule paths must exist 2023-08-11 17:04:35 +08:00
Cao Sen Miao
de85f47bc9 feat(i2c): Add I2C driver support for esp32p4 2023-08-11 12:37:11 +08:00
Marius Vikhammer
fc83060fba ci(esp32p4): fixed public header check and build failure for P4 2023-08-11 10:23:02 +08:00
Roland Dobai
ba8c18182a Merge branch 'contrib/github_pr_12046' into 'master'
Docker image Ubuntu LTS distribution upgrade from 20.04 to 22.04 (GitHub PR)

Closes IDFGH-10840

See merge request espressif/esp-idf!25299
2023-08-10 22:10:15 +08:00
Armando (Dou Yiwen)
337aeb4b78 Merge branch 'feature/add_esp32p4_hello_world' into 'master'
esp32p4: introduced new chip ESP32P4: Hello World! 🌏

Closes IDF-7523

See merge request espressif/esp-idf!25013
2023-08-10 16:04:55 +08:00
Armando
706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
Jakob Hasse
8b9f8555ea refactor(tools): public header check also checks c++ now
* Also changed --only-dir argument to accept system-wide
  directories instead of directories from IDF root
2023-08-09 16:23:13 +08:00
Jakob Hasse
342a5b428c fix(esp_event): made #include <stdint.h> explicit 2023-08-09 16:17:06 +08:00
Michael Mimo Moratti
acc36cd802 Docker image distribution upgrade from 20.04 to 22.04
The ubuntu LST version 22.04 has standard support until 2027
2023-08-09 08:15:53 +02:00
Fu Hanxi
60db076a96
ci: add pre-commit to cleanup ignore lists 2023-08-09 12:09:31 +08:00
Roland Dobai
0cee3ac6db Merge branch 'feature/rewrite_build_sys_tests_v7' into 'master'
refactor(tools): Rewrite build system unit tests to python

Closes IDF-7926

See merge request espressif/esp-idf!25197
2023-08-09 07:03:38 +08:00
Roland Dobai
33205dad4c Merge branch 'feature/requires_hints' into 'master'
feat(tools): show hints for component dependencies

Closes IDF-6642

See merge request espressif/esp-idf!23950
2023-08-08 23:51:52 +08:00
Roland Dobai
4bbc57cd37 Merge branch 'update/deprecate_python37' into 'master'
feat: Drop Python 3.7 support

Closes IDF-4441

See merge request espressif/esp-idf!24897
2023-08-08 23:30:12 +08:00
Roland Dobai
267e52a6db Merge branch 'fix/bin_names_with_dots' into 'master'
fix(build_system): Allow dots in the name of an app binary

Closes IDF-7973

See merge request espressif/esp-idf!25256
2023-08-08 23:08:04 +08:00
Marek Fiala
7943e01850 refactor(tools): Rewrite build system unit tests to python
Rewritten tests: test_build_system_spaces.py
2023-08-08 16:41:30 +02:00
radim.karnis
8acde05a5c feat: Drop Python 3.7 support 2023-08-08 08:37:29 +02:00
radim.karnis
2b8bbe0a18 fix(build_system): Allow dots in the name of an app binary 2023-08-08 08:35:08 +02:00
Roland Dobai
f5c596e85b fix(tools): Increase timeout in idf_tools.py Python tests 2023-08-07 15:01:51 +02:00
Roland Dobai
6b5b8a88db fix(tools): Keep the original Python environment when idf_tools.py tests are run 2023-08-07 15:01:51 +02:00
Roland Dobai
88b40b4bea fix(tools): idf_tools.py tests should keep the original constraint file 2023-08-07 15:01:51 +02:00
Frantisek Hrbata
c5503b3537 ci(tools): fix test_hints.py to run on windows
1. The original test, before hint modules support was added, used
tempfile.NamedTemporaryFile in a way which is not supported on windows.
It was having the file open, which the hints tried to read it, leading
the EPERM exception. The docs[1] says this is not supported.
<quote>
Whether the name can be used to open the file a second time, while the
named temporary file is still open, varies across platforms (it can be
so used on Unix; it cannot on Windows)
</quote>

2. The hint module component_requirements test used the idf.py directly,
which is idf.py.exe on windows.Now it's starting idf.py through python.
We could probably used shell=True, but this approach is used in other
tests too.

Anyway the test are now passing on windows.

[1] https://docs.python.org/3/library/tempfile.html

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00
Frantisek Hrbata
801bf0053d ci(tools): add tests for component_requirements.py hints module
Following tests were added.

1. Test for missing header directory in component's INCLUDE_DIRS
2. Test for missing dependency in component's PRIV_REQUIRES
3. Test for missing dependency in component's REQUIRES
4. Test for dependency in PRIV_REQUIRES which should be in REQUIRES

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00
Ivan Grokhotkov
6878ddaa4a feat(tools): idf.py: implement hints for component reqs
Implementation of hint module for component dependency. It can provide
hint about missing header directory in component's INCLUDE_DIRS or
about missing component dependency in REQUIRES or PRIV_REQUIRES.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-08-05 20:13:28 +02:00