diff options
author | Benjamin Peterson <benjamin@python.org> | 2014-08-19 16:13:26 -0500 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2014-08-19 16:13:26 -0500 |
commit | 344ff4ab2b68dee327fb36ee4fe01124466e49d6 (patch) | |
tree | b7f5bedd0568b5eef6812cac94d0d56ecc2c1258 /Lib/test/test_compileall.py | |
parent | 54b3b3fb2cb54e25901710b98b8d7b13d5f3b01e (diff) | |
download | cpython-git-344ff4ab2b68dee327fb36ee4fe01124466e49d6.tar.gz |
allow recursion depth to be specified (closes #19628)
Patch from Claudiu Popa.
Diffstat (limited to 'Lib/test/test_compileall.py')
-rw-r--r-- | Lib/test/test_compileall.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py index 2a42238755..ba1765e6f8 100644 --- a/Lib/test/test_compileall.py +++ b/Lib/test/test_compileall.py @@ -273,6 +273,40 @@ class CommandLineTests(unittest.TestCase): self.assertCompiled(subinitfn) self.assertCompiled(hamfn) + def test_recursion_limit(self): + subpackage = os.path.join(self.pkgdir, 'spam') + subpackage2 = os.path.join(subpackage, 'ham') + subpackage3 = os.path.join(subpackage2, 'eggs') + for pkg in (subpackage, subpackage2, subpackage3): + script_helper.make_pkg(pkg) + + subinitfn = os.path.join(subpackage, '__init__.py') + hamfn = script_helper.make_script(subpackage, 'ham', '') + spamfn = script_helper.make_script(subpackage2, 'spam', '') + eggfn = script_helper.make_script(subpackage3, 'egg', '') + + self.assertRunOK('-q', '-r 0', self.pkgdir) + self.assertNotCompiled(subinitfn) + self.assertFalse( + os.path.exists(os.path.join(subpackage, '__pycache__'))) + + self.assertRunOK('-q', '-r 1', self.pkgdir) + self.assertCompiled(subinitfn) + self.assertCompiled(hamfn) + self.assertNotCompiled(spamfn) + + self.assertRunOK('-q', '-r 2', self.pkgdir) + self.assertCompiled(subinitfn) + self.assertCompiled(hamfn) + self.assertCompiled(spamfn) + self.assertNotCompiled(eggfn) + + self.assertRunOK('-q', '-r 5', self.pkgdir) + self.assertCompiled(subinitfn) + self.assertCompiled(hamfn) + self.assertCompiled(spamfn) + self.assertCompiled(eggfn) + def test_quiet(self): noisy = self.assertRunOK(self.pkgdir) quiet = self.assertRunOK('-q', self.pkgdir) |