diff options
Diffstat (limited to 'Lib/test/test_tools/test_lll.py')
-rw-r--r-- | Lib/test/test_tools/test_lll.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Lib/test/test_tools/test_lll.py b/Lib/test/test_tools/test_lll.py new file mode 100644 index 0000000..a8f6d5f --- /dev/null +++ b/Lib/test/test_tools/test_lll.py @@ -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() |