diff options
| author | Steven Knight <knight@baldmt.com> | 2004-04-07 22:58:22 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-04-07 22:58:22 (GMT) |
| commit | f8c2e8cf9666d85adbd85d0bc0dbebaca76fde08 (patch) | |
| tree | 4848983354e94e8edb68331487af4eede8df5139 /src/engine/SCons/TaskmasterTests.py | |
| parent | 18904c3a781f097ca6f8b3ad06ff6ce991ad2640 (diff) | |
| download | SCons-f8c2e8cf9666d85adbd85d0bc0dbebaca76fde08.zip SCons-f8c2e8cf9666d85adbd85d0bc0dbebaca76fde08.tar.gz SCons-f8c2e8cf9666d85adbd85d0bc0dbebaca76fde08.tar.bz2 | |
Have Task.make_ready() create a list of the out-of-date Nodes.
Diffstat (limited to 'src/engine/SCons/TaskmasterTests.py')
| -rw-r--r-- | src/engine/SCons/TaskmasterTests.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/engine/SCons/TaskmasterTests.py b/src/engine/SCons/TaskmasterTests.py index d20b805..1f66e06 100644 --- a/src/engine/SCons/TaskmasterTests.py +++ b/src/engine/SCons/TaskmasterTests.py @@ -23,6 +23,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" +import copy import sys import unittest @@ -409,6 +410,49 @@ class TaskmasterTestCase(unittest.TestCase): t.executed() + def test_make_ready_out_of_date(self): + """Test the Task.make_ready() method's list of out-of-date Nodes + """ + class MyCalc(SCons.Taskmaster.Calc): + def current(self, node, sig): + n = str(node) + return n[0] == 'c' + + ood = [] + def TaskGen(tm, targets, top, node, ood=ood): + class MyTask(SCons.Taskmaster.Task): + def make_ready(self): + SCons.Taskmaster.Task.make_ready(self) + self.ood.extend(self.out_of_date) + t = MyTask(tm, targets, top, node) + t.ood = ood + return t + + n1 = Node("n1") + c2 = Node("c2") + n3 = Node("n3") + c4 = Node("c4") + tm = SCons.Taskmaster.Taskmaster(targets = [n1, c2, n3, c4], + tasker = TaskGen, + calc = MyCalc()) + + del ood[:] + t = tm.next_task() + assert ood == [n1], ood + + del ood[:] + t = tm.next_task() + assert ood == [], ood + + del ood[:] + t = tm.next_task() + assert ood == [n3], ood + + del ood[:] + t = tm.next_task() + assert ood == [], ood + + def test_make_ready_exception(self): """Test handling exceptions from Task.make_ready() """ |
