Fix _concat() documentation, add a test. (Chad Austin)
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 11 Jun 2003 10:30:52 +0000 (10:30 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 11 Jun 2003 10:30:52 +0000 (10:30 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@708 fdb21ef1-2011-0410-befe-b5e4ea1792b1

doc/man/scons.1
src/CHANGES.txt
src/engine/SCons/EnvironmentTests.py

index eb7594b43c8d7b045646ccf7caf090256408fd0d..d2dd89bd808f019071ee0b46924a8522b41864c8 100644 (file)
@@ -1830,6 +1830,14 @@ USER,
 and
 USERNAME.
 
+.TP
+.RI AlwaysBuild( target ", ...)"
+Marks each given
+.I target
+so that it will always be rebuilt.
+Multiple targets can be passed in to a single call to
+.BR AlwaysBuild ().
+
 .TP
 .RI Precious( target ", ...)"
 Marks each given
@@ -2176,15 +2184,14 @@ SCons also treats
 as C files.
 
 .IP _concat
-A function used to produce variables like $_CPPINCFLAGS. It takes six
-arguments: a prefix to concatenate onto each element, a list of elements, a
-suffix to concatenate onto each element, a dictionary of global variables
-for variable interpolation, a list of local variables for variable
-interpolation, and an optional function that will be called to transform the list
-before concatenation.
+A function used to produce variables like $_CPPINCFLAGS. It takes five
+arguments: a prefix to concatenate onto each element, a list of
+elements, a suffix to concatenate onto each element, an environment
+for variable interpolation, and an optional function that will be
+called to transform the list before concatenation.
 
 .ES
-env['_CPPINCFLAGS'] = '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, locals(), globals(), RDirs)} $)',
+env['_CPPINCFLAGS'] = '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs)} $)',
 .EE
 
 .IP CPPFLAGS
index 0971f96b48f2af0aedec77557c2fc43b609d8ab1..5ea21d3ef435fc457c878faf9d010b4ea7d1fddc 100644 (file)
 
 RELEASE 0.15 - XXX
 
+  From Chad Austin:
+
+  - Fix the _concat() documentation, and add a test for it.
+
   From Matt Balvin:
 
   - Fix handling of library prefixes when the subdirectory matches
index d8b4f9dc7ed82a086e7801fc85b68a7f9939a403..3da8334c01482939b674b4acb70445c64fe10187 100644 (file)
@@ -544,6 +544,23 @@ class EnvironmentTestCase(unittest.TestCase):
         assert i.__class__.__name__ == 'File'
         assert i.path == 'dep.py'
 
+    def test_AlwaysBuild(self):
+        """Test the AlwaysBuild() method"""
+        env = Environment()
+        t = env.AlwaysBuild('a', 'b', ['c', 'd'])
+        assert t[0].__class__.__name__ == 'File'
+        assert t[0].path == 'a'
+        assert t[0].always_build
+        assert t[1].__class__.__name__ == 'File'
+        assert t[1].path == 'b'
+        assert t[1].always_build
+        assert t[2].__class__.__name__ == 'File'
+        assert t[2].path == 'c'
+        assert t[2].always_build
+        assert t[3].__class__.__name__ == 'File'
+        assert t[3].path == 'd'
+        assert t[3].always_build
+
     def test_Precious(self):
         """Test the Precious() method."""
         env = Environment()
@@ -878,6 +895,16 @@ class EnvironmentTestCase(unittest.TestCase):
         x = env.get('bbb', 'XXX')
         assert x == 'XXX', x
 
+    def test_concat(self):
+        "Test _concat()"
+        e1 = Environment(PRE='pre', SUF='suf', STR='a b', LIST=['a', 'b'])
+        s = e1.subst
+        assert s("${_concat('', '', '', __env__)}") == ''
+        assert s("${_concat('', [], '', __env__)}") == ''
+        assert s("${_concat(PRE, '', SUF, __env__)}") == ''
+        assert s("${_concat(PRE, STR, SUF, __env__)}") == 'prea bsuf'
+        assert s("${_concat(PRE, LIST, SUF, __env__)}") == 'preasuf prebsuf'
+
     def test_FindIxes(self):
         "Test FindIxes()"
         env = Environment(LIBPREFIX='lib',