--- Downloads/Python-2.4.3/Lib/test/pickletester.py 2009-05-01 19:33:24.000000000 -0700 +++ pickletester.py 2009-05-01 19:33:18.000000000 -0700 @@ -825,6 +825,18 @@ y = self.loads(s) self.assertEqual(y._proto, None) + def test_attribute_name_interning(self): + for proto in 0, 1, 2: + x = MyInt(1) + x.foo = 42 + x.bar = "hello" + s = self.dumps(x, proto) + y = self.loads(s) + x_keys = sorted(x.__dict__.keys()) + y_keys = sorted(y.__dict__.keys()) + for x_key, y_key in zip(x_keys, y_keys): + self.assertEqual(id(x_key), id(y_key)) + # Test classes for reduce_ex class REX_one(object):