Commit 7c2c01f0 authored by Zackery Spytz's avatar Zackery Spytz Committed by Victor Stinner

[2.7] bpo-14546: Fix the argument handling in Tools/scripts/lll.py (GH-13026) (GH-13063)

(cherry picked from commit c4e78b11)
parent 74852b97
......@@ -445,6 +445,33 @@ class FixcidTests(unittest.TestCase):
return output.getvalue()
class LllTests(unittest.TestCase):
script = os.path.join(scriptsdir, 'lll.py')
@unittest.skipUnless(hasattr(os, 'symlink'), 'Requires symlink support')
def test_lll_multiple_dirs(self):
dir1 = tempfile.mkdtemp()
dir2 = tempfile.mkdtemp()
self.addCleanup(test_support.rmtree, dir1)
self.addCleanup(test_support.rmtree, dir2)
fn1 = os.path.join(dir1, 'foo1')
fn2 = os.path.join(dir2, 'foo2')
for fn, dir in (fn1, dir1), (fn2, dir2):
open(fn, 'w').close()
os.symlink(fn, os.path.join(dir, 'symlink'))
rc, out, err = assert_python_ok(self.script, dir1, dir2)
self.assertEqual(out,
'{dir1}:\n'
'symlink -> {fn1}\n'
'\n'
'{dir2}:\n'
'symlink -> {fn2}\n'
.format(dir1=dir1, fn1=fn1, dir2=dir2, fn2=fn2)
)
def test_main():
test_support.run_unittest(*[obj for obj in globals().values()
if isinstance(obj, type)])
......
Fix the argument handling in Tools/scripts/lll.py.
......@@ -13,8 +13,7 @@ def lll(dirname):
full = os.path.join(dirname, name)
if os.path.islink(full):
print name, '->', os.readlink(full)
def main():
args = sys.argv[1:]
def main(args):
if not args: args = [os.curdir]
first = 1
for arg in args:
......@@ -22,7 +21,7 @@ def main():
if not first: print
first = 0
print arg + ':'
lll(arg)
lll(arg)
if __name__ == '__main__':
main()
main(sys.argv[1:])
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment