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.
This commit is contained in:
parent
eac22e29a5
commit
26f00ff154
2
tests/feature_check/set_check.py
Normal file
2
tests/feature_check/set_check.py
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# check if set literal syntax is supported
|
||||||
|
{1}
|
0
tests/feature_check/set_check.py.exp
Normal file
0
tests/feature_check/set_check.py.exp
Normal file
@ -195,12 +195,18 @@ def run_tests(pyb, tests, args):
|
|||||||
|
|
||||||
skip_tests = set()
|
skip_tests = set()
|
||||||
skip_native = False
|
skip_native = False
|
||||||
|
skip_set_type = False
|
||||||
|
|
||||||
# Check if micropython.native is supported, and skip such tests if it's not
|
# Check if micropython.native is supported, and skip such tests if it's not
|
||||||
native = run_micropython(pyb, args, 'feature_check/native_check.py')
|
native = run_micropython(pyb, args, 'feature_check/native_check.py')
|
||||||
if native == b'CRASH':
|
if native == b'CRASH':
|
||||||
skip_native = True
|
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
|
# 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')
|
t = run_micropython(pyb, args, 'feature_check/repl_emacs_check.py')
|
||||||
if not 'True' in str(t, 'ascii'):
|
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]
|
test_name = os.path.splitext(test_basename)[0]
|
||||||
is_native = test_name.startswith("native_") or test_name.startswith("viper_")
|
is_native = test_name.startswith("native_") or test_name.startswith("viper_")
|
||||||
is_endian = test_name.endswith("_endian")
|
is_endian = test_name.endswith("_endian")
|
||||||
|
is_set_type = test_name.startswith("set_")
|
||||||
|
|
||||||
if test_file in skip_tests or (skip_native and is_native) or (skip_endian and is_endian):
|
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 skip_it:
|
||||||
print("skip ", test_file)
|
print("skip ", test_file)
|
||||||
skipped_tests.append(test_name)
|
skipped_tests.append(test_name)
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user