summaryrefslogtreecommitdiff
path: root/debian/patches/lib2to3-no-pgen-caching.diff
blob: e04685a071b9d76db936c2ee82a2d3b432549eac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Index: b/Lib/lib2to3/tests/test_parser.py
===================================================================
--- a/Lib/lib2to3/tests/test_parser.py
+++ b/Lib/lib2to3/tests/test_parser.py
@@ -36,71 +36,6 @@
         self.assertEqual(t.children[1].children[0].type, syms.print_stmt)
 
 
-class TestPgen2Caching(support.TestCase):
-    def test_load_grammar_from_txt_file(self):
-        pgen2_driver.load_grammar(support.grammar_path, save=False, force=True)
-
-    def test_load_grammar_from_pickle(self):
-        # Make a copy of the grammar file in a temp directory we are
-        # guaranteed to be able to write to.
-        tmpdir = tempfile.mkdtemp()
-        try:
-            grammar_copy = os.path.join(
-                    tmpdir, os.path.basename(support.grammar_path))
-            shutil.copy(support.grammar_path, grammar_copy)
-            pickle_name = pgen2_driver._generate_pickle_name(grammar_copy)
-
-            pgen2_driver.load_grammar(grammar_copy, save=True, force=True)
-            self.assertTrue(os.path.exists(pickle_name))
-
-            os.unlink(grammar_copy)  # Only the pickle remains...
-            pgen2_driver.load_grammar(grammar_copy, save=False, force=False)
-        finally:
-            shutil.rmtree(tmpdir)
-
-    @unittest.skipIf(sys.executable is None, 'sys.executable required')
-    def test_load_grammar_from_subprocess(self):
-        tmpdir = tempfile.mkdtemp()
-        tmpsubdir = os.path.join(tmpdir, 'subdir')
-        try:
-            os.mkdir(tmpsubdir)
-            grammar_base = os.path.basename(support.grammar_path)
-            grammar_copy = os.path.join(tmpdir, grammar_base)
-            grammar_sub_copy = os.path.join(tmpsubdir, grammar_base)
-            shutil.copy(support.grammar_path, grammar_copy)
-            shutil.copy(support.grammar_path, grammar_sub_copy)
-            pickle_name = pgen2_driver._generate_pickle_name(grammar_copy)
-            pickle_sub_name = pgen2_driver._generate_pickle_name(
-                     grammar_sub_copy)
-            self.assertNotEqual(pickle_name, pickle_sub_name)
-
-            # Generate a pickle file from this process.
-            pgen2_driver.load_grammar(grammar_copy, save=True, force=True)
-            self.assertTrue(os.path.exists(pickle_name))
-
-            # Generate a new pickle file in a subprocess with a most likely
-            # different hash randomization seed.
-            sub_env = dict(os.environ)
-            sub_env['PYTHONHASHSEED'] = 'random'
-            subprocess.check_call(
-                    [sys.executable, '-c', """
-from lib2to3.pgen2 import driver as pgen2_driver
-pgen2_driver.load_grammar(%r, save=True, force=True)
-                    """ % (grammar_sub_copy,)],
-                    env=sub_env)
-            self.assertTrue(os.path.exists(pickle_sub_name))
-
-            with open(pickle_name, 'rb') as pickle_f_1, \
-                    open(pickle_sub_name, 'rb') as pickle_f_2:
-                self.assertEqual(
-                    pickle_f_1.read(), pickle_f_2.read(),
-                    msg='Grammar caches generated using different hash seeds'
-                    ' were not identical.')
-        finally:
-            shutil.rmtree(tmpdir)
-
-
-
 class GrammarTest(support.TestCase):
     def validate(self, code):
         support.parse_string(code)