Skip to content

Commit 6e8d75e

Browse files
committed
fix
1 parent 1091b8d commit 6e8d75e

File tree

1 file changed

+29
-17
lines changed

1 file changed

+29
-17
lines changed

Lib/test/test_site.py

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -807,11 +807,11 @@ def test_underpth_dll_file(self):
807807

808808

809809
class CommandLineTests(unittest.TestCase):
810-
def setUp(self):
811-
super().setUp()
812-
if sys.path[0] != os.getcwd():
813-
sys.path.remove(sys.path[0])
814-
sys.path.insert(0, os.getcwd())
810+
def exists(self, path):
811+
if path is not None and os.path.isdir(path):
812+
return "exists"
813+
else:
814+
return "doesn't exist"
815815

816816
def get_excepted_output(self, *args):
817817
if len(args) == 0:
@@ -821,13 +821,8 @@ def get_excepted_output(self, *args):
821821
for dir in sys.path:
822822
output += " %r,\n" % (dir,)
823823
output += "]\n"
824-
def exists(path):
825-
if path is not None and os.path.isdir(path):
826-
return "exists"
827-
else:
828-
return "doesn't exist"
829-
output += f"USER_BASE: {user_base!r} ({exists(user_base)})\n"
830-
output += f"USER_SITE: {user_site!r} ({exists(user_site)})\n"
824+
output += f"USER_BASE: {user_base!r} ({self.exists(user_base)})\n"
825+
output += f"USER_SITE: {user_site!r} ({self.exists(user_site)})\n"
831826
output += f"ENABLE_USER_SITE: {site.ENABLE_USER_SITE!r}\n"
832827
return 0, dedent(output).strip()
833828

@@ -854,39 +849,56 @@ def invoke_command_line(self, *args):
854849
args = [sys.executable, "-m", "site", *args]
855850
proc = subprocess.Popen(args,
856851
stdout=subprocess.PIPE,
857-
stderr=subprocess.STDOUT,)
852+
stderr=subprocess.STDOUT,
853+
text=True)
858854
proc.wait()
859-
output = proc.stdout.read().decode()
855+
output = proc.stdout.read()
860856
return_code = proc.returncode
861857
proc.stdout.close()
862858
return return_code, dedent(output).strip()
863859

860+
@unittest.skipIf(sys.platform == 'wasi', "Popen not supported on WASI")
864861
def test_no_args(self):
865862
return_code, output = self.invoke_command_line()
866-
excepted_return_code, excepted_output = self.get_excepted_output()
863+
excepted_return_code, _ = self.get_excepted_output()
867864
self.assertEqual(return_code, excepted_return_code)
868-
self.assertEqual(output, excepted_output)
869-
865+
lines = output.splitlines()
866+
self.assertEqual(lines[0], "sys.path = [")
867+
self.assertEqual(lines[-4], "]")
868+
excepted_base = f"USER_BASE: '{site.getuserbase()}'" +\
869+
f" ({self.exists(site.getuserbase())})"
870+
print(excepted_base)
871+
self.assertEqual(lines[-3], excepted_base)
872+
excepted_site = f"USER_SITE: '{site.getusersitepackages()}'" +\
873+
f" ({self.exists(site.getusersitepackages())})"
874+
self.assertEqual(lines[-2], excepted_site)
875+
self.assertEqual(lines[-1], f"ENABLE_USER_SITE: {site.ENABLE_USER_SITE}")
876+
877+
878+
@unittest.skipIf(sys.platform == 'wasi', "Popen not supported on WASI")
870879
def test_unknown_args(self):
871880
return_code, output = self.invoke_command_line("--unknown-arg")
872881
excepted_return_code, _ = self.get_excepted_output("--unknown-arg")
873882
self.assertEqual(return_code, excepted_return_code)
874883
self.assertIn('[--user-base] [--user-site]', output)
875884

885+
@unittest.skipIf(sys.platform == 'wasi', "Popen not supported on WASI")
876886
def test_base_arg(self):
877887
return_code, output = self.invoke_command_line("--user-base")
878888
excepted = self.get_excepted_output("--user-base")
879889
excepted_return_code, excepted_output = excepted
880890
self.assertEqual(return_code, excepted_return_code)
881891
self.assertEqual(output, excepted_output)
882892

893+
@unittest.skipIf(sys.platform == 'wasi', "Popen not supported on WASI")
883894
def test_site_arg(self):
884895
return_code, output = self.invoke_command_line("--user-site")
885896
excepted = self.get_excepted_output("--user-site")
886897
excepted_return_code, excepted_output = excepted
887898
self.assertEqual(return_code, excepted_return_code)
888899
self.assertEqual(output, excepted_output)
889900

901+
@unittest.skipIf(sys.platform == 'wasi', "Popen not supported on WASI")
890902
def test_both_args(self):
891903
return_code, output = self.invoke_command_line("--user-base",
892904
"--user-site")

0 commit comments

Comments
 (0)