aboutsummaryrefslogtreecommitdiff
path: root/run_tests.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-07-17 19:57:24 +0200
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2019-07-23 05:50:55 +0000
commit3b2126531a732ddd54cab2404ac1cb8b44fb49f7 (patch)
tree39e80e071e1464e7461eb78df74d69f99fe5b15e /run_tests.py
parente2499fab8b27547c54adb5dd501b2a7a7ddd0f0d (diff)
downloadmeson-3b2126531a732ddd54cab2404ac1cb8b44fb49f7.zip
meson-3b2126531a732ddd54cab2404ac1cb8b44fb49f7.tar.gz
meson-3b2126531a732ddd54cab2404ac1cb8b44fb49f7.tar.bz2
cmake: added test case for environment variables
Diffstat (limited to 'run_tests.py')
-rwxr-xr-xrun_tests.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/run_tests.py b/run_tests.py
index 051b91e..38c65c5 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -222,28 +222,33 @@ def clear_meson_configure_class_caches():
mesonbuild.dependencies.PkgConfigDependency.pkgbin_cache = {}
mesonbuild.dependencies.PkgConfigDependency.class_pkgbin = mesonlib.PerMachine(None, None)
-def run_configure_inprocess(commandlist):
+def run_configure_inprocess(commandlist, env=None):
old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()
old_stderr = sys.stderr
sys.stderr = mystderr = StringIO()
+ old_environ = os.environ.copy()
+ if env is not None:
+ os.environ.update(env)
try:
returncode = mesonmain.run(commandlist, get_meson_script())
finally:
sys.stdout = old_stdout
sys.stderr = old_stderr
clear_meson_configure_class_caches()
+ os.environ.clear()
+ os.environ.update(old_environ)
return returncode, mystdout.getvalue(), mystderr.getvalue()
-def run_configure_external(full_command):
- pc, o, e = mesonlib.Popen_safe(full_command)
+def run_configure_external(full_command, env=None):
+ pc, o, e = mesonlib.Popen_safe(full_command, env=env)
return pc.returncode, o, e
-def run_configure(commandlist):
+def run_configure(commandlist, env=None):
global meson_exe
if meson_exe:
- return run_configure_external(meson_exe + commandlist)
- return run_configure_inprocess(commandlist)
+ return run_configure_external(meson_exe + commandlist, env=env)
+ return run_configure_inprocess(commandlist, env=env)
def print_system_info():
print(mlog.bold('System information.').get_text(mlog.colorize_console))