summaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/SCons/Action.py6
-rw-r--r--src/engine/SCons/ActionTests.py9
2 files changed, 11 insertions, 4 deletions
diff --git a/src/engine/SCons/Action.py b/src/engine/SCons/Action.py
index 5f89cc2..3b62702 100644
--- a/src/engine/SCons/Action.py
+++ b/src/engine/SCons/Action.py
@@ -575,6 +575,12 @@ class ListAction(ActionBase):
return Action(x)
self.list = map(list_of_actions, list)
+ def genstring(self, target, source, env):
+ return string.join(map(lambda a, t=target, s=source, e=env:
+ a.genstring(t, s, e),
+ self.list),
+ '\n')
+
def __str__(self):
return string.join(map(str, self.list), '\n')
diff --git a/src/engine/SCons/ActionTests.py b/src/engine/SCons/ActionTests.py
index e996f61..74812df 100644
--- a/src/engine/SCons/ActionTests.py
+++ b/src/engine/SCons/ActionTests.py
@@ -1408,11 +1408,12 @@ class ListActionTestCase(unittest.TestCase):
"""
def f(target,source,env):
pass
- def g(target,source,env):
- pass
+ def g(target,source,env,for_signature):
+ return 'generated %s %s' % (target[0], source[0])
+ g = SCons.Action.CommandGenerator(g)
a = SCons.Action.ListAction([f, g, "XXX", f])
- s = a.genstring([], [], Environment())
- assert s == "f(target, source, env)\ng(target, source, env)\nXXX\nf(target, source, env)", s
+ s = a.genstring(['foo.x'], ['bar.y'], Environment())
+ assert s == "f(target, source, env)\ngenerated foo.x bar.y\nXXX\nf(target, source, env)", s
def test_execute(self):
"""Test executing a list of subsidiary Actions