Skip to content

Commit 92384a5

Browse files
committed
bpo-38347: add a test case for the recursive search
Add a test case for the recursive search including filenames with a '-'.
1 parent 7e606dd commit 92384a5

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

Lib/test/test_tools/test_pathfix.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@ def setUp(self):
1717
self.temp_file = support.TESTFN
1818
self.addCleanup(support.unlink, support.TESTFN)
1919

20-
def pathfix(self, shebang, pathfix_flags, exitcode=0, stdout='', stderr=''):
20+
def pathfix(self, shebang, pathfix_flags, exitcode=0, stdout='', stderr='',
21+
filename=''):
22+
if filename == '':
23+
filename = self.temp_file
24+
2125
with open(self.temp_file, 'w', encoding='utf8') as f:
2226
f.write(f'{shebang}\n' + 'print("Hello world")\n')
2327

2428
proc = subprocess.run(
2529
[sys.executable, self.script,
26-
*pathfix_flags, '-n', self.temp_file],
30+
*pathfix_flags, '-n', filename],
2731
capture_output=True, text=1)
2832

2933
if stdout == '' and proc.returncode == 0:
@@ -44,6 +48,22 @@ def pathfix(self, shebang, pathfix_flags, exitcode=0, stdout='', stderr=''):
4448

4549
return new_shebang
4650

51+
def test_recursive(self):
52+
self.temp_directory = support.TESTFN + '.d'
53+
self.addCleanup(support.rmtree, self.temp_directory)
54+
os.mkdir(self.temp_directory)
55+
self.temp_file = self.temp_directory + os.sep + \
56+
os.path.basename(support.TESTFN) + '-t.py'
57+
temp_directory_basename = os.path.basename(self.temp_directory)
58+
expected_stderr = f'recursedown(\'{temp_directory_basename}\')\n'
59+
self.assertEqual(
60+
self.pathfix(
61+
'#! /usr/bin/env python',
62+
['-i', '/usr/bin/python3'],
63+
filename=self.temp_directory,
64+
stderr=expected_stderr),
65+
'#! /usr/bin/python3')
66+
4767
def test_pathfix(self):
4868
self.assertEqual(
4969
self.pathfix(

0 commit comments

Comments
 (0)