summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/TaskmasterTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-10-06 21:41:15 (GMT)
committerSteven Knight <knight@baldmt.com>2003-10-06 21:41:15 (GMT)
commitb462ddcce80024755db7fbd667c9fb122dad98c9 (patch)
treec056f407f3f50a2e8e851ea8232921ff3aea1124 /src/engine/SCons/TaskmasterTests.py
parent9afb4a60206be177cb061406f8c427c094027f11 (diff)
downloadSCons-b462ddcce80024755db7fbd667c9fb122dad98c9.zip
SCons-b462ddcce80024755db7fbd667c9fb122dad98c9.tar.gz
SCons-b462ddcce80024755db7fbd667c9fb122dad98c9.tar.bz2
New parallel job execution. (J.T. Conklin)
Diffstat (limited to 'src/engine/SCons/TaskmasterTests.py')
-rw-r--r--src/engine/SCons/TaskmasterTests.py33
1 files changed, 29 insertions, 4 deletions
diff --git a/src/engine/SCons/TaskmasterTests.py b/src/engine/SCons/TaskmasterTests.py
index 4dbf8b3..a394151 100644
--- a/src/engine/SCons/TaskmasterTests.py
+++ b/src/engine/SCons/TaskmasterTests.py
@@ -258,6 +258,8 @@ class TaskmasterTestCase(unittest.TestCase):
assert not tm.is_blocked()
t5 = tm.next_task()
assert t5.get_target() == n5, t5.get_target()
+ assert tm.is_blocked() # still executing t5
+ t5.executed()
assert not tm.is_blocked()
assert tm.next_task() == None
@@ -355,9 +357,10 @@ class TaskmasterTestCase(unittest.TestCase):
t.executed()
t = tm.next_task()
assert t.get_target() == n5
- assert not tm.is_blocked()
+ assert tm.is_blocked() # still executing n5
assert not tm.next_task()
t.executed()
+ assert not tm.is_blocked()
n1 = Node("n1")
n2 = Node("n2")
@@ -464,10 +467,32 @@ class TaskmasterTestCase(unittest.TestCase):
assert not tm.is_blocked()
class MyTM(SCons.Taskmaster.Taskmaster):
- def is_blocked(self):
- return 1
+ def _find_next_ready_node(self):
+ self.ready = 1
+ tm = MyTM()
+ assert not tm.is_blocked()
+
+ class MyTM(SCons.Taskmaster.Taskmaster):
+ def _find_next_ready_node(self):
+ self.ready = None
+ self.pending = []
+ self.executing = []
+ tm = MyTM()
+ assert not tm.is_blocked()
+
+ class MyTM(SCons.Taskmaster.Taskmaster):
+ def _find_next_ready_node(self):
+ self.ready = None
+ self.pending = [1]
+ tm = MyTM()
+ assert tm.is_blocked()
+
+ class MyTM(SCons.Taskmaster.Taskmaster):
+ def _find_next_ready_node(self):
+ self.ready = None
+ self.executing = [1]
tm = MyTM()
- assert tm.is_blocked() == 1
+ assert tm.is_blocked()
def test_stop(self):
"""Test the stop() method