def test_setstate_errors(self):
f = self.partial(signature)
+
self.assertRaises(TypeError, f.__setstate__, (capture, (), {}))
self.assertRaises(TypeError, f.__setstate__, (capture, (), {}, {}, None))
self.assertRaises(TypeError, f.__setstate__, [capture, (), {}, None])
self.assertRaises(TypeError, f.__setstate__, (capture, None, {}, None))
self.assertRaises(TypeError, f.__setstate__, (capture, [], {}, None))
self.assertRaises(TypeError, f.__setstate__, (capture, (), [], None))
+ self.assertRaises(TypeError, f.__setstate__, (capture, (), {}, ()))
+ self.assertRaises(TypeError, f.__setstate__, (capture, (), {}, 'test'))
def test_setstate_subclasses(self):
f = self.partial(signature)
if (!PyArg_ParseTuple(state, "OOOO", &fn, &fnargs, &kw, &dict) ||
!PyCallable_Check(fn) ||
!PyTuple_Check(fnargs) ||
- (kw != Py_None && !PyDict_Check(kw)))
+ (kw != Py_None && !PyDict_Check(kw)) ||
+ (dict != Py_None && !PyDict_Check(dict)))
{
PyErr_SetString(PyExc_TypeError, "invalid partial state");
return NULL;