diff options
author | Damien George <damien@micropython.org> | 2021-05-08 18:20:05 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2021-05-08 22:47:03 +1000 |
commit | 9340cfe77432b548fc6ace6e2959a07a08e8eadc (patch) | |
tree | 9768d50d021e829e9270c350032361254b1aac7f | |
parent | 864e4ecc47f204e6ca6fbe8342e268932c89acdf (diff) | |
download | micropython-9340cfe77432b548fc6ace6e2959a07a08e8eadc.tar.gz micropython-9340cfe77432b548fc6ace6e2959a07a08e8eadc.zip |
tests/thread: Make stress_create.py test run on esp32.
The esp32 port needs to be idle for finished threads and their resources to
be freed up.
Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r-- | tests/thread/stress_create.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tests/thread/stress_create.py b/tests/thread/stress_create.py index eda768fa7b..877424cdf5 100644 --- a/tests/thread/stress_create.py +++ b/tests/thread/stress_create.py @@ -1,9 +1,13 @@ # stress test for creating many threads try: - import utime as time + import utime + + sleep_ms = utime.sleep_ms except ImportError: import time + + sleep_ms = lambda t: time.sleep(t / 1000) import _thread @@ -16,9 +20,11 @@ while thread_num < 500: try: _thread.start_new_thread(thread_entry, (thread_num,)) thread_num += 1 - except MemoryError: - pass + except (MemoryError, OSError) as er: + # Cannot create a new thead at this stage, yield for a bit to + # let existing threads run to completion and free up resources. + sleep_ms(50) # wait for the last threads to terminate -time.sleep(1) +sleep_ms(500) print("done") |