Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
 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]
Exemplo n.º 6
0
 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]