[Python-modules-team] Bug#917597: FTBFS: test failures

Steve McIntyre steve at einval.com
Sat Dec 29 00:34:28 GMT 2018


Package: src:pytest-qt
Version: 2.3.1-2
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)

Hi!

I've been doing a full rebuild of the Debian archive, building all
source packages targeting armel and armhf using arm64 hardware. We are
planning in future to move all of our 32-bit armel/armhf builds to
using arm64 machines, so this rebuild is to identify packages that
might have problems with this configuration.

While doing that, I've found that pytest-qt fails multiple tests in
its testsuite. I've tested further and I can reproduce the same thing
in a normal amd64 build too, so it's not an architecture-specific
problem.

...
tests/test_basics.py ................................                    [ 10%]
tests/test_exceptions.py .............                                   [ 14%]
tests/test_logging.py .......................F.....                      [ 23%]
tests/test_modeltest.py .............................                    [ 33%]
tests/test_qtest_proxies.py ......x.....                                 [ 36%]
tests/test_wait_signal.py .............................................. [ 51%]
........................................................................ [ 74%]
..................................................s...s............s.... [ 97%]
.                                                                        [ 98%]
tests/test_wait_until.py ......                                          [100%]

=================================== FAILURES ===================================
___________________ test_logging_mark_with_invalid_argument ____________________

testdir = <Testdir local('/tmp/pytest-of-sbuild/pytest-0/test_logging_mark_with_invalid_argument0')>

    def test_logging_mark_with_invalid_argument(testdir):
        """
        Test qt_log_ignore mark with invalid keyword argument.
    
        :type testdir: _pytest.pytester.TmpTestdir
        """
        testdir.makepyfile(
            """
            import pytest
    
            @pytest.mark.qt_log_ignore('match-mark', does_not_exist=True)
            def test1():
                pass
            """
        )
        res = testdir.runpytest()
        lines = [
            '*= ERRORS =*',
            '*_ ERROR at setup of test1 _*',
            "*ValueError: Invalid keyword arguments in {'does_not_exist': True} "
                "for qt_log_ignore mark.",
    
            # summary
            '*= 1 error in*',
        ]
>       res.stdout.fnmatch_lines(lines)
E       Failed: nomatch: '*= ERRORS =*'
E           and: '============================= test session starts =============================='
E           and: '============================= test session starts =============================='
E           and: 'platform linux -- Python 3.7.2rc1, pytest-3.10.1, py-1.7.0, pluggy-0.8.0'
E           and: 'PyQtAPI 1.0 -- Qt runtime 2.5 -- Qt compiled 3.5'
E           and: 'rootdir: /tmp/pytest-of-sbuild/pytest-0/test_logging_mark_with_invalid_argument0, inifile:'
E           and: 'plugins: qt-2.3.1'
E           and: 'collected 1 item'
E           and: ''
E           and: 'test_logging_mark_with_invalid_argument.py E                             [100%]'
E           and: ''
E       fnmatch: '*= ERRORS =*'
E          with: '==================================== ERRORS ===================================='
E       fnmatch: '*_ ERROR at setup of test1 _*'
E          with: '___________________________ ERROR at setup of test1 ____________________________'
E       nomatch: "*ValueError: Invalid keyword arguments in {'does_not_exist': True} for qt_log_ignore mark."
E           and: ''
E           and: 'self = <pytestqt.logging.QtLoggingPlugin object at 0xe72ad8f0>'
E           and: "item = <Function 'test1'>"
E           and: ''
E           and: '    def pytest_runtest_setup(self, item):'
E           and: "        if item.get_marker('no_qt_log'):"
E           and: '            return'
E           and: "        m = item.get_marker('qt_log_ignore')"
E           and: '        if m:'
E           and: "            if not set(m.kwargs).issubset(set(['extend'])):"
E           and: '                raise ValueError("Invalid keyword arguments in {0!r} for "'
E           and: '>                                "qt_log_ignore mark.".format(m.kwargs))'
E       fnmatch: "*ValueError: Invalid keyword arguments in {'does_not_exist': True} for qt_log_ignore mark."
E          with: "E               ValueError: Invalid keyword arguments in {'does_not_exist': True} for qt_log_ignore mark."
E       nomatch: '*= 1 error in*'
E           and: ''
E           and: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.7_pytestqt/build/pytestqt/logging.py:28: ValueError'
E           and: '=============================== warnings summary ==============================='
E           and: 'test_logging_mark_with_invalid_argument.py::test1'
E           and: '  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.7_pytestqt/build/pytestqt/logging.py:26: RemovedInPytest4Warning: MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly.'
E           and: '  Please use node.get_closest_marker(name) or node.iter_markers(name).'
E           and: '  Docs: https://docs.pytest.org/en/latest/mark.html#updating-code'
E           and: "    if not set(m.kwargs).issubset(set(['extend'])):"
E           and: '  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.7_pytestqt/build/pytestqt/logging.py:28: RemovedInPytest4Warning: MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly.'
E           and: '  Please use node.get_closest_marker(name) or node.iter_markers(name).'
E           and: '  Docs: https://docs.pytest.org/en/latest/mark.html#updating-code'
E           and: '    "qt_log_ignore mark.".format(m.kwargs))'
E           and: ''
E           and: '-- Docs: https://docs.pytest.org/en/latest/warnings.html'
E           and: '===================== 2 warnings, 1 error in 0.14 seconds ======================'
E           and: ''
E       remains unmatched: '*= 1 error in*'

Full log online at

  https://www.einval.com/debian/arm/rebuild-logs/armel/FAIL/pytest-qt_2.3.1-2_armel.log

-- System Information:
Debian Release: 9.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-8-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)



More information about the Python-modules-team mailing list