mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
bpo-35431: Test math.comb() and math.perm() for OverflowError only on CPython. (GH-14146)
Other implementation can raise MemoryError, but it can takes hours.
This commit is contained in:
parent
231aad3849
commit
1b8a46d597
1 changed files with 5 additions and 3 deletions
|
@ -525,7 +525,7 @@ class MathTests(unittest.TestCase):
|
|||
# Other implementations may place different upper bounds.
|
||||
@support.cpython_only
|
||||
def testFactorialHugeInputs(self):
|
||||
# Currently raises ValueError for inputs that are too large
|
||||
# Currently raises OverflowError for inputs that are too large
|
||||
# to fit into a C long.
|
||||
self.assertRaises(OverflowError, math.factorial, 10**100)
|
||||
with self.assertWarns(DeprecationWarning):
|
||||
|
@ -1922,7 +1922,8 @@ class IsCloseTests(unittest.TestCase):
|
|||
self.assertEqual(perm(n, 0), 1)
|
||||
self.assertEqual(perm(n, 1), n)
|
||||
self.assertEqual(perm(n, 2), n * (n-1))
|
||||
self.assertRaises((OverflowError, MemoryError), perm, n, n)
|
||||
if support.check_impl_detail(cpython=True):
|
||||
self.assertRaises(OverflowError, perm, n, n)
|
||||
|
||||
for n, k in (True, True), (True, False), (False, False):
|
||||
self.assertEqual(perm(n, k), 1)
|
||||
|
@ -1991,7 +1992,8 @@ class IsCloseTests(unittest.TestCase):
|
|||
self.assertEqual(comb(n, n), 1)
|
||||
self.assertEqual(comb(n, n-1), n)
|
||||
self.assertEqual(comb(n, n-2), n * (n-1) // 2)
|
||||
self.assertRaises((OverflowError, MemoryError), comb, n, n//2)
|
||||
if support.check_impl_detail(cpython=True):
|
||||
self.assertRaises(OverflowError, comb, n, n//2)
|
||||
|
||||
for n, k in (True, True), (True, False), (False, False):
|
||||
self.assertEqual(comb(n, k), 1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue