Esempio n. 1
0
def replay_report_events(report, eventmgr):
    # type: (Report, BaseEventManager) -> None

    eventmgr.fire(events.TestSessionStartEvent(report, report.start_time))

    if report.test_session_setup:
        eventmgr.fire(
            events.TestSessionSetupStartEvent(
                report.test_session_setup.start_time))
        _replay_steps_events(TreeLocation.in_test_session_setup(),
                             report.test_session_setup.steps, eventmgr)
        if report.test_session_setup.end_time:
            eventmgr.fire(
                events.TestSessionSetupEndEvent(
                    report.test_session_setup.end_time))

    for suite in report.get_suites():
        _replay_suite_events(suite, eventmgr)

    if report.test_session_teardown:
        eventmgr.fire(
            events.TestSessionTeardownStartEvent(
                report.test_session_teardown.start_time))
        _replay_steps_events(TreeLocation.in_test_session_teardown(),
                             report.test_session_teardown.steps, eventmgr)
        if report.test_session_teardown.end_time:
            eventmgr.fire(
                events.TestSessionTeardownEndEvent(
                    report.test_session_teardown.end_time))

    if report.end_time:
        eventmgr.fire(events.TestSessionEndEvent(report, report.end_time))
Esempio n. 2
0
 def run(self, context):
     if any(self.test_session_setup_task.teardown_funcs):
         # before actual teardown
         context.event_manager.fire(events.TestSessionTeardownStartEvent())
         set_runtime_location(TreeLocation.in_test_session_teardown())
         set_step("Teardown test session")
         # actual teardown
         context.run_teardown_funcs(self.test_session_setup_task.teardown_funcs)
         # after actual teardown
         context.event_manager.fire(events.TestSessionTeardownEndEvent())
Esempio n. 3
0
def test_teardown_test_session_error_because_of_exception():
    @lcc.fixture(scope="session")
    def fix():
        yield 1
        1 / 0

    @lcc.suite("MySuite")
    class MySuite:
        @lcc.test("Some test")
        def sometest(self, fix):
            pass

        @lcc.test("Some other test")
        def sometest_bis(self):
            pass

    report = run_suite_class(MySuite, fixtures=[fix])

    assert_test_statuses(report,
                         passed=["MySuite.sometest", "MySuite.sometest_bis"])
    assert_report_node_success(report,
                               TreeLocation.in_test_session_teardown(),
                               expected=False)