mirror of
https://github.com/python/cpython.git
synced 2025-12-11 03:20:01 +00:00
Make test_new pass.
This commit is contained in:
parent
1a1f61b48f
commit
bbbd4fdba2
2 changed files with 6 additions and 1 deletions
|
|
@ -143,7 +143,7 @@ class NewTest(unittest.TestCase):
|
||||||
firstlineno, lnotab)
|
firstlineno, lnotab)
|
||||||
|
|
||||||
# new.code used to be a way to mutate a tuple...
|
# new.code used to be a way to mutate a tuple...
|
||||||
class S(str):
|
class S(str8):
|
||||||
pass
|
pass
|
||||||
t = (S("ab"),)
|
t = (S("ab"),)
|
||||||
d = new.code(argcount, kwonlyargcount, nlocals, stacksize,
|
d = new.code(argcount, kwonlyargcount, nlocals, stacksize,
|
||||||
|
|
|
||||||
|
|
@ -482,6 +482,11 @@ func_new(PyTypeObject* type, PyObject* args, PyObject* kw)
|
||||||
&PyDict_Type, &globals,
|
&PyDict_Type, &globals,
|
||||||
&name, &defaults, &closure))
|
&name, &defaults, &closure))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
if (PyUnicode_Check(name)) {
|
||||||
|
name = _PyUnicode_AsDefaultEncodedString(name, NULL);
|
||||||
|
if (name == NULL)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
if (name != Py_None && !PyString_Check(name)) {
|
if (name != Py_None && !PyString_Check(name)) {
|
||||||
PyErr_SetString(PyExc_TypeError,
|
PyErr_SetString(PyExc_TypeError,
|
||||||
"arg 3 (name) must be None or string");
|
"arg 3 (name) must be None or string");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue