Merge pull request #1812 from nicoddemus/deprecate-resultlog

Deprecate --resultlog cmdline option
This commit is contained in:
Florian Bruhin 2016-08-17 09:17:13 +02:00 committed by GitHub
commit 09e647c7d9
5 changed files with 32 additions and 3 deletions

View File

@ -274,8 +274,16 @@ time or change existing behaviors in order to make them less surprising/more use
Thanks `@BeyondEvil`_ for reporting `#1210`_. Thanks to `@JonathonSonesen`_ and Thanks `@BeyondEvil`_ for reporting `#1210`_. Thanks to `@JonathonSonesen`_ and
`@tomviner`_ for the PR. `@tomviner`_ for the PR.
* fix `#1372`_ no longer display the incorrect test deselection reason, * No longer display the incorrect test deselection reason (`#1372`_).
thanks `@ronnypfannschmidt`_ for the PR. Thanks `@ronnypfannschmidt`_ for the PR.
* The ``--resultlog`` command line option has been deprecated: it is little used
and there are more modern and better alternatives (see `#830`_).
Thanks `@nicoddemus`_ for the PR.
*
*
* *
@ -377,6 +385,7 @@ time or change existing behaviors in order to make them less surprising/more use
.. _#607: https://github.com/pytest-dev/pytest/issues/607 .. _#607: https://github.com/pytest-dev/pytest/issues/607
.. _#634: https://github.com/pytest-dev/pytest/issues/634 .. _#634: https://github.com/pytest-dev/pytest/issues/634
.. _#717: https://github.com/pytest-dev/pytest/issues/717 .. _#717: https://github.com/pytest-dev/pytest/issues/717
.. _#830: https://github.com/pytest-dev/pytest/issues/830
.. _#925: https://github.com/pytest-dev/pytest/issues/925 .. _#925: https://github.com/pytest-dev/pytest/issues/925

View File

@ -19,3 +19,4 @@ FUNCARG_PREFIX = (
GETFUNCARGVALUE = "use of getfuncargvalue is deprecated, use getfixturevalue" GETFUNCARGVALUE = "use of getfuncargvalue is deprecated, use getfixturevalue"
RESULT_LOG = '--result-log is deprecated and scheduled for removal in pytest 4.0'

View File

@ -9,7 +9,7 @@ def pytest_addoption(parser):
group = parser.getgroup("terminal reporting", "resultlog plugin options") group = parser.getgroup("terminal reporting", "resultlog plugin options")
group.addoption('--resultlog', '--result-log', action="store", group.addoption('--resultlog', '--result-log', action="store",
metavar="path", default=None, metavar="path", default=None,
help="path for machine-readable result log.") help="DEPRECATED path for machine-readable result log.")
def pytest_configure(config): def pytest_configure(config):
resultlog = config.option.resultlog resultlog = config.option.resultlog
@ -22,6 +22,9 @@ def pytest_configure(config):
config._resultlog = ResultLog(config, logfile) config._resultlog = ResultLog(config, logfile)
config.pluginmanager.register(config._resultlog) config.pluginmanager.register(config._resultlog)
from _pytest.deprecated import RESULT_LOG
config.warn('C1', RESULT_LOG)
def pytest_unconfigure(config): def pytest_unconfigure(config):
resultlog = getattr(config, '_resultlog', None) resultlog = getattr(config, '_resultlog', None)
if resultlog: if resultlog:

View File

@ -251,6 +251,10 @@ This will add a property node below the testsuite node to the generated xml:
Creating resultlog format files Creating resultlog format files
---------------------------------------------------- ----------------------------------------------------
.. deprecated:: 3.0
This option is rarely used and is scheduled for removal in 4.0.
To create plain-text machine-readable result files you can issue:: To create plain-text machine-readable result files you can issue::
pytest --resultlog=path pytest --resultlog=path

View File

@ -53,3 +53,15 @@ def test_str_args_deprecated(tmpdir, testdir):
def test_getfuncargvalue_is_deprecated(request): def test_getfuncargvalue_is_deprecated(request):
pytest.deprecated_call(request.getfuncargvalue, 'tmpdir') pytest.deprecated_call(request.getfuncargvalue, 'tmpdir')
def test_resultlog_is_deprecated(testdir):
result = testdir.runpytest('--help')
result.stdout.fnmatch_lines(['*DEPRECATED path for machine-readable result log*'])
testdir.makepyfile('''
def test():
pass
''')
result = testdir.runpytest('--result-log=%s' % testdir.tmpdir.join('result.log'))
result.stdout.fnmatch_lines(['*--result-log is deprecated and scheduled for removal in pytest 4.0*'])