summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-03-03 20:14:02 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-03-03 20:16:59 +0300
commit89e570a5b4025976da66123032c58611f0f6cb17 (patch)
tree980d07bed8ebe2f595e6ed498e3c56df58cbbeb5
parent5e83a75c78dc8c370b25e7ee669295854ea45130 (diff)
tests/run-tests: Check for big int availability and skip related tests.
Big aka arbitrary-precision integers (implemented by MPZ module) are used in tests starting with "int_big_" or ending with "_intbig".
-rw-r--r--tests/feature_check/int_big.py2
-rw-r--r--tests/feature_check/int_big.py.exp0
-rwxr-xr-xtests/run-tests8
3 files changed, 10 insertions, 0 deletions
diff --git a/tests/feature_check/int_big.py b/tests/feature_check/int_big.py
new file mode 100644
index 000000000..8b82814ae
--- /dev/null
+++ b/tests/feature_check/int_big.py
@@ -0,0 +1,2 @@
+# Check whether arbitrary-precision integers (MPZ) are supported
+1000000000000000000000000000000000000000000000
diff --git a/tests/feature_check/int_big.py.exp b/tests/feature_check/int_big.py.exp
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/feature_check/int_big.py.exp
diff --git a/tests/run-tests b/tests/run-tests
index 6cca829b6..d568f23e8 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -198,6 +198,7 @@ def run_tests(pyb, tests, args):
skip_tests = set()
skip_native = False
+ skip_int_big = False
skip_set_type = False
skip_async = False
@@ -206,6 +207,11 @@ def run_tests(pyb, tests, args):
if native == b'CRASH':
skip_native = True
+ # Check if arbitrary-precision integers are supported, and skip such tests if it's not
+ native = run_micropython(pyb, args, 'feature_check/int_big.py')
+ if native == b'CRASH':
+ skip_int_big = 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':
@@ -320,12 +326,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_int_big = test_name.startswith("int_big_") or test_name.endswith("_intbig")
is_set_type = test_name.startswith("set_") or test_name.startswith("frozenset")
is_async = test_name.startswith("async_")
skip_it = test_file in skip_tests
skip_it |= skip_native and is_native
skip_it |= skip_endian and is_endian
+ skip_it |= skip_int_big and is_int_big
skip_it |= skip_set_type and is_set_type
skip_it |= skip_async and is_async