[Python-modules-team] Bug#914969: pytest breaks multiple autopkgtest

Paul Gevers elbrus at debian.org
Thu Nov 29 08:42:24 GMT 2018


Source: pytest
Version 3.10.1-1
X-Debbugs-CC: debian-ci at lists.debian.org
User: debian-ci at lists.debian.org
Usertags: breaks

Dear maintainers,

With a recent upload of pytest the autopkgtests of multiple packages,
including e.g. pytest-qt, fail in testing when that autopkgtest is run
with the binary packages of pytest from unstable. It passes when run
with only packages from testing. In tabular form:
                       pass            fail
pytest                 from testing    3.10.1-1
(e.g.) pytest-qt       from testing    2.3.1-2
versioned deps [0]     from testing    from unstable
all others             from testing    from testing

I copied some of the output of the pytest-qt failure at the bottom of
this report.

Currently this regression is contributing to the delay of the migration
of pytest to testing [1]. Can you please investigate the situation and
align with the other packages how this needs to be fixed if this the
needs work in the other packages? Please also be aware that there is
currently a python3-defaults transition ongoing which changes the
default python3 from 3.6 to 3.7. I wouldn't be surprised if that
transition is intermixed in the results.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[0] You can see what packages were added from the second line of the log
file quoted below. The migration software adds source package from
unstable to the list if they are needed to install packages from
pytest/3.10.1-1. I.e. due to versioned dependencies or breaks/conflicts.
In this case: src:python-pathlib2,src:python-scandir
[1] https://qa.debian.org/excuses.php?package=pytest

https://ci.debian.net/data/autopkgtest/testing/amd64/p/pytest-qt/1399398/log.gz

―――――――――――――――――――― [doctest] test_doctest.ToTest.doctest
―――――――――――――――――――――
EXAMPLE LOCATION UNKNOWN, not showing all tests of that example
??? >>> Invalid doctest
UNEXPECTED EXCEPTION: SyntaxError('invalid syntax', ('<doctest
test_doctest.ToTest.doctest[0]>', 1, 15, 'Invalid doctest\n'))
Traceback (most recent call last):

  File "/usr/lib/python3.6/doctest.py", line 1330, in __run
    compileflags, 1), test.globs)

  File "<doctest test_doctest.ToTest.doctest[0]>", line 1

    Invalid doctest

                  ^

SyntaxError: invalid syntax

/tmp/pytest-of-debci/pytest-0/test_doctest0/test_doctest.py:None:
UnexpectedException


 test_doctest.py ⨯
              100%
██████████INTERNALERROR> Traceback (most
recent call last):
INTERNALERROR>   File "/usr/lib/python3/dist-packages/_pytest/main.py",
line 184, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "/usr/lib/python3/dist-packages/_pytest/main.py",
line 224, in _main
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>   File "/usr/lib/python3/dist-packages/pluggy/hooks.py",
line 284, in __call__
INTERNALERROR>     return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/manager.py", line 67, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/_tracing.py", line 80, in __call__
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 52, in from_call
INTERNALERROR>     result = func()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/_tracing.py", line 78, in <lambda>
INTERNALERROR>     outcome = _Result.from_call(lambda:
self.oldcall(hook, hook_impls, kwargs))
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/manager.py", line 61, in <lambda>
INTERNALERROR>     firstresult=hook.spec.opts.get("firstresult") if
hook.spec else False,
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 208, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 187, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/usr/lib/python3/dist-packages/_pytest/main.py",
line 245, in pytest_runtestloop
INTERNALERROR>     item.config.hook.pytest_runtest_protocol(item=item,
nextitem=nextitem)
INTERNALERROR>   File "/usr/lib/python3/dist-packages/pluggy/hooks.py",
line 284, in __call__
INTERNALERROR>     return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/manager.py", line 67, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/_tracing.py", line 80, in __call__
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 52, in from_call
INTERNALERROR>     result = func()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/_tracing.py", line 78, in <lambda>
INTERNALERROR>     outcome = _Result.from_call(lambda:
self.oldcall(hook, hook_impls, kwargs))
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/manager.py", line 61, in <lambda>
INTERNALERROR>     firstresult=hook.spec.opts.get("firstresult") if
hook.spec else False,
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 208, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 187, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/_pytest/runner.py", line 78, in
pytest_runtest_protocol
INTERNALERROR>
item.ihook.pytest_runtest_logfinish(nodeid=item.nodeid,
location=item.location)
INTERNALERROR>   File "/usr/lib/python3/dist-packages/pluggy/hooks.py",
line 284, in __call__
INTERNALERROR>     return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/manager.py", line 67, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/_tracing.py", line 80, in __call__
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 52, in from_call
INTERNALERROR>     result = func()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/_tracing.py", line 78, in <lambda>
INTERNALERROR>     outcome = _Result.from_call(lambda:
self.oldcall(hook, hook_impls, kwargs))
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/manager.py", line 61, in <lambda>
INTERNALERROR>     firstresult=hook.spec.opts.get("firstresult") if
hook.spec else False,
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 208, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/pluggy/callers.py", line 187, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File
"/usr/lib/python3/dist-packages/_pytest/terminal.py", line 432, in
pytest_runtest_logfinish
INTERNALERROR>     len(self._progress_nodeids_reported) ==
self._session.testscollected
INTERNALERROR> AttributeError: 'NoneType' object has no attribute
'testscollected'


Results (0.23s):
       1 failed
         - test_doctest.py:? [doctest]
test_doctest.ToTest.doctest
=============================== warnings summary
===============================
test_sugar.py:14
  /tmp/autopkgtest-lxc.z3ewwcuo/downtmp/build.MO1/src/test_sugar.py:14:
DeprecationWarning: invalid escape sequence \d
    m = re.search('\d %s' % x, output)

-- Docs: https://docs.pytest.org/en/latest/warnings.html
========== 7 failed, 68 passed, 4 skipped, 1 warnings in 3.18 seconds
==========

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20181129/a7120ca8/attachment.sig>


More information about the Python-modules-team mailing list