def test_exit_on_first_failing(self, testdir): modcol = testdir.getmodulecol(""" def test_fail(): assert 0 def test_pass(): pass """) modcol.config.option.exitfirst = True session = DSession(modcol.config) node = MockNode() session.addnode(node) items = modcol.config.hook.pytest_make_collect_report( collector=modcol).result # trigger testing - this sends tests to the node session.triggertesting(items) # run tests ourselves and produce reports ev1 = run(items[0], node, "fail") ev2 = run(items[1], node, None) session.queueevent("pytest_runtest_logreport", report=ev1) # a failing one session.queueevent("pytest_runtest_logreport", report=ev2) # now call the loop loopstate = session._initloopstate(items) session.loop_once(loopstate) assert loopstate.testsfailed assert loopstate.shuttingdown
def test_exit_on_first_failing(self, testdir): modcol = testdir.getmodulecol(""" def test_fail(): assert 0 def test_pass(): pass """) modcol.config.option.exitfirst = True session = DSession(modcol.config) node = MockNode() session.addnode(node) items = basic_collect_report(modcol).result # trigger testing - this sends tests to the node session.triggertesting(items) # run tests ourselves and produce reports ev1 = run(items[0], node) ev2 = run(items[1], node) session.queueevent("itemtestreport", ev1) # a failing one session.queueevent("itemtestreport", ev2) # now call the loop loopstate = session._initloopstate(items) session.loop_once(loopstate) assert loopstate.testsfailed assert loopstate.shuttingdown
def test_triggertesting_collect(self, testdir): modcol = testdir.getmodulecol(""" def test_func(): pass """) session = DSession(modcol.config) session.triggertesting([modcol]) name, args, kwargs = session.queue.get(block=False) assert name == 'pytest_collectreport' report = kwargs['report'] assert len(report.result) == 1
def test_triggertesting_collect(self, testdir): modcol = testdir.getmodulecol(""" def test_func(): pass """) session = DSession(modcol.config) session.triggertesting([modcol]) name, args, kwargs = session.queue.get(block=False) assert name == 'collectionreport' rep, = args assert len(rep.result) == 1
def test_triggertesting_item(self, testdir): item = testdir.getitem("def test_func(): pass") session = DSession(item.config) node1 = MockNode() node2 = MockNode() session.addnode(node1) session.addnode(node2) session.triggertesting([item] * (session.MAXITEMSPERHOST * 2 + 1)) sent1 = node1.sent[0] sent2 = node2.sent[0] assert sent1 == [item] * session.MAXITEMSPERHOST assert sent2 == [item] * session.MAXITEMSPERHOST assert session.node2pending[node1] == sent1 assert session.node2pending[node2] == sent2 name, args, kwargs = session.queue.get(block=False) assert name == "pytest_rescheduleitems" assert kwargs['items'] == [item]
def test_triggertesting_item(self, testdir): item = testdir.getitem("def test_func(): pass") session = DSession(item.config) node1 = MockNode() node2 = MockNode() session.addnode(node1) session.addnode(node2) session.triggertesting([item] * (session.MAXITEMSPERHOST*2 + 1)) sent1 = node1.sent[0] sent2 = node2.sent[0] assert sent1 == [item] * session.MAXITEMSPERHOST assert sent2 == [item] * session.MAXITEMSPERHOST assert session.node2pending[node1] == sent1 assert session.node2pending[node2] == sent2 name, args, kwargs = session.queue.get(block=False) assert name == "rescheduleitems" ev, = args assert ev.items == [item]