diff options
| author | Philip Thiem <ptthiem@gmail.com> | 2013-11-11 18:27:52 -0600 |
|---|---|---|
| committer | Philip Thiem <ptthiem@gmail.com> | 2013-11-11 18:27:52 -0600 |
| commit | 2988952f831be3769896f729f0d7f1ae07f6bdee (patch) | |
| tree | 2c743a7fbd49e175513a1aae7d20d7fead99b42e /setuptools/tests/environment.py | |
| parent | 76423012b5b51691dd059b1276351099e52c787e (diff) | |
| download | python-setuptools-git-2988952f831be3769896f729f0d7f1ae07f6bdee.tar.gz | |
Earlier Versions of python used gzip and tar directly. So I need to
make sure they are in the paths for the legacy tests (why did it work before).
Let us hope that svn is not in that directory...
Diffstat (limited to 'setuptools/tests/environment.py')
| -rw-r--r-- | setuptools/tests/environment.py | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/setuptools/tests/environment.py b/setuptools/tests/environment.py index b41e1549..bd2c53d2 100644 --- a/setuptools/tests/environment.py +++ b/setuptools/tests/environment.py @@ -107,6 +107,15 @@ class ZippedEnvironment(unittest.TestCase): pass +def _which_dirs(cmd): + result = set() + for path in os.environ.get('PATH', '').split(os.pathsep): + filename = os.path.join(path, cmd) + if os.access(filename, os.X_OK): + result.add(path) + return result + + def run_setup_py(cmd, pypath=None, path=None, data_stream=0, env=None): """ @@ -115,22 +124,19 @@ def run_setup_py(cmd, pypath=None, path=None, """ if env is None: env = dict() + for envname in os.environ: + env[envname] = os.environ[envname] #override the python path if needed - if pypath is None: - env["PYTHONPATH"] = os.environ.get("PYTHONPATH", "") - else: + if pypath is not None: env["PYTHONPATH"] = pypath - #oeride the execution path if needed - if path is None: - env["PATH"] = os.environ.get("PATH", "") - else: - env["PATH"] = pypath - - #Apparently this might be needed in windows platforms - if "SYSTEMROOT" in os.environ: - env["SYSTEMROOT"] = os.environ["SYSTEMROOT"] + #overide the execution path if needed + if path is not None: + env["PATH"] = path + if not env.get("PATH", ""): + env["PATH"] = _which_dirs("tar").union(_which_dirs("gzip")) + env["PATH"] = os.pathsep.join(env["PATH"]) cmd = [sys.executable, "setup.py"] + list(cmd) |
