summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2023-09-27 13:11:58 +1000
committerDamien George <damien@micropython.org>2023-09-29 12:00:15 +1000
commit3695211576ed69671b98412ff5278265ab65e6bd (patch)
treed86ccbb1f4888a1a48572d4de72a14918298238d
parent52f76cf4fc1287b000e510a8ed50297bbdb4d4de (diff)
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>
-rw-r--r--tests/float/float_format_ints.py6
-rw-r--r--tests/float/float_format_ints_power10.py8
-rwxr-xr-xtests/run-tests.py1
3 files changed, 9 insertions, 6 deletions
diff --git a/tests/float/float_format_ints.py b/tests/float/float_format_ints.py
index 0bf4baf12..df4444166 100644
--- a/tests/float/float_format_ints.py
+++ b/tests/float/float_format_ints.py
@@ -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))
diff --git a/tests/float/float_format_ints_power10.py b/tests/float/float_format_ints_power10.py
new file mode 100644
index 000000000..98900c135
--- /dev/null
+++ b/tests/float/float_format_ints_power10.py
@@ -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))))
diff --git a/tests/run-tests.py b/tests/run-tests.py
index de886b8ae..2d511c20c 100755
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -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")