[Python-modules-team] Bug#963369: python-testfixtures: FTBFS: dh_auto_test: error: pybuild --test -i python{version} -p 3.8 returned exit code 13
Lucas Nussbaum
lucas at debian.org
Sun Jun 21 21:11:11 BST 2020
Source: python-testfixtures
Version: 6.10.1-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200620 ftbfs-bullseye
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build
> I: pybuild base:217: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/mock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/logcapture.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/twisted.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/django.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/tdatetime.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/popen.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/shouldwarn.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/outputcapture.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/tempdirectory.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/rmtree.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/shouldraise.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/resolve.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/comparison.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/components.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/replace.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> copying testfixtures/sybil.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_popen_docs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_replacer.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/sample1.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_components.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_should_raise.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_comparison.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_outputcapture.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/sample2.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_shouldwarn.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_logcapture.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_diff.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_log_capture.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_generator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_wrap.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_time.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_mock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/conftest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_twisted.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_tempdir.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_stringcomparison.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_popen.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_replace.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_roundcomparison.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_compare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_rangecomparison.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_tempdirectory.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_datetime.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_sybil.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> copying testfixtures/tests/test_date.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests/test_django
> copying testfixtures/tests/test_django/test_shouldraise.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests/test_django
> copying testfixtures/tests/test_django/models.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests/test_django
> copying testfixtures/tests/test_django/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests/test_django
> copying testfixtures/tests/test_django/manage.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests/test_django
> copying testfixtures/tests/test_django/settings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests/test_django
> copying testfixtures/tests/test_django/test_compare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/tests/test_django
> running egg_info
> creating testfixtures.egg-info
> writing testfixtures.egg-info/PKG-INFO
> writing dependency_links to testfixtures.egg-info/dependency_links.txt
> writing requirements to testfixtures.egg-info/requires.txt
> writing top-level names to testfixtures.egg-info/top_level.txt
> writing manifest file 'testfixtures.egg-info/SOURCES.txt'
> reading manifest file 'testfixtures.egg-info/SOURCES.txt'
> writing manifest file 'testfixtures.egg-info/SOURCES.txt'
> PYTHONPATH=. python3 -m sphinx -b html -d docs/.build/.doctrees -N docs docs/.build/html
> Running Sphinx v2.4.3
> making output directory... done
> loading intersphinx inventory from /usr/share/doc/python3.8/html/objects.inv...
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 17 source files that are out of date
> updating environment: [new config] 17 added, 0 changed, 0 removed
> reading sources... [ 5%] api
> reading sources... [ 11%] changes
> reading sources... [ 17%] comparing
> reading sources... [ 23%] components
> reading sources... [ 29%] datetime
> reading sources... [ 35%] development
> reading sources... [ 41%] django
> reading sources... [ 47%] exceptions
> reading sources... [ 52%] files
> reading sources... [ 58%] index
> reading sources... [ 64%] installation
> reading sources... [ 70%] logging
> reading sources... [ 76%] mocking
> reading sources... [ 82%] popen
> reading sources... [ 88%] streams
> reading sources... [ 94%] utilities
> reading sources... [100%] warnings
>
> CHANGELOG.rst:12: WARNING: Title underline too short.
>
> 6.10.0 (19 Jun 2019)
> -------------------
> CHANGELOG.rst:12: WARNING: Title underline too short.
>
> 6.10.0 (19 Jun 2019)
> -------------------
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [ 5%] api
> writing output... [ 11%] changes
> writing output... [ 17%] comparing
> writing output... [ 23%] components
> writing output... [ 29%] datetime
> writing output... [ 35%] development
> writing output... [ 41%] django
> writing output... [ 47%] exceptions
> writing output... [ 52%] files
> writing output... [ 58%] index
> writing output... [ 64%] installation
> writing output... [ 70%] logging
> writing output... [ 76%] mocking
> writing output... [ 82%] popen
> writing output... [ 88%] streams
> writing output... [ 94%] utilities
> writing output... [100%] warnings
>
> generating indices... genindex py-modindexdone
> writing additional pages... searchdone
> copying static files... ... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 2 warnings.
>
> The HTML pages are in docs/.build/html.
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build; python3.8 -m pytest
> ============================= test session starts ==============================
> platform linux -- Python 3.8.3, pytest-4.6.11, py-1.8.1, pluggy-0.13.0
> Django settings: testfixtures.tests.test_django.settings (from ini file)
> rootdir: /<<PKGBUILDDIR>>, inifile: setup.cfg
> plugins: django-3.5.1
> collected 695 items
>
> testfixtures/tests/test_django/test_compare.py . [ 0%]
> testfixtures/tests/test_compare.py ..................................... [ 5%]
> ........................................................................ [ 15%]
> ............................................ [ 22%]
> testfixtures/tests/test_comparison.py .................................. [ 27%]
> ................. [ 29%]
> testfixtures/tests/test_components.py . [ 29%]
> testfixtures/tests/test_date.py ....................... [ 32%]
> testfixtures/tests/test_datetime.py .................................... [ 38%]
> ...... [ 38%]
> testfixtures/tests/test_diff.py .. [ 39%]
> testfixtures/tests/test_generator.py .. [ 39%]
> testfixtures/tests/test_log_capture.py ....F............ [ 42%]
> testfixtures/tests/test_logcapture.py ............................. [ 46%]
> testfixtures/tests/test_mock.py ............. [ 48%]
> testfixtures/tests/test_outputcapture.py ........... [ 49%]
> testfixtures/tests/test_popen.py ....................................... [ 55%]
> ...... [ 56%]
> testfixtures/tests/test_popen_docs.py ............ [ 57%]
> testfixtures/tests/test_rangecomparison.py ............................. [ 62%]
> ............ [ 63%]
> testfixtures/tests/test_replace.py ................................ [ 68%]
> testfixtures/tests/test_replacer.py ......... [ 69%]
> testfixtures/tests/test_roundcomparison.py ............................. [ 73%]
> ......... [ 75%]
> testfixtures/tests/test_should_raise.py ................................ [ 79%]
> ........ [ 80%]
> testfixtures/tests/test_shouldwarn.py ............. [ 82%]
> testfixtures/tests/test_stringcomparison.py ......... [ 84%]
> testfixtures/tests/test_sybil.py ........ [ 85%]
> testfixtures/tests/test_tempdir.py ........ [ 86%]
> testfixtures/tests/test_tempdirectory.py ............................... [ 90%]
> ... [ 91%]
> testfixtures/tests/test_time.py ............................. [ 95%]
> testfixtures/tests/test_twisted.py ........ [ 96%]
> testfixtures/tests/test_wrap.py ...FF......... [ 98%]
> testfixtures/tests/test_django/test_compare.py ........ [ 99%]
> testfixtures/tests/test_django/test_shouldraise.py .. [100%]
>
> =================================== FAILURES ===================================
> _____________________ TestLog_Capture.test_log_then_patch ______________________
> testfixtures/utils.py:91: in patched
> patching.__exit__(*exc_info)
> /usr/lib/python3.8/unittest/mock.py:1524: in __exit__
> return exit_stack.__exit__(*exc_info)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <contextlib.ExitStack object at 0x7f3c7bf2d760>, exc_details = ()
>
> def __exit__(self, *exc_details):
> > received_exc = exc_details[0] is not None
> E IndexError: tuple index out of range
>
> /usr/lib/python3.8/contextlib.py:483: IndexError
> ________________ TestWrap.test_our_wrap_dealing_with_mock_patch ________________
>
> self = <testfixtures.tests.test_wrap.TestWrap testMethod=test_our_wrap_dealing_with_mock_patch>
>
> def test_our_wrap_dealing_with_mock_patch(self):
>
> @patch.multiple('testfixtures.tests.sample1', X=DEFAULT)
> @log_capture()
> def patched(log, X):
> from testfixtures.tests.sample1 import X as imported_X
> assert isinstance(log, LogCapture)
> assert isinstance(X, MagicMock)
> assert imported_X is X
>
> > patched()
>
> testfixtures/tests/test_wrap.py:246:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> testfixtures/utils.py:91: in patched
> patching.__exit__(*exc_info)
> /usr/lib/python3.8/unittest/mock.py:1524: in __exit__
> return exit_stack.__exit__(*exc_info)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <contextlib.ExitStack object at 0x7f3c7b6abfd0>, exc_details = ()
>
> def __exit__(self, *exc_details):
> > received_exc = exc_details[0] is not None
> E IndexError: tuple index out of range
>
> /usr/lib/python3.8/contextlib.py:483: IndexError
> ________________________ TestWrap.test_patch_with_dict _________________________
>
> self = <testfixtures.tests.test_wrap.TestWrap testMethod=test_patch_with_dict>
>
> def test_patch_with_dict(self):
> @patch('testfixtures.tests.sample1.X', {'x': 1})
> @log_capture()
> def patched(log):
> assert isinstance(log, LogCapture)
> from testfixtures.tests.sample1 import X
> assert X == {'x': 1}
>
> > patched()
>
> testfixtures/tests/test_wrap.py:256:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> testfixtures/utils.py:91: in patched
> patching.__exit__(*exc_info)
> /usr/lib/python3.8/unittest/mock.py:1524: in __exit__
> return exit_stack.__exit__(*exc_info)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <contextlib.ExitStack object at 0x7f3c7be37c40>, exc_details = ()
>
> def __exit__(self, *exc_details):
> > received_exc = exc_details[0] is not None
> E IndexError: tuple index out of range
>
> /usr/lib/python3.8/contextlib.py:483: IndexError
> ===================== 3 failed, 692 passed in 1.94 seconds =====================
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build/testfixtures/logcapture.py:70: UserWarning: LogCapture instances not uninstalled by shutdown, loggers captured:
> (None,)
> (None,)
> warnings.warn(
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_testfixtures/build; python3.8 -m pytest
> dh_auto_test: error: pybuild --test -i python{version} -p 3.8 returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2020/06/20/python-testfixtures_6.10.1-1_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.
More information about the Python-modules-team
mailing list