mirror of
https://github.com/python/cpython.git
synced 2025-09-01 14:38:00 +00:00
Try to repair oddball test bots timing out in test_int (#119166)
Various test bots (outside the ones GH normally runs) are timing out during test_int after ecd8664
(asymptotically faster str->int). Best guess is that they don't build the C _decimal module. So require that module in the most likely tests to time out then. Flying mostly blind, though!
This commit is contained in:
parent
ecd8664f11
commit
ba8af84864
1 changed files with 8 additions and 0 deletions
|
@ -12,6 +12,11 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
_pylong = None
|
_pylong = None
|
||||||
|
|
||||||
|
try:
|
||||||
|
import _decimal
|
||||||
|
except ImportError:
|
||||||
|
_decimal = None
|
||||||
|
|
||||||
L = [
|
L = [
|
||||||
('0', 0),
|
('0', 0),
|
||||||
('1', 1),
|
('1', 1),
|
||||||
|
@ -920,6 +925,7 @@ class PyLongModuleTests(unittest.TestCase):
|
||||||
bits <<= 1
|
bits <<= 1
|
||||||
|
|
||||||
@support.requires_resource('cpu')
|
@support.requires_resource('cpu')
|
||||||
|
@unittest.skipUnless(_decimal, "C _decimal module required")
|
||||||
def test_pylong_roundtrip_huge(self):
|
def test_pylong_roundtrip_huge(self):
|
||||||
# k blocks of 1234567890
|
# k blocks of 1234567890
|
||||||
k = 1_000_000 # so 10 million digits in all
|
k = 1_000_000 # so 10 million digits in all
|
||||||
|
@ -931,6 +937,7 @@ class PyLongModuleTests(unittest.TestCase):
|
||||||
|
|
||||||
@support.requires_resource('cpu')
|
@support.requires_resource('cpu')
|
||||||
@unittest.skipUnless(_pylong, "_pylong module required")
|
@unittest.skipUnless(_pylong, "_pylong module required")
|
||||||
|
@unittest.skipUnless(_decimal, "C _decimal module required")
|
||||||
def test_whitebox_dec_str_to_int_inner_failsafe(self):
|
def test_whitebox_dec_str_to_int_inner_failsafe(self):
|
||||||
# While I believe the number of GUARD digits in this function is
|
# While I believe the number of GUARD digits in this function is
|
||||||
# always enough so that no more than one correction step is ever
|
# always enough so that no more than one correction step is ever
|
||||||
|
@ -950,6 +957,7 @@ class PyLongModuleTests(unittest.TestCase):
|
||||||
_pylong._spread.update(orig_spread)
|
_pylong._spread.update(orig_spread)
|
||||||
|
|
||||||
@unittest.skipUnless(_pylong, "pylong module required")
|
@unittest.skipUnless(_pylong, "pylong module required")
|
||||||
|
@unittest.skipUnless(_decimal, "C _decimal module required")
|
||||||
def test_whitebox_dec_str_to_int_inner_monster(self):
|
def test_whitebox_dec_str_to_int_inner_monster(self):
|
||||||
# I don't think anyone has enough RAM to build a string long enough
|
# I don't think anyone has enough RAM to build a string long enough
|
||||||
# for this function to complain. So lie about the string length.
|
# for this function to complain. So lie about the string length.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue