https://github.com/python/cpython/commit/0f23e84cda6a53a5db7a70f1e48f9773c335a9bd
commit: 0f23e84cda6a53a5db7a70f1e48f9773c335a9bd
branch: main
author: Victor Stinner <vstin...@python.org>
committer: vstinner <vstin...@python.org>
date: 2025-04-30T12:01:06+02:00
summary:

gh-130317: Skip test_pack_unpack_roundtrip_for_nans() on x86 (#133155)

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.

files:
M Lib/test/test_capi/test_float.py

diff --git a/Lib/test/test_capi/test_float.py b/Lib/test/test_capi/test_float.py
index c857959d569529..44570bf6379565 100644
--- a/Lib/test/test_capi/test_float.py
+++ b/Lib/test/test_capi/test_float.py
@@ -180,10 +180,17 @@ def test_pack_unpack_roundtrip(self):
                             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 @@ def test_pack_unpack_roundtrip_for_nans(self):
                         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).

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to