Introduce Config.invocation_params (#5564)

Introduce Config.invocation_params
This commit is contained in:
Bruno Oliveira
2019-07-10 07:46:34 -03:00
committed by GitHub
3 changed files with 83 additions and 10 deletions
+24
View File
@@ -1,6 +1,7 @@
import os
import sys
import textwrap
from pathlib import Path
import _pytest._code
import pytest
@@ -1199,6 +1200,29 @@ def test_config_does_not_load_blocked_plugin_from_args(testdir):
assert result.ret == ExitCode.USAGE_ERROR
def test_invocation_args(testdir):
"""Ensure that Config.invocation_* arguments are correctly defined"""
class DummyPlugin:
pass
p = testdir.makepyfile("def test(): pass")
plugin = DummyPlugin()
rec = testdir.inline_run(p, "-v", plugins=[plugin])
calls = rec.getcalls("pytest_runtest_protocol")
assert len(calls) == 1
call = calls[0]
config = call.item.config
assert config.invocation_params.args == [p, "-v"]
assert config.invocation_params.dir == Path(str(testdir.tmpdir))
plugins = config.invocation_params.plugins
assert len(plugins) == 2
assert plugins[0] is plugin
assert type(plugins[1]).__name__ == "Collect" # installed by testdir.inline_run()
@pytest.mark.parametrize(
"plugin",
[