1edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepimport pickle
2edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepimport pickletools
3edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepfrom test import test_support
4edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepfrom test.pickletester import AbstractPickleTests
5edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepfrom test.pickletester import AbstractPickleModuleTests
6edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep
7edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepclass OptimizedPickleTests(AbstractPickleTests, AbstractPickleModuleTests):
8edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep
9edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep    def dumps(self, arg, proto=0, fast=0):
10edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep        return pickletools.optimize(pickle.dumps(arg, proto))
11edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep
12edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep    def loads(self, buf):
13edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep        return pickle.loads(buf)
14edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep
15edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep    module = pickle
16edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep    error = KeyError
17edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep
18edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepdef test_main():
19edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep    test_support.run_unittest(OptimizedPickleTests)
20edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep    test_support.run_doctest(pickletools)
21edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep
22edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep
23edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoepif __name__ == "__main__":
24edbb763a2b63074cd468a5d33a17908b2cc0654Jeff Vander Stoep    test_main()
25