Skip to content

Commit 1f63937

Browse files
committed
fix
1 parent aec92c5 commit 1f63937

File tree

1 file changed

+22
-25
lines changed

1 file changed

+22
-25
lines changed

Lib/test/test_site.py

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from test.support.os_helper import TESTFN, EnvironmentVarGuard
1616
import ast
1717
import builtins
18-
import fnmatch
1918
import glob
2019
import io
2120
import os
@@ -806,35 +805,23 @@ def test_underpth_dll_file(self):
806805
)], env=env)
807806
self.assertTrue(rc, "sys.path is incorrect")
808807

809-
810808
class CommandLineTests(unittest.TestCase):
811-
def get_sys_path(self):
812-
proc = subprocess.Popen([sys.executable, '-c',
813-
'import sys; print(repr(sys.path))'],
814-
stdout=subprocess.PIPE,
815-
stderr=subprocess.STDOUT,
816-
text=True)
817-
proc.wait()
818-
ls = ast.literal_eval(proc.stdout.read())
819-
ls[0] = '*'
820-
proc.stdout.close()
821-
return ls
809+
def exists(self, path):
810+
if path is not None and os.path.isdir(path):
811+
return "exists"
812+
else:
813+
return "doesn't exist"
822814

823815
def get_excepted_output(self, *args):
824816
if len(args) == 0:
825817
user_base = site.getuserbase()
826818
user_site = site.getusersitepackages()
827819
output = "sys.path = [\n"
828-
for dir in self.get_sys_path():
820+
for dir in sys.path:
829821
output += " %r,\n" % (dir,)
830822
output += "]\n"
831-
def exists(path):
832-
if path is not None and os.path.isdir(path):
833-
return "exists"
834-
else:
835-
return "doesn't exist"
836-
output += f"USER_BASE: {user_base!r} ({exists(user_base)})\n"
837-
output += f"USER_SITE: {user_site!r} ({exists(user_site)})\n"
823+
output += f"USER_BASE: {user_base!r} ({self.exists(user_base)})\n"
824+
output += f"USER_SITE: {user_site!r} ({self.exists(user_site)})\n"
838825
output += f"ENABLE_USER_SITE: {site.ENABLE_USER_SITE!r}\n"
839826
return 0, dedent(output).strip()
840827

@@ -874,30 +861,40 @@ def test_no_args(self):
874861
excepted_return_code, excepted_output = self.get_excepted_output()
875862
self.assertEqual(return_code, excepted_return_code)
876863
# self.assertEqual(output, excepted_output)
877-
#print(output)
878-
#print(excepted_output)
879-
#self.assertTrue(fnmatch.fnmatch(output, excepted_output))
880-
864+
output_lines = output.splitlines()
865+
self.assertEqual(output_lines[-1],
866+
f'ENABLE_USER_SITE: {site.ENABLE_USER_SITE}')
867+
user_site = f"USER_SITE: '{site.getusersitepackages()}' ({self.exists(site.getusersitepackages())})"
868+
self.assertEqual(output_lines[-2], user_site)
869+
user_base = f"USER_BASE: '{site.getuserbase()}' ({self.exists(site.getuserbase())})"
870+
self.assertEqual(output_lines[-3], user_base)
871+
self.assertEqual(output_lines[0], "sys.path = [")
872+
self.assertEqual(output_lines[-4], "]")
873+
874+
@unittest.skipIf(sys.platform == 'wasi', 'subprocess not supported on WASI')
881875
def test_unknown_args(self):
882876
return_code, output = self.invoke_command_line("--unknown-arg")
883877
excepted_return_code, _ = self.get_excepted_output("--unknown-arg")
884878
self.assertEqual(return_code, excepted_return_code)
885879
self.assertIn('[--user-base] [--user-site]', output)
886880

881+
@unittest.skipIf(sys.platform == 'wasi', 'subprocess not supported on WASI')
887882
def test_base_arg(self):
888883
return_code, output = self.invoke_command_line("--user-base")
889884
excepted = self.get_excepted_output("--user-base")
890885
excepted_return_code, excepted_output = excepted
891886
self.assertEqual(return_code, excepted_return_code)
892887
self.assertEqual(output, excepted_output)
893888

889+
@unittest.skipIf(sys.platform == 'wasi', 'subprocess not supported on WASI')
894890
def test_site_arg(self):
895891
return_code, output = self.invoke_command_line("--user-site")
896892
excepted = self.get_excepted_output("--user-site")
897893
excepted_return_code, excepted_output = excepted
898894
self.assertEqual(return_code, excepted_return_code)
899895
self.assertEqual(output, excepted_output)
900896

897+
@unittest.skipIf(sys.platform == 'wasi', 'subprocess not supported on WASI')
901898
def test_both_args(self):
902899
return_code, output = self.invoke_command_line("--user-base",
903900
"--user-site")

0 commit comments

Comments
 (0)