summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-01-05 00:16:29 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-01-05 00:16:29 +0300
commit26f00ff154e68f623bd312a78f92051fea2f6d4e (patch)
tree6a0268eb4dae8af5f11f2c54196a2e53255e7b48 /tests
parenteac22e29a5844e5aa5c865c2e73900e6ef039ad6 (diff)
downloadmicropython-26f00ff154e68f623bd312a78f92051fea2f6d4e.tar.gz
micropython-26f00ff154e68f623bd312a78f92051fea2f6d4e.zip
tests/run-tests: Allow to skip set tests.
If sets are not enabled, set literals lead to SyntaxError during parsing, so it requires feature_check. Set tests are skipped based on set_*.py pattern.
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/set_basic.py (renamed from tests/basics/set1.py)0
-rw-r--r--tests/feature_check/set_check.py2
-rw-r--r--tests/feature_check/set_check.py.exp0
-rwxr-xr-xtests/run-tests14
4 files changed, 15 insertions, 1 deletions
diff --git a/tests/basics/set1.py b/tests/basics/set_basic.py
index 6ea69e4f05..6ea69e4f05 100644
--- a/tests/basics/set1.py
+++ b/tests/basics/set_basic.py
diff --git a/tests/feature_check/set_check.py b/tests/feature_check/set_check.py
new file mode 100644
index 0000000000..ec186cc5b9
--- /dev/null
+++ b/tests/feature_check/set_check.py
@@ -0,0 +1,2 @@
+# check if set literal syntax is supported
+{1}
diff --git a/tests/feature_check/set_check.py.exp b/tests/feature_check/set_check.py.exp
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/feature_check/set_check.py.exp
diff --git a/tests/run-tests b/tests/run-tests
index 3bfa73e047..91282667d8 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -195,12 +195,18 @@ def run_tests(pyb, tests, args):
skip_tests = set()
skip_native = False
+ skip_set_type = False
# Check if micropython.native is supported, and skip such tests if it's not
native = run_micropython(pyb, args, 'feature_check/native_check.py')
if native == b'CRASH':
skip_native = True
+ # Check if set type (and set literals) is supported, and skip such tests if it's not
+ native = run_micropython(pyb, args, 'feature_check/set_check.py')
+ if native == b'CRASH':
+ skip_set_type = True
+
# Check if emacs repl is supported, and skip such tests if it's not
t = run_micropython(pyb, args, 'feature_check/repl_emacs_check.py')
if not 'True' in str(t, 'ascii'):
@@ -304,8 +310,14 @@ def run_tests(pyb, tests, args):
test_name = os.path.splitext(test_basename)[0]
is_native = test_name.startswith("native_") or test_name.startswith("viper_")
is_endian = test_name.endswith("_endian")
+ is_set_type = test_name.startswith("set_")
+
+ skip_it = test_file in skip_tests
+ skip_it |= skip_native and is_native
+ skip_it |= skip_endian and is_endian
+ skip_it |= skip_set_type and is_set_type
- if test_file in skip_tests or (skip_native and is_native) or (skip_endian and is_endian):
+ if skip_it:
print("skip ", test_file)
skipped_tests.append(test_name)
continue