diff --git a/tests/run-tests b/tests/run-tests
index feb971c970613d2011bf6eaafc77690f3c58c40e..887af701c483c87a4aabd215d42654f610dd5a8f 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -365,7 +365,7 @@ def main():
         if args.test_dirs is None:
             if args.target == 'pyboard':
                 # run pyboard tests
-                test_dirs = ('basics', 'micropython', 'float', 'misc', 'extmod', 'pyb', 'pybnative', 'inlineasm')
+                test_dirs = ('basics', 'micropython', 'float', 'misc', 'stress', 'extmod', 'pyb', 'pybnative', 'inlineasm')
             elif args.target == 'esp8266':
                 test_dirs = ('basics', 'micropython', 'float', 'misc', 'extmod')
             elif args.target == 'wipy':
@@ -373,7 +373,7 @@ def main():
                 test_dirs = ('basics', 'micropython', 'misc', 'extmod', 'wipy')
             else:
                 # run PC tests
-                test_dirs = ('basics', 'micropython', 'float', 'import', 'io', 'misc', 'unicode', 'extmod', 'unix', 'cmdline')
+                test_dirs = ('basics', 'micropython', 'float', 'import', 'io', 'misc', 'stress', 'unicode', 'extmod', 'unix', 'cmdline')
         else:
             # run tests from these directories
             test_dirs = args.test_dirs
diff --git a/tests/stress/dict_copy.py b/tests/stress/dict_copy.py
new file mode 100644
index 0000000000000000000000000000000000000000..36db9bb7e89d09d877b2a028b32a38dcc60b5078
--- /dev/null
+++ b/tests/stress/dict_copy.py
@@ -0,0 +1,7 @@
+# copying a large dictionary
+
+a = {i:2*i for i in range(1000)}
+b = a.copy()
+for i in range(1000):
+    print(i, b[i])
+print(len(b))
diff --git a/tests/stress/dict_create.py b/tests/stress/dict_create.py
new file mode 100644
index 0000000000000000000000000000000000000000..e9db40a8e6c5bf2f8e367ccdf57669ce9b9b61b8
--- /dev/null
+++ b/tests/stress/dict_create.py
@@ -0,0 +1,8 @@
+# create a large dictionary
+
+d = {}
+x = 1
+while x < 1000:
+    d[x] = x
+    x += 1
+print(d[500])
diff --git a/tests/stress/list_sort.py b/tests/stress/list_sort.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a7701a1e4cc0a75ce53e733f1c1dbf69ae93310
--- /dev/null
+++ b/tests/stress/list_sort.py
@@ -0,0 +1,6 @@
+# test large list sorting (should not stack overflow)
+l = list(range(2000))
+l.sort()
+print(l[0], l[-1])
+l.sort(reverse=True)
+print(l[0], l[-1])