MCPcopy Index your code
hub / github.com/python/cpython / test_setstate_subclasses

Method test_setstate_subclasses

Lib/test/test_functools.py:420–438  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

418 self.assertRaises(TypeError, f.__setstate__, (capture, (), {}, 'test'))
419
420 def test_setstate_subclasses(self):
421 f = self.partial(signature)
422 f.__setstate__((capture, MyTuple((1,)), MyDict(a=10), None))
423 s = signature(f)
424 self.assertEqual(s, (capture, (1,), dict(a=10), {}))
425 self.assertIs(type(s[1]), tuple)
426 self.assertIs(type(s[2]), dict)
427 r = f()
428 self.assertEqual(r, ((1,), {'a': 10}))
429 self.assertIs(type(r[0]), tuple)
430 self.assertIs(type(r[1]), dict)
431
432 f.__setstate__((capture, BadTuple((1,)), {}, None))
433 s = signature(f)
434 self.assertEqual(s, (capture, (1,), {}, {}))
435 self.assertIs(type(s[1]), tuple)
436 r = f(2)
437 self.assertEqual(r, ((1, 2), {}))
438 self.assertIs(type(r[0]), tuple)
439
440 @support.skip_if_sanitizer("thread sanitizer crashes in __tsan::FuncEntry", thread=True)
441 @support.skip_if_unlimited_stack_size

Callers

nothing calls this directly

Calls 9

BadTupleClass · 0.85
partialMethod · 0.80
MyTupleClass · 0.70
MyDictClass · 0.70
signatureFunction · 0.70
fFunction · 0.70
__setstate__Method · 0.45
assertEqualMethod · 0.45
assertIsMethod · 0.45

Tested by

no test coverage detected