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)
|
||||
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:
|
||||
|
@ -25,4 +24,4 @@ def main():
|
|||
lll(arg)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main(sys.argv[1:])
|
||||
|
|
Loading…
Reference in New Issue