summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/int_64_basics.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/basics/int_64_basics.py b/tests/basics/int_64_basics.py
index 289ea49b6..2a161dac0 100644
--- a/tests/basics/int_64_basics.py
+++ b/tests/basics/int_64_basics.py
@@ -125,6 +125,22 @@ else:
x = 1 << 62
print('a' * (x + 4 - x))
+# test overflow check in mp_obj_get_int_maybe
+x = 1 << 32
+r = None
+try:
+ r = range(0, x)
+except OverflowError:
+ # 32-bit target, correctly handled the overflow of x
+ print("ok")
+if r is not None:
+ if len(r) == x:
+ # 64-bit target, everything is just a small-int
+ print("ok")
+ else:
+ # 32-bit target that did not handle the overflow of x
+ print("unhandled overflow")
+
# negative shifts are invalid
try:
print((1 << 48) >> -4)