]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-130317: Skip test_pack_unpack_roundtrip_for_nans() on x86 (#133155)
authorVictor Stinner <vstinner@python.org>
Wed, 30 Apr 2025 10:01:06 +0000 (12:01 +0200)
committerGitHub <noreply@github.com>
Wed, 30 Apr 2025 10:01:06 +0000 (12:01 +0200)
Reduce also the number of iterations from 1000 to 10 to ease
debugging failures and prevent "command line too line" error when
tests are re-run.

Lib/test/test_capi/test_float.py

index c857959d569529749dfcea2c10ff0e661f30414e..44570bf637956530050ac32336b997c124ea91f3 100644 (file)
@@ -180,10 +180,17 @@ class CAPIFloatTest(unittest.TestCase):
                             self.assertEqual(value2, value)
 
     @unittest.skipUnless(HAVE_IEEE_754, "requires IEEE 754")
+    # Skip on x86 (32-bit), since these tests fail. The problem is that sNaN
+    # doubles become qNaN doubles just by the C calling convention, there is no
+    # way to preserve sNaN doubles between C function calls. But tests pass
+    # on Windows x86.
+    @unittest.skipIf((sys.maxsize == 2147483647) and not(sys.platform == 'win32'),
+                     'test fails on x86 (32-bit)')
     def test_pack_unpack_roundtrip_for_nans(self):
         pack = _testcapi.float_pack
         unpack = _testcapi.float_unpack
-        for _ in range(1000):
+
+        for _ in range(10):
             for size in (2, 4, 8):
                 sign = random.randint(0, 1)
                 signaling = random.randint(0, 1)
@@ -203,7 +210,7 @@ class CAPIFloatTest(unittest.TestCase):
                         data1 = data if endian == BIG_ENDIAN else data[::-1]
                         value = unpack(data1, endian)
                         if signaling and sys.platform == 'win32':
-                            # On this platform sNaN becomes qNaN when returned
+                            # On Windows x86, sNaN becomes qNaN when returned
                             # from function.  That's a known bug, e.g.
                             # https://developercommunity.visualstudio.com/t/155064
                             # (see also gh-130317).