bpo-14546: Fix the argument handling in Tools/scripts/lll.py (GH-13026)
This commit is contained in:
parent
0d5864fa07
commit
c4e78b116f
|
@ -0,0 +1,38 @@
|
||||||
|
"""Tests for the lll script in the Tools/script directory."""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import tempfile
|
||||||
|
from test import support
|
||||||
|
from test.test_tools import skip_if_missing, import_tool
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
skip_if_missing()
|
||||||
|
|
||||||
|
|
||||||
|
class lllTests(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.lll = import_tool('lll')
|
||||||
|
|
||||||
|
def test_lll_multiple_dirs(self):
|
||||||
|
with tempfile.TemporaryDirectory() as dir1, \
|
||||||
|
tempfile.TemporaryDirectory() as 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'))
|
||||||
|
|
||||||
|
with support.captured_stdout() as output:
|
||||||
|
self.lll.main([dir1, dir2])
|
||||||
|
self.assertEqual(output.getvalue(),
|
||||||
|
f'{dir1}:\n'
|
||||||
|
f'symlink -> {fn1}\n'
|
||||||
|
f'\n'
|
||||||
|
f'{dir2}:\n'
|
||||||
|
f'symlink -> {fn2}\n'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
|
@ -0,0 +1 @@
|
||||||
|
Fix the argument handling in Tools/scripts/lll.py.
|
|
@ -13,8 +13,7 @@ def lll(dirname):
|
||||||
full = os.path.join(dirname, name)
|
full = os.path.join(dirname, name)
|
||||||
if os.path.islink(full):
|
if os.path.islink(full):
|
||||||
print(name, '->', os.readlink(full))
|
print(name, '->', os.readlink(full))
|
||||||
def main():
|
def main(args):
|
||||||
args = sys.argv[1:]
|
|
||||||
if not args: args = [os.curdir]
|
if not args: args = [os.curdir]
|
||||||
first = 1
|
first = 1
|
||||||
for arg in args:
|
for arg in args:
|
||||||
|
@ -22,7 +21,7 @@ def main():
|
||||||
if not first: print()
|
if not first: print()
|
||||||
first = 0
|
first = 0
|
||||||
print(arg + ':')
|
print(arg + ':')
|
||||||
lll(arg)
|
lll(arg)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main(sys.argv[1:])
|
||||||
|
|
Loading…
Reference in New Issue