diff options
| author | Steven Knight <knight@baldmt.com> | 2004-05-08 22:56:08 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-05-08 22:56:08 (GMT) |
| commit | f424fc07e9aed44d3f5df0a14d4b44081c806ff1 (patch) | |
| tree | 8830c93a12c2f2919c66c0f92ec736f9b85bceda /src/engine/SCons/TaskmasterTests.py | |
| parent | b155ebc4a869e0669ee2f7124531e0b5950c7528 (diff) | |
| download | SCons-f424fc07e9aed44d3f5df0a14d4b44081c806ff1.zip SCons-f424fc07e9aed44d3f5df0a14d4b44081c806ff1.tar.gz SCons-f424fc07e9aed44d3f5df0a14d4b44081c806ff1.tar.bz2 | |
Cleaner Task interface when using the -c option.
Diffstat (limited to 'src/engine/SCons/TaskmasterTests.py')
| -rw-r--r-- | src/engine/SCons/TaskmasterTests.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/engine/SCons/TaskmasterTests.py b/src/engine/SCons/TaskmasterTests.py index 1f66e06..8ca7e86 100644 --- a/src/engine/SCons/TaskmasterTests.py +++ b/src/engine/SCons/TaskmasterTests.py @@ -470,6 +470,71 @@ class TaskmasterTestCase(unittest.TestCase): assert str(e.value) == "from make_ready()", str(e.value) + def test_make_ready_all(self): + class MyCalc(SCons.Taskmaster.Calc): + def current(self, node, sig): + n = str(node) + return n[0] == 'c' + + class MyTask(SCons.Taskmaster.Task): + make_ready = SCons.Taskmaster.Task.make_ready_all + + n1 = Node("n1") + c2 = Node("c2") + n3 = Node("n3") + c4 = Node("c4") + + tm = SCons.Taskmaster.Taskmaster(targets = [n1, c2, n3, c4], + calc = MyCalc()) + + t = tm.next_task() + target = t.get_target() + assert target is n1, target + assert target.state == SCons.Node.executing, target.state + t = tm.next_task() + target = t.get_target() + assert target is c2, target + assert target.state == SCons.Node.up_to_date, target.state + t = tm.next_task() + target = t.get_target() + assert target is n3, target + assert target.state == SCons.Node.executing, target.state + t = tm.next_task() + target = t.get_target() + assert target is c4, target + assert target.state == SCons.Node.up_to_date, target.state + t = tm.next_task() + assert t is None + + n1 = Node("n1") + c2 = Node("c2") + n3 = Node("n3") + c4 = Node("c4") + + tm = SCons.Taskmaster.Taskmaster(targets = [n1, c2, n3, c4], + tasker = MyTask, + calc = MyCalc()) + + t = tm.next_task() + target = t.get_target() + assert target is n1, target + assert target.state == SCons.Node.executing, target.state + t = tm.next_task() + target = t.get_target() + assert target is c2, target + assert target.state == SCons.Node.executing, target.state + t = tm.next_task() + target = t.get_target() + assert target is n3, target + assert target.state == SCons.Node.executing, target.state + t = tm.next_task() + target = t.get_target() + assert target is c4, target + assert target.state == SCons.Node.executing, target.state + t = tm.next_task() + assert t is None + + def test_children_errors(self): """Test errors when fetching the children of a node. """ |
