mirror of https://github.com/python/cpython
#24903: Remove misleading error message to fix regression.
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.
This commit is contained in:
parent
afdd51343c
commit
ced699b4c7
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -470,6 +470,7 @@ Raymund Galvin
|
|||
Nitin Ganatra
|
||||
Fred Gansevles
|
||||
Lars Marius Garshol
|
||||
Jake Garver
|
||||
Dan Gass
|
||||
Andrew Gaul
|
||||
Matthieu Gautier
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue