summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/UtilTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-11-15 03:52:55 (GMT)
committerSteven Knight <knight@baldmt.com>2001-11-15 03:52:55 (GMT)
commit9508d219188fcd2ad8eb2d24606d1b9c611e9ed2 (patch)
tree880af73f3034f4cd6df91d19e94a96a834305a7e /src/engine/SCons/UtilTests.py
parent7f3b3a97f05532ed158371e42edf7b57c0f7b08e (diff)
downloadSCons-9508d219188fcd2ad8eb2d24606d1b9c611e9ed2.zip
SCons-9508d219188fcd2ad8eb2d24606d1b9c611e9ed2.tar.gz
SCons-9508d219188fcd2ad8eb2d24606d1b9c611e9ed2.tar.bz2
LIBS and LIBPATH work, variable substitution changes.
Diffstat (limited to 'src/engine/SCons/UtilTests.py')
-rw-r--r--src/engine/SCons/UtilTests.py35
1 files changed, 33 insertions, 2 deletions
diff --git a/src/engine/SCons/UtilTests.py b/src/engine/SCons/UtilTests.py
index 59ce344..01d3031 100644
--- a/src/engine/SCons/UtilTests.py
+++ b/src/engine/SCons/UtilTests.py
@@ -30,7 +30,7 @@ import sys
import unittest
import SCons.Node
import SCons.Node.FS
-from SCons.Util import scons_str2nodes, scons_subst, PathList
+from SCons.Util import scons_str2nodes, scons_subst, PathList, scons_subst_list
class UtilTestCase(unittest.TestCase):
@@ -125,10 +125,41 @@ class UtilTestCase(unittest.TestCase):
assert newcom == cvt("test foo")
newcom = scons_subst("test $xxx", loc, {})
- assert newcom == cvt("test "), newcom
+ assert newcom == cvt("test"), newcom
+ def test_subst_list(self):
+ """Testing the scons_subst_list() method..."""
+ loc = {}
+ loc['TARGETS'] = PathList(map(os.path.normpath, [ "./foo/bar.exe",
+ "/bar/baz with spaces.obj",
+ "../foo/baz.obj" ]))
+ loc['TARGET'] = loc['TARGETS'][0]
+ loc['SOURCES'] = PathList(map(os.path.normpath, [ "./foo/blah with spaces.cpp",
+ "/bar/ack.cpp",
+ "../foo/ack.c" ]))
+ loc['xxx'] = None
+ loc['NEWLINE'] = 'before\nafter'
+
+ if os.sep == '/':
+ def cvt(str):
+ return str
+ else:
+ def cvt(str):
+ return string.replace(str, '/', os.sep)
+
+ cmd_list = scons_subst_list("$TARGETS", loc, {})
+ assert cmd_list[0][1] == cvt("/bar/baz with spaces.obj"), cmd_list[0][1]
+ cmd_list = scons_subst_list("$SOURCES $NEWLINE $TARGETS", loc, {})
+ assert len(cmd_list) == 2, cmd_list
+ assert cmd_list[0][0] == cvt('foo/blah with spaces.cpp'), cmd_list[0][0]
+ assert cmd_list[1][2] == cvt("/bar/baz with spaces.obj"), cmd_list[1]
+ cmd_list = scons_subst_list("$SOURCES$NEWLINE", loc, {})
+ assert len(cmd_list) == 2, cmd_list
+ assert cmd_list[1][0] == 'after', cmd_list[1][0]
+ assert cmd_list[0][2] == cvt('../foo/ack.cbefore'), cmd_list[0][2]
+
if __name__ == "__main__":
suite = unittest.makeSuite(UtilTestCase, 'test_')
if not unittest.TextTestRunner().run(suite).wasSuccessful():