]> granicus.if.org Git - python/commitdiff
#24903: Remove misleading error message to fix regression.
authorR David Murray <rdmurray@bitdance.com>
Sat, 5 Dec 2015 03:54:38 +0000 (22:54 -0500)
committerR David Murray <rdmurray@bitdance.com>
Sat, 5 Dec 2015 03:54:38 +0000 (22:54 -0500)
Before the argparse conversion, compileall would (sometimes) accept multiple
paths when -d was specified.  Afterward, it does not.  The corresponding check
in the original code claimed to prevent multiple *directories* from being
specified...but it didn't really work even to do that.  So this patch fixes
the regression by invoking the consenting adults rule: if you specify a
combination of arguments to compileall that produces files with inconsistent
destdirs (which you could do before), it is on you.

Patch by Jake Garver.

Lib/compileall.py
Lib/test/test_compileall.py
Misc/ACKS
Misc/NEWS

index d957ee5357158aedc464c187a50394e7f053f3e2..8e1569c58e275b859b823c03d949db4aa470c46f 100644 (file)
@@ -196,9 +196,6 @@ def main():
 
     compile_dests = args.compile_dest
 
-    if (args.ddir and (len(compile_dests) != 1
-            or not os.path.isdir(compile_dests[0]))):
-        parser.exit('-d destdir requires exactly one directory argument')
     if args.rx:
         import re
         args.rx = re.compile(args.rx)
index 7b307edfbc19af86d49a60314aba14b5289543cc..7c61fa32509a44c599916f9ba6ce6c945fcb28fe 100644 (file)
@@ -323,14 +323,6 @@ class CommandLineTests(unittest.TestCase):
         self.assertCompiled(init2fn)
         self.assertCompiled(bar2fn)
 
-    def test_d_takes_exactly_one_dir(self):
-        rc, out, err = self.assertRunNotOK('-d', 'foo')
-        self.assertEqual(out, b'')
-        self.assertRegex(err, b'-d')
-        rc, out, err = self.assertRunNotOK('-d', 'foo', 'bar')
-        self.assertEqual(out, b'')
-        self.assertRegex(err, b'-d')
-
     def test_d_compile_error(self):
         script_helper.make_script(self.pkgdir, 'crunchyfrog', 'bad(syntax')
         rc, out, err = self.assertRunNotOK('-q', '-d', 'dinsdale', self.pkgdir)
index 0f64ef072da1e57757fd82a76af302e74fa38008..61305680f7e5d9c9ef4883d86fb889e1e636ce4b 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -470,6 +470,7 @@ Raymund Galvin
 Nitin Ganatra
 Fred Gansevles
 Lars Marius Garshol
+Jake Garver
 Dan Gass
 Andrew Gaul
 Matthieu Gautier
index 0d4977fc2fa0095dff45728e2de91630c0762154..8c727ffa7c615c002e7a115b3b52042c62b4a865 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -115,6 +115,10 @@ Core and Builtins
 Library
 -------
 
+- Issue #24903: Fix regression in number of arguments compileall accepts when
+  '-d' is specified.  The check on the number of arguments has been dropped
+  completely as it never worked correctly anyway.
+
 - Issue #25764: In the subprocess module, preserve any exception caused by
   fork() failure when preexec_fn is used.