mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merge
This commit is contained in:
commit
3b09cd64e0
4 changed files with 17 additions and 2 deletions
|
@ -3,6 +3,8 @@
|
||||||
import ast
|
import ast
|
||||||
import builtins
|
import builtins
|
||||||
import collections
|
import collections
|
||||||
|
import decimal
|
||||||
|
import fractions
|
||||||
import io
|
import io
|
||||||
import locale
|
import locale
|
||||||
import os
|
import os
|
||||||
|
@ -1244,6 +1246,15 @@ class BuiltinTest(unittest.TestCase):
|
||||||
self.assertEqual(round(5e15+2), 5e15+2)
|
self.assertEqual(round(5e15+2), 5e15+2)
|
||||||
self.assertEqual(round(5e15+3), 5e15+3)
|
self.assertEqual(round(5e15+3), 5e15+3)
|
||||||
|
|
||||||
|
def test_bug_27936(self):
|
||||||
|
# Verify that ndigits=None means the same as passing in no argument
|
||||||
|
for x in [1234,
|
||||||
|
1234.56,
|
||||||
|
decimal.Decimal('1234.56'),
|
||||||
|
fractions.Fraction(123456, 100)]:
|
||||||
|
self.assertEqual(round(x, None), round(x))
|
||||||
|
self.assertEqual(type(round(x, None)), type(round(x)))
|
||||||
|
|
||||||
def test_setattr(self):
|
def test_setattr(self):
|
||||||
setattr(sys, 'spam', 1)
|
setattr(sys, 'spam', 1)
|
||||||
self.assertEqual(sys.spam, 1)
|
self.assertEqual(sys.spam, 1)
|
||||||
|
|
|
@ -1015,7 +1015,7 @@ class LongTest(unittest.TestCase):
|
||||||
self.assertIs(type(got), int)
|
self.assertIs(type(got), int)
|
||||||
|
|
||||||
# bad second argument
|
# bad second argument
|
||||||
bad_exponents = ('brian', 2.0, 0j, None)
|
bad_exponents = ('brian', 2.0, 0j)
|
||||||
for e in bad_exponents:
|
for e in bad_exponents:
|
||||||
self.assertRaises(TypeError, round, 3, e)
|
self.assertRaises(TypeError, round, 3, e)
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,10 @@ Core and Builtins
|
||||||
``m_methods`` field to be used to add module level functions to instances
|
``m_methods`` field to be used to add module level functions to instances
|
||||||
of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang.
|
of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang.
|
||||||
|
|
||||||
|
- Issue #27936: The round() function accepted a second None argument
|
||||||
|
for some types but not for others. Fixed the inconsistency by
|
||||||
|
accepting None for all numeric types.
|
||||||
|
|
||||||
- Issue #27487: Warn if a submodule argument to "python -m" or
|
- Issue #27487: Warn if a submodule argument to "python -m" or
|
||||||
runpy.run_module() is found in sys.modules after parent packages are
|
runpy.run_module() is found in sys.modules after parent packages are
|
||||||
imported, but before the submodule is executed.
|
imported, but before the submodule is executed.
|
||||||
|
|
|
@ -2043,7 +2043,7 @@ builtin_round(PyObject *self, PyObject *args, PyObject *kwds)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ndigits == NULL)
|
if (ndigits == NULL || ndigits == Py_None)
|
||||||
result = PyObject_CallFunctionObjArgs(round, NULL);
|
result = PyObject_CallFunctionObjArgs(round, NULL);
|
||||||
else
|
else
|
||||||
result = PyObject_CallFunctionObjArgs(round, ndigits, NULL);
|
result = PyObject_CallFunctionObjArgs(round, ndigits, NULL);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue