mirror of https://github.com/python/cpython
Merge branch 3.2
This commit is contained in:
commit
942d5ba125
|
@ -44,9 +44,9 @@ The following exceptions are used mostly as base classes for other exceptions.
|
|||
|
||||
The base class for all built-in exceptions. It is not meant to be directly
|
||||
inherited by user-defined classes (for that, use :exc:`Exception`). If
|
||||
:func:`bytes` or :func:`str` is called on an instance of this class, the
|
||||
representation of the argument(s) to the instance are returned, or the empty
|
||||
string when there were no arguments.
|
||||
:func:`str` is called on an instance of this class, the representation of
|
||||
the argument(s) to the instance are returned, or the empty string when
|
||||
there were no arguments.
|
||||
|
||||
.. attribute:: args
|
||||
|
||||
|
|
|
@ -491,6 +491,17 @@ class ASTHelpers_Test(unittest.TestCase):
|
|||
self.assertEqual(ast.literal_eval('10 + 2j'), 10 + 2j)
|
||||
self.assertEqual(ast.literal_eval('1.5 - 2j'), 1.5 - 2j)
|
||||
|
||||
def test_bad_integer(self):
|
||||
# issue13436: Bad error message with invalid numeric values
|
||||
body = [ast.ImportFrom(module='time',
|
||||
names=[ast.alias(name='sleep')],
|
||||
level=None,
|
||||
lineno=None, col_offset=None)]
|
||||
mod = ast.Module(body)
|
||||
with self.assertRaises(ValueError) as cm:
|
||||
compile(mod, 'test', 'exec')
|
||||
self.assertIn("invalid integer value: None", str(cm.exception))
|
||||
|
||||
|
||||
class ASTValidatorTests(unittest.TestCase):
|
||||
|
||||
|
|
|
@ -10,6 +10,9 @@ What's New in Python 3.3 Alpha 1?
|
|||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #13436: Fix a bogus error message when an AST object was passed
|
||||
an invalid integer value.
|
||||
|
||||
- Issue #13411: memoryview objects are now hashable when the underlying
|
||||
object is hashable.
|
||||
|
||||
|
|
|
@ -844,11 +844,7 @@ static int obj2ast_int(PyObject* obj, int* out, PyArena* arena)
|
|||
{
|
||||
int i;
|
||||
if (!PyLong_Check(obj)) {
|
||||
PyObject *s = PyObject_Repr(obj);
|
||||
if (s == NULL) return 1;
|
||||
PyErr_Format(PyExc_ValueError, "invalid integer value: %.400s",
|
||||
PyBytes_AS_STRING(s));
|
||||
Py_DECREF(s);
|
||||
PyErr_Format(PyExc_ValueError, "invalid integer value: %R", obj);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -690,11 +690,7 @@ static int obj2ast_int(PyObject* obj, int* out, PyArena* arena)
|
|||
{
|
||||
int i;
|
||||
if (!PyLong_Check(obj)) {
|
||||
PyObject *s = PyObject_Repr(obj);
|
||||
if (s == NULL) return 1;
|
||||
PyErr_Format(PyExc_ValueError, "invalid integer value: %.400s",
|
||||
PyBytes_AS_STRING(s));
|
||||
Py_DECREF(s);
|
||||
PyErr_Format(PyExc_ValueError, "invalid integer value: %R", obj);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue