aboutsummaryrefslogtreecommitdiff
path: root/tests/thread
AgeCommit message (Collapse)Author
2020-10-28tests/thread/stress_schedule.py: Assign globals before running test.Damien George
When threading is enabled without the GIL then there can be races between the threads accessing the globals dict. Avoid this issue by making sure all globals variables are allocated before starting the threads. Signed-off-by: Damien George <damien@micropython.org>
2020-09-04all: Rename "sys" module to "usys".stijn
This is consistent with the other 'micro' modules and allows implementing additional features in Python via e.g. micropython-lib's sys. Note this is a breaking change (not backwards compatible) for ports which do not enable weak links, as "import sys" must now be replaced with "import usys".
2020-05-05tests/thread/thread_stacksize1.py: Increase stack size for CPython.yangfl
On arm64 with CPython: >>> _thread.stack_size(32*1024) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: size not valid: 32768 bytes So increase the CPython value in the test to 512k so it runs on more systems (on modern Linux the default stack size is usually 8MB).
2020-04-13py/scheduler: Add assert that scheduler is locked when unlocking.Jim Mussared
And add a test that shows how this can happen when multiple threads are accessing the scheduler, which fails if atomic sections are not used.
2020-03-30tests: Format all Python code with black, except tests in basics subdir.David Lechner
This adds the Python files in the tests/ directory to be formatted with ./tools/codeformat.py. The basics/ subdirectory is excluded for now so we aren't changing too much at once. In a few places `# fmt: off`/`# fmt: on` was used where the code had special formatting for readability or where the test was actually testing the specific formatting.
2017-06-14py/modthread: Raise RuntimeError in release() if lock is not acquired.Damien George
2017-05-29various: Spelling fixesVille Skyttä
2017-02-15tests/thread: Add stress-test for creating many threads.Damien George
2017-02-15tests/thread: Replace busy waiting loops with a loop that sleeps.Damien George
Depending on the thread scheduler, a busy-wait loop can hog the CPU and make the tests very slow. So convert such loops to loops that have an explicit sleep, allowing the worker threads to do their job.
2017-02-01tests/thread: Fix stack size test so tests run reliably on baremetal.Damien George
2017-01-31tests/thread: Make thread_exc2 runable on baremetal.Damien George
2016-12-29tests/thread: Improve modthread.c test coverage.Rami Ali
2016-06-28tests/thread: Allow some tests to run on ports with not much heap.Damien George
2016-06-28tests/thread: Allow thread_sleep1 to run without floating point.Damien George
2016-06-28tests/thread: Make sure that thread tests don't rely on floating point.Damien George
2016-06-28tests/thread: Make stack-size test run correctly and reliable on uPy.Damien George
2016-06-28tests/thread: Add test for concurrent mutating of user instance.Damien George
2016-06-28tests/thread: Add test for concurrent interning of strings.Damien George
Qstr code accesses global state and needs to be made thread safe.
2016-06-28tests/thread: Add tests that mutate shared objects.Damien George
Tests concurrent mutating access to: list, dict, set, bytearray.
2016-06-28tests/thread: Rename thread_stress_XXX.py to stress_XXX.py.Damien George
2016-06-28tests/thread: Add tests for running GC within a thread, and heap stress.Damien George
2016-06-28tests/thread: Remove need to sleep to wait for completion in some tests.Damien George
Use a lock and a counter instead, and busy wait for all threads to complete. This makes test run faster and they no longer rely on the time module.
2016-06-28tests: Add 3 more tests for _thread module.Damien George
2016-06-28tests: Add tests for _thread module.Damien George
Includes functionality and stress tests.