circuitpython/tests/feature_check
Alessandro Gatti 931a768f55 tests/run-tests.py: Detect inlineasm support and add tests if needed.
This commit implements a method to detect at runtime if inline assembler
support is enabled, and if so which platform it targets.

This allows clean test runs even on modified version of ARM-based ports
where inline assembler support is disabled, running inline assembler tests
on ports that have such feature not enabled by default and manually
enabled, and allows to always run the correct inlineasm tests for ports
that support more than one architecture (esp32, qemu, rp2).

Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
2025-01-02 11:52:28 +11:00
..
async_check.py tests/feature_check: Check for lack of pass result rather than failure. 2021-04-15 00:52:56 +10:00
async_check.py.exp tests/run-tests: Allow to skip tests using async/await keywords. 2017-02-14 22:03:25 +03:00
bytearray.py tests: Add feature check for bytearray and skip corresponding tests. 2019-10-29 22:22:37 +11:00
bytearray.py.exp tests: Add feature check for bytearray and skip corresponding tests. 2019-10-29 22:22:37 +11:00
byteorder.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
byteorder.py.exp tests: Consolidate all feature check snippets under feature_check/. 2015-08-30 11:36:42 +03:00
complex.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
complex.py.exp tests: Actuall add feature check for complex type being available. 2015-12-06 15:13:26 +02:00
const.py tests/feature_check: Check for lack of pass result rather than failure. 2021-04-15 00:52:56 +10:00
const.py.exp run-tests: Add feature check for "const" keyword and skip related tests. 2017-04-02 22:52:18 +03:00
coverage.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
coverage.py.exp tests: Add a coverage test for printing the parse-tree. 2016-12-22 11:26:06 +11:00
float.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
float.py.exp tests: Auto detect floating point capabilites of the target. 2017-06-26 13:47:00 +10:00
fstring.py py: Implement partial PEP-498 (f-string) support. 2021-08-14 16:58:40 +10:00
fstring.py.exp py: Implement partial PEP-498 (f-string) support. 2021-08-14 16:58:40 +10:00
inlineasm_rv32.py tests/run-tests.py: Detect inlineasm support and add tests if needed. 2025-01-02 11:52:28 +11:00
inlineasm_rv32.py.exp tests/run-tests.py: Detect inlineasm support and add tests if needed. 2025-01-02 11:52:28 +11:00
inlineasm_thumb.py tests/run-tests.py: Detect inlineasm support and add tests if needed. 2025-01-02 11:52:28 +11:00
inlineasm_thumb.py.exp tests/run-tests.py: Detect inlineasm support and add tests if needed. 2025-01-02 11:52:28 +11:00
inlineasm_thumb2.py tests/run-tests.py: Skip Thumb2 tests if target doesn't support them. 2023-12-06 16:05:37 +11:00
inlineasm_thumb2.py.exp tests/run-tests.py: Skip Thumb2 tests if target doesn't support them. 2023-12-06 16:05:37 +11:00
inlineasm_xtensa.py tests/run-tests.py: Detect inlineasm support and add tests if needed. 2025-01-02 11:52:28 +11:00
inlineasm_xtensa.py.exp tests/run-tests.py: Detect inlineasm support and add tests if needed. 2025-01-02 11:52:28 +11:00
int_big.py tests/feature_check/int_big: Rework "big int" detection. 2017-03-10 02:11:43 +01:00
int_big.py.exp tests/feature_check/int_big: Rework "big int" detection. 2017-03-10 02:11:43 +01:00
io_module.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_module.py.exp tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
native_check.py tests/feature_check: Check for lack of pass result rather than failure. 2021-04-15 00:52:56 +10:00
native_check.py.exp tests: Consolidate all feature check snippets under feature_check/. 2015-08-30 11:36:42 +03:00
README all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
repl_emacs_check.py tests: Consolidate all feature check snippets under feature_check/. 2015-08-30 11:36:42 +03:00
repl_emacs_check.py.exp unix: Add exit and paste-mode hints to shell startup banner. 2015-10-12 00:19:00 +01:00
repl_words_move_check.py lib/mp-readline: Add word-based move/delete EMACS key sequences. 2020-01-12 13:09:27 +11:00
repl_words_move_check.py.exp lib/mp-readline: Add word-based move/delete EMACS key sequences. 2020-01-12 13:09:27 +11:00
reverse_ops.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
reverse_ops.py.exp tests/class_reverse_op: Test for reverse arith ops special methods. 2017-09-10 17:05:57 +03:00
set_check.py tests/feature_check: Check for lack of pass result rather than failure. 2021-04-15 00:52:56 +10:00
set_check.py.exp tests/run-tests: Allow to skip set tests. 2017-01-05 00:16:29 +03:00
slice.py tests: Add feature check for slice and skip corresponding tests. 2019-10-29 22:22:37 +11:00
slice.py.exp tests: Add feature check for slice and skip corresponding tests. 2019-10-29 22:22:37 +11:00
target_info.py tests/run-tests.py: Change --target/--device options to --test-instance. 2024-11-04 12:47:47 +11:00
target_info.py.exp tests/run-tests.py: Automatically detect native arch and mpy-cross flag. 2024-09-04 16:34:01 +10:00

This directory doesn't contain real tests, but code snippets to detect
various interpreter features, which can't be/inconvenient to detect by
other means. Scripts here are executed by run-tests.py at the beginning of
testsuite to decide what other test groups to run/exclude.