Exemplo n.º 1
0
def pytest_collection(session: pytest.Session):
    session.items = []

    for filename, tests in groupby(coordinator.tests, key=lambda test: test['file']):
        file = MochaFile.from_parent(session, fspath=LocalPath(filename))

        for info in tests:
            requested_fixtures = ['live_server', '_live_server_helper']
            test = MochaTest.from_parent(
                file,
                name='::'.join(info['parents']),
                fixtureinfo=FuncFixtureInfo(
                    argnames=tuple(requested_fixtures),
                    initialnames=tuple(requested_fixtures),
                    names_closure=requested_fixtures,
                    name2fixturedefs={},
                ),
                keywords={
                    'django_db': pytest.mark.django_db(transaction=True),
                }
            )

            session.items.append(test)

    ###
    # NOTE: if this counter remains 0 at end of session, an exit code of 5 will be returned.
    #       This value is normally set by Session.perform_collect(), but we are bypassing that
    #       implementation.
    #
    session.testscollected = len(session.items)

    return session.items
Exemplo n.º 2
0
def get_cases_from_pytest(group):
    config = _prepareconfig(args=str(""))
    session = Session(config)
    session._fixturemanager = FixtureManager(session)
    ret = [i for i
           in session.perform_collect() if
           group in list(MarkMapping(i.keywords)._mymarks)]
    return ret
Exemplo n.º 3
0
def group_in_pytest(group):
    config = _prepareconfig(args=str(""))
    session = Session(config)
    session._fixturemanager = FixtureManager(session)
    l = [list(MarkMapping(i.keywords)._mymarks) for i
         in session.perform_collect()]
    groups = set([item for sublist in l for item in sublist])

    return group in groups
Exemplo n.º 4
0
def get_cases_from_pytest(group):
    config = _prepareconfig(args=str(""))
    session = Session(config)
    session._fixturemanager = FixtureManager(session)
    ret = [
        i for i in session.perform_collect()
        if group in list(MarkMapping(i.keywords)._mymarks)
    ]
    return ret
Exemplo n.º 5
0
def group_in_pytest(group):
    config = _prepareconfig(args=str(""))
    session = Session(config)
    session._fixturemanager = FixtureManager(session)
    l = [
        list(MarkMapping(i.keywords)._mymarks)
        for i in session.perform_collect()
    ]
    groups = set([item for sublist in l for item in sublist])

    return group in groups
Exemplo n.º 6
0
def pytest_collection(session: pytest.Session):
    session.items = []

    for filename, tests in groupby(coordinator.tests, key=lambda test: test['file']):
        file = MochaFile(
            filename,
            parent=session,
            config=session.config,
            session=session,
        )

        for info in tests:
            requested_fixtures = ['live_server', '_live_server_helper']
            test = MochaTest(
                name='::'.join(info['parents']),
                parent=file,
                fixtureinfo=FuncFixtureInfo(
                    argnames=tuple(requested_fixtures),
                    initialnames=tuple(requested_fixtures),
                    names_closure=requested_fixtures,
                    name2fixturedefs={},
                ),
                keywords={
                    'django_db': pytest.mark.django_db(transaction=True),
                }
            )

            session.items.append(test)

    return session.items
Exemplo n.º 7
0
def pytest_sessionfinish(session: pytest.Session,
                         exitstatus: pytest.ExitCode) -> None:
    if not _should_write_ui_report(exitstatus):
        return

    missing = session.config.getoption("ui_check_missing")
    if session.config.getoption("ui") == "test":
        if missing and ui_tests.list_missing():
            session.exitstatus = pytest.ExitCode.TESTS_FAILED
        ui_tests.write_fixtures_suggestion(missing)
        testreport.index()
    if session.config.getoption("ui") == "record":
        ui_tests.write_fixtures(missing)
Exemplo n.º 8
0
def pytest_sessionstart(session: pytest.Session) -> None:
    """Adds required variables to the session before entering the run test loop."""
    session.report = {}
Exemplo n.º 9
0
def pytest_sessionfinish(session: pytest.Session,
                         exitstatus: pytest.ExitCode) -> None:
    if exitstatus == pytest.ExitCode.NO_TESTS_COLLECTED:
        session.exitstatus = pytest.ExitCode.OK