aboutsummaryrefslogtreecommitdiff
path: root/tests/thread
diff options
context:
space:
mode:
authorRami Ali2016-12-29 13:12:06 +1100
committerDamien George2016-12-29 13:27:50 +1100
commitf397e1fdf0519a6770336c04904c4f0495e75496 (patch)
treedeea49fab545af2d36485acfe82afe0d1cf1a7dc /tests/thread
parentc15ebf7c8c797af0dc7e601dbb70dbe3777d8ee6 (diff)
tests/thread: Improve modthread.c test coverage.
Diffstat (limited to 'tests/thread')
-rw-r--r--tests/thread/thread_exc2.py10
-rw-r--r--tests/thread/thread_exc2.py.exp5
-rw-r--r--tests/thread/thread_start2.py7
3 files changed, 22 insertions, 0 deletions
diff --git a/tests/thread/thread_exc2.py b/tests/thread/thread_exc2.py
new file mode 100644
index 000000000..35cb32441
--- /dev/null
+++ b/tests/thread/thread_exc2.py
@@ -0,0 +1,10 @@
+# test raising exception within thread which is not caught
+import utime
+import _thread
+
+def thread_entry():
+ raise ValueError
+
+_thread.start_new_thread(thread_entry, ())
+utime.sleep(1)
+print('done')
diff --git a/tests/thread/thread_exc2.py.exp b/tests/thread/thread_exc2.py.exp
new file mode 100644
index 000000000..584bfab4d
--- /dev/null
+++ b/tests/thread/thread_exc2.py.exp
@@ -0,0 +1,5 @@
+Unhandled exception in thread started by <function thread_entry at 0x\[0-9a-f\]\+>
+Traceback (most recent call last):
+ File "thread/thread_exc2.py", line 6, in thread_entry
+ValueError:
+done
diff --git a/tests/thread/thread_start2.py b/tests/thread/thread_start2.py
index 4efa808eb..d0913e37c 100644
--- a/tests/thread/thread_start2.py
+++ b/tests/thread/thread_start2.py
@@ -16,4 +16,11 @@ _thread.start_new_thread(thread_entry, (10, 20), {'a2': 0, 'a3': 1})
# wait for thread to finish
time.sleep(1)
+
+# incorrect argument where dictionary is needed for keyword args
+try:
+ _thread.start_new_thread(thread_entry, (), ())
+except TypeError:
+ print('TypeError')
+
print('done')