bpo-35312: Make lib2to3.pgen2.parse.ParseError round-trip pickle-able. (GH-10710)

This commit is contained in:
Anthony Sottile 2018-11-27 10:39:49 -08:00 committed by Serhiy Storchaka
parent d4f9cf5545
commit c57e6e2e52
3 changed files with 16 additions and 0 deletions

View file

@ -622,6 +622,18 @@ class TestLiterals(GrammarTest):
self.validate(s)
class TestPickleableException(unittest.TestCase):
def test_ParseError(self):
err = ParseError('msg', 2, None, (1, 'context'))
for proto in range(pickle.HIGHEST_PROTOCOL + 1):
err2 = pickle.loads(pickle.dumps(err, protocol=proto))
self.assertEqual(err.args, err2.args)
self.assertEqual(err.msg, err2.msg)
self.assertEqual(err.type, err2.type)
self.assertEqual(err.value, err2.value)
self.assertEqual(err.context, err2.context)
def diff_texts(a, b, filename):
a = a.splitlines()
b = b.splitlines()