summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/TaskmasterTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-12-17 14:01:28 (GMT)
committerSteven Knight <knight@baldmt.com>2002-12-17 14:01:28 (GMT)
commit72d46ff0afa7d688a2029a74b0a0084dcf439ba5 (patch)
tree82bd4d7ac5f2ad43b3624e4bd51755cf2bd85e4c /src/engine/SCons/TaskmasterTests.py
parent1f839d9933b456ba4ebb5098ce1f9ab01f398a94 (diff)
downloadSCons-72d46ff0afa7d688a2029a74b0a0084dcf439ba5.zip
SCons-72d46ff0afa7d688a2029a74b0a0084dcf439ba5.tar.gz
SCons-72d46ff0afa7d688a2029a74b0a0084dcf439ba5.tar.bz2
Refactor action execution so it's controlled by the interface-specific Taskmaster.Task class, not Node.build().
Diffstat (limited to 'src/engine/SCons/TaskmasterTests.py')
-rw-r--r--src/engine/SCons/TaskmasterTests.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/engine/SCons/TaskmasterTests.py b/src/engine/SCons/TaskmasterTests.py
index 23d7e0a..c89f356 100644
--- a/src/engine/SCons/TaskmasterTests.py
+++ b/src/engine/SCons/TaskmasterTests.py
@@ -45,6 +45,7 @@ class Node:
self.bsig = None
self.csig = None
self.state = None
+ self.prepared = None
self.parents = []
self.side_effect = 0
self.side_effects = []
@@ -61,7 +62,7 @@ class Node:
built_text = built_text + " really"
def prepare(self):
- pass
+ self.prepared = 1
def children(self):
if not self.scanned:
@@ -410,6 +411,25 @@ class TaskmasterTestCase(unittest.TestCase):
def test_executed(self):
pass
+ def test_prepare(self):
+ """Test preparation of multiple Nodes for a task
+
+ """
+ n1 = Node("n1")
+ n2 = Node("n2")
+ tm = SCons.Taskmaster.Taskmaster([n1, n2])
+ t = tm.next_task()
+ # This next line is moderately bogus. We're just reaching
+ # in and setting the targets for this task to an array. The
+ # "right" way to do this would be to have the next_task() call
+ # set it up by having something that approximates a real Builder
+ # return this list--but that's more work than is probably
+ # warranted right now.
+ t.targets = [n1, n2]
+ t.prepare()
+ assert n1.prepared
+ assert n2.prepared
+
if __name__ == "__main__":