Commit 26f00ff1 authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

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.
parent eac22e29
# check if set literal syntax is supported
{1}
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment