def test_next_must_not_loop_forever(self): scheduler = Scheduler() def delay(node, state): node.count += 1 return True scheduler.delay = delay class State(object): pass class Node(object): emitted = False; pack = None; count = 0 state = State() state.worklist = [Node(), Node(), Node(), Node(), Node()] assert scheduler.next(state) is None for node in state.worklist: assert node.count == 1