Make sys.path cleanup work on windows

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
Pedro Algarvio 2023-07-28 11:32:38 +01:00 committed by Megan Wilhite
parent 49f3401741
commit 8534384a40

View file

@ -2,19 +2,14 @@ import os
import pathlib
import sys
_repo_root = pathlib.Path(__file__).parent.parent
_paths_to_check = {""}
if sys.platform.startswith("win"):
_paths_to_check.add(str(_repo_root).replace("\\", "\\\\"))
_paths_to_check.add(str(_repo_root.resolve()).replace("\\", "\\\\"))
else:
_paths_to_check.add(str(_repo_root))
_repo_root = pathlib.Path(__file__).resolve().parent.parent
if os.environ.get("ONEDIR_TESTRUN", "0") == "1":
# In this particular case, we want to make sure that the repo root
# is not part if sys.path so that when we import salt, we import salt from
# the onedir and not the code checkout
for path in _paths_to_check:
if path in sys.path:
for path in list(sys.path):
if path == "":
sys.path.remove(path)
elif pathlib.Path(path).resolve() == _repo_root:
sys.path.remove(path)