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)