예제 #1
0
 def test_slave_running(self):
     py.test.skip("XXX test broken, needs refactoring")
     def simple_report(event):
         if not isinstance(event, repevent.ReceivedItemOutcome):
             return
         item = event.item
         if item.code.name == 'funcpass':
             assert event.outcome.passed
         else:
             assert not event.outcome.passed
     
     def open_gw():
         gw = py.execnet.PopenGateway()
         gw.host = HostInfo("localhost")
         gw.host.gw = gw
         config = py.test.config._reparse([tmpdir])
         channel = setup_slave(gw.host, config)
         mn = MasterNode(channel, simple_report, {})
         return mn
     
     master_nodes = [open_gw(), open_gw(), open_gw()]
     funcpass_item = rootcol._getitembynames(funcpass_spec)
     funcfail_item = rootcol._getitembynames(funcfail_spec)
     itemgenerator = iter([funcfail_item] + 
                          [funcpass_item] * 5 + [funcfail_item] * 5)
     shouldstop = lambda : False
     dispatch_loop(master_nodes, itemgenerator, shouldstop)
예제 #2
0
def test_dispatch_loop():
    masternodes = [DummyMasterNode(), DummyMasterNode()]
    itemgenerator = iter(range(100))
    shouldstop = lambda : False
    def waiter():
        for node in masternodes:
            node.pending.pop()
    dispatch_loop(masternodes, itemgenerator, shouldstop, waiter=waiter)
예제 #3
0
 def dispatch_tests(self, nodes, reporter, checkfun):
     colitems = self.config.getcolitems()
     keyword = self.config.option.keyword
     itemgenerator = itemgen(colitems, reporter, keyword, self.reporterror)
     
     all_tests = dispatch_loop(nodes, itemgenerator, checkfun)