circuitpython/tests/feature_check
Damien George 167c888df9 tests/run-tests.py: Detect threading and automatically run thread tests.
When detecting the target platform, also check if it has threading and
whether the GIL is enabled or not (using the new attribute
`sys.implementation._thread`).  If threading is available, add the thread
tests to the set of tests to run (unless the set of tests is explicitly
given).

With this change, the unix port no longer needs to explicitly run the set
of thread tests, so that line has been removed from the Makefile.

This change will make sure thread tests are run with other testing
combinations.  In particular, thread tests are now run:
- on the unix port with the native emitter
- on macOS builds
- on unix qemu, the architectures MIPS, ARM and RISCV-64

Signed-off-by: Damien George <damien@micropython.org>
2025-07-23 11:06:09 +10: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_64.py tests: Add specific tests for "long long" 64-bit bigints. 2025-07-18 00:10:44 +10:00
int_64.py.exp tests: Add specific tests for "long long" 64-bit bigints. 2025-07-18 00:10:44 +10: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: Detect threading and automatically run thread tests. 2025-07-23 11:06:09 +10: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.