summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/EnvironmentTests.py
diff options
context:
space:
mode:
authorGreg Noel <GregNoel@tigris.org>2008-08-28 18:34:51 (GMT)
committerGreg Noel <GregNoel@tigris.org>2008-08-28 18:34:51 (GMT)
commit78ebf9fe184b5724861996870e1f09902efcb1eb (patch)
treedd6c2cb10113104c29594669542862a99acc729c /src/engine/SCons/EnvironmentTests.py
parent7902585ee8d1e84e2ae76289306d6858cd8f2277 (diff)
downloadSCons-78ebf9fe184b5724861996870e1f09902efcb1eb.zip
SCons-78ebf9fe184b5724861996870e1f09902efcb1eb.tar.gz
SCons-78ebf9fe184b5724861996870e1f09902efcb1eb.tar.bz2
Issue 2007: backtick() doesn't use ENV
Diffstat (limited to 'src/engine/SCons/EnvironmentTests.py')
-rw-r--r--src/engine/SCons/EnvironmentTests.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/engine/SCons/EnvironmentTests.py b/src/engine/SCons/EnvironmentTests.py
index 8ebbbbc..7e6d4ca 100644
--- a/src/engine/SCons/EnvironmentTests.py
+++ b/src/engine/SCons/EnvironmentTests.py
@@ -616,28 +616,32 @@ sys.exit(0)
import sys
sys.exit(1)
""")
+ test.write('echo.py', """\
+import os, sys
+sys.stdout.write(os.environ['ECHO'] + '\\n')
+sys.exit(0)
+""")
save_stderr = sys.stderr
python = '"' + sys.executable + '"'
try:
+ sys.stderr = StringIO.StringIO()
cmd = '%s %s' % (python, test.workpath('stdout.py'))
output = env.backtick(cmd)
-
+ errout = sys.stderr.getvalue()
assert output == 'this came from stdout.py\n', output
+ assert errout == '', errout
sys.stderr = StringIO.StringIO()
-
cmd = '%s %s' % (python, test.workpath('stderr.py'))
output = env.backtick(cmd)
errout = sys.stderr.getvalue()
-
assert output == '', output
assert errout == 'this came from stderr.py\n', errout
sys.stderr = StringIO.StringIO()
-
cmd = '%s %s' % (python, test.workpath('fail.py'))
try:
env.backtick(cmd)
@@ -646,6 +650,15 @@ sys.exit(1)
else:
self.fail("did not catch expected OSError")
+ sys.stderr = StringIO.StringIO()
+ cmd = '%s %s' % (python, test.workpath('echo.py'))
+ env['ENV'] = os.environ.copy()
+ env['ENV']['ECHO'] = 'this came from ECHO'
+ output = env.backtick(cmd)
+ errout = sys.stderr.getvalue()
+ assert output == 'this came from ECHO\n', output
+ assert errout == '', errout
+
finally:
sys.stderr = save_stderr