diff -r 65f2c92ed079 Lib/test/pickletester.py --- a/Lib/test/pickletester.py Sun Jul 07 23:30:24 2013 +0200 +++ b/Lib/test/pickletester.py Mon Jul 08 14:41:06 2013 +1000 @@ -1242,6 +1242,30 @@ else: self._check_pickling_with_opcode(obj, pickle.SETITEMS, proto) + def test_negative_version(self): + f = io.BytesIO() + p = pickle._Pickler(f, -1) + expected = pickle.DEFAULT_PROTOCOL + got = p.proto + self.assertEqual(expected, got) + + def test_non_existent_version(self): + f = io.BytesIO() + with self.assertRaises(ValueError): + p = pickle._Pickler(f, pickle.HIGHEST_PROTOCOL+1) + + def test_invalid_file(self): + f = "" + with self.assertRaises(TypeError): + p = pickle._Pickler(f) + + def test_no_write_method_on_dump(self): + f = io.BytesIO() + p = pickle._Pickler(f) + del p.write + with self.assertRaises(pickle.PicklingError): + p.dump("") + class BigmemPickleTests(unittest.TestCase):