tests: Add specific tests for "long long" 64-bit bigints.

These will run on all ports which support them, but importantly
they'll also run on ports that don't support arbitrary precision
but do support 64-bit long ints.

Includes some test workarounds to account for things which will overflow
once "long long" big integers overflow (added in follow-up commit):

- uctypes_array_load_store test was failing already, now won't parse.
- all the ffi_int tests contain 64-bit unsigned values, that won't parse
  as long long.

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
Angus Gratton
2025-03-18 12:07:00 +11:00
committed by Damien George
parent c72a3e528d
commit 2d8d64059f
5 changed files with 149 additions and 1 deletions

View File

@@ -6,6 +6,13 @@ except ImportError:
print("SKIP")
raise SystemExit
# 'int' needs to be able to represent UINT64 for this test
try:
int("FF" * 8, 16)
except OverflowError:
print("SKIP")
raise SystemExit
N = 5
for endian in ("NATIVE", "LITTLE_ENDIAN", "BIG_ENDIAN"):