tests/float/float_format_ints.py: Put power-of-10 test in separate file.

This test doesn't pass on builds with 30-bit floats (object repr C).

Signed-off-by: Damien George <damien@micropython.org>
pull/12546/head
Damien George 2023-09-27 13:11:58 +10:00
rodzic 52f76cf4fc
commit 3695211576
3 zmienionych plików z 9 dodań i 6 usunięć

Wyświetl plik

@ -12,12 +12,6 @@ for b in [13, 123, 457, 23456]:
print(title, "with format", f_fmt, "gives", f_fmt.format(f))
print(title, "with format", g_fmt, "gives", g_fmt.format(f))
# Check that powers of 10 (that fit in float32) format correctly.
for i in range(31):
# It works to 12 digits on all platforms *except* qemu-arm, where
# 10^11 comes out as 10000000820 or something.
print("{:.7g}".format(float("1e" + str(i))))
# 16777215 is 2^24 - 1, the largest integer that can be completely held
# in a float32.
print("{:f}".format(16777215))

Wyświetl plik

@ -0,0 +1,8 @@
# Test that integers format to exact values.
# This test requires at least 32-bit floats (won't work with 30-bit).
# Check that powers of 10 (that fit in float32) format correctly.
for i in range(31):
# It works to 12 digits on all platforms *except* qemu-arm, where
# 10^11 comes out as 10000000820 or something.
print(i, "{:.7g}".format(float("1e" + str(i))))

Wyświetl plik

@ -525,6 +525,7 @@ def run_tests(pyb, tests, args, result_dir, num_threads=1):
) # requires fp32, there's string_format_fp30.py instead
skip_tests.add("float/bytes_construct.py") # requires fp32
skip_tests.add("float/bytearray_construct.py") # requires fp32
skip_tests.add("float/float_format_ints_power10.py") # requires fp32
if upy_float_precision < 64:
skip_tests.add("float/float_divmod.py") # tested by float/float_divmod_relaxed.py instead
skip_tests.add("float/float2int_doubleprec_intbig.py")