Commit Graph

21 Commits

Author SHA1 Message Date
David Cermak
4d40751158 fix(ci): Simplify and document public header checker
Documented specific checks/subchecks for header file verification
Simplified the process, now we use simple regex to remove macros from
the current header. Before, we re-ran preprocess_one_header()
function with removed `#include ...`s from the header under test, so
we were looking into the actual header (rather than included headers)
when checking for `extern "C"` keyword.
The procedure is easier to follow without this recursion (mostly because
in the second execution we might encounter compilation failers and
ignore them).
Note that this procedure is not 100% correct (we might see some false
positive and false negatives)
2024-04-04 08:45:15 +02:00
laokaiyao
01e3c85322 refactor(esp32c5): change beta3 path in esp_system and bootloader 2024-03-01 11:12:36 +08:00
laokaiyao
45a094367d change(doxyfile): move soc files to target specific doxygen
soc files relies on target variable, which not correct while there are multiple versions for one target
2024-03-01 10:16:45 +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
David Cermak
cbff23cfdb ci: Fix false positive err-logs on static-assert check 2023-02-02 04:14:34 +00:00
wuzhenghui
a898c3ddc6 soc: regenerate modem header with regtool 2022-12-27 21:31:21 +08:00
Omar Chebib
43c03d95a4 CI: check_public_headers script will detect the use of static asserts in headers
When a public header contains _Static_assert or static_assert, check_public_headers.py script will detect it and report it as an issue.
Indeed, public headers shall now use ESP_STATIC_ASSERT.
2022-11-21 16:18:13 +08:00
Fu Hanxi
eb3be68b2a ci: fix syntax error 2022-07-27 11:11:09 +08:00
Fu Hanxi
f5cbe88c22 ci: fix no subtyping for type annotation in python3.7
https://peps.python.org/pep-0544/
2022-07-27 11:11:09 +08:00
simon.chupin
819d5a2b61 ci: Add python types hints 2022-07-22 21:15:01 +02:00
Ivan Grokhotkov
fefbf6a5b3
ci: check_public_headers: exclude sections generated on RISC-V target 2022-06-29 22:48:16 +02:00
Ivan Grokhotkov
28ac778099
ci: check_public_headers: run the build in a temporary directory
this allows running multiple builds for different targets
2022-06-29 22:47:02 +02:00
David Cermak
3ade0509c3 CI: Make public header checker print help/tips on failure
Also prints failing compilation command to the log
2022-01-03 09:34:21 +01:00
David Cermak
41706d8d54 CI: Make public header check verbose on *sll* failures 2022-01-03 09:34:21 +01:00
Roland Dobai
407053592e Drop support for unsupported Python versions 2021-06-21 21:48:49 +02:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Michael (XIAO Xufeng)
56403bd146 ci: define ESP_PLATFORM macro during public header check 2020-09-29 11:46:46 +02:00
David Cermak
48aa58268e CI: Public header check defines CI_HEADER_CHECK macro
This flags compilation checking in the CI so headers can use the macro to ignore specific compilation issues
2020-07-11 00:00:51 +08:00
Marius Vikhammer
11269df516 ci: fix check_public_headers.py failure with python3 due to non ascii chars
check_public_headers.py would fail when reading non-ascii chars on systems where
the default encoding was ascii.

Also fixes error handling issues, as any uncaught exeception would cause the program
to run indefinitely.
2020-06-09 11:01:42 +08:00
David Cermak
ce0c70770d ci: public header check to display error messages if verbose is off
Also added a command line option to reduce the analysis to a specific
directory only. This is useful for local execution for checking updated
headers with verbose flag set.
2020-04-09 07:44:55 +02:00
David Cermak
8f6645667e CI: public header check script in python
Additional test compiling the header to produce assembly:
- checks if header really compiles (previously validated only by
preprocessor)
- checks that the header produced empty object, no inline code to be
present in public headers

Closes IDF-1324
2020-03-13 12:53:52 +01:00