Discussion:
Bug#1026543: flask-testing: FTBFS: RuntimeError: Failed to start the server after 5 seconds.
Add Reply
Lucas Nussbaum
2022-12-20 17:30:06 UTC
Reply
Permalink
Source: flask-testing
Version: 0.8.1-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: ***@debian.org
Usertags: ftbfs-20221220 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build
I: pybuild base:240: /usr/bin/python3.11 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-testing/build/flask_testing
copying flask_testing/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-testing/build/flask_testing
copying flask_testing/twill.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-testing/build/flask_testing
copying flask_testing/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-testing/build/flask_testing
I: pybuild base:240: /usr/bin/python3 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-testing/build/flask_testing
copying flask_testing/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-testing/build/flask_testing
copying flask_testing/twill.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-testing/build/flask_testing
copying flask_testing/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_flask-testing/build/flask_testing
cd docs && \
PYTHONPATH=/<<PKGBUILDDIR>> http_proxy= https_proxy= \
python3 -m sphinx -N -E -T -b html . /<<PKGBUILDDIR>>/.pybuild/docs/html/
Running Sphinx v5.3.0
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index
/<<PKGBUILDDIR>>/docs/index.rst:366: WARNING: duplicate object description of flask_testing, other instance in index, use :noindex: for one of them
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] index
generating indices... genindex py-modindex done
writing additional pages... search done
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 1 warning.
The HTML pages are in ../.pybuild/docs/html.
rm -rf /<<PKGBUILDDIR>>/.pybuild/docs/html/.doctrees
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:240: python3.11 setup.py test
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing Flask_Testing.egg-info/PKG-INFO
writing dependency_links to Flask_Testing.egg-info/dependency_links.txt
writing requirements to Flask_Testing.egg-info/requires.txt
writing top-level names to Flask_Testing.egg-info/top_level.txt
reading manifest file 'Flask_Testing.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.pyc' found under directory 'tests'
warning: no previously-included files matching '*.pyc' found under directory 'tests'
warning: no previously-included files matching '*.pyo' found under directory 'docs'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'docs/_themes/.git'
adding license file 'LICENSE'
writing manifest file 'Flask_Testing.egg-info/SOURCES.txt'
running build_ext
test_setup (tests.test_utils.TestSetup.test_setup) ... ok
test_setup_failure (tests.test_utils.TestSetupFailure.test_setup_failure)
Should not fail in _post_teardown if _pre_setup fails ... ok
test_assert_200 (tests.test_utils.TestClientUtils.test_assert_200) ... ok
test_assert_401 (tests.test_utils.TestClientUtils.test_assert_401) ... ok
test_assert_403 (tests.test_utils.TestClientUtils.test_assert_403) ... ok
test_assert_404 (tests.test_utils.TestClientUtils.test_assert_404) ... ok
test_assert_405 (tests.test_utils.TestClientUtils.test_assert_405) ... ok
test_assert_500 (tests.test_utils.TestClientUtils.test_assert_500) ... ok
test_assert_bad_context (tests.test_utils.TestClientUtils.test_assert_bad_context) ... ok
test_assert_bad_context_custom_message (tests.test_utils.TestClientUtils.test_assert_bad_context_custom_message) ... ok
test_assert_context (tests.test_utils.TestClientUtils.test_assert_context) ... ok
test_assert_context_custom_message (tests.test_utils.TestClientUtils.test_assert_context_custom_message) ... ok
test_assert_flashed_messages_failed (tests.test_utils.TestClientUtils.test_assert_flashed_messages_failed) ... ok
test_assert_flashed_messages_succeed (tests.test_utils.TestClientUtils.test_assert_flashed_messages_succeed) ... ok
test_assert_get_context_variable_not_exists (tests.test_utils.TestClientUtils.test_assert_get_context_variable_not_exists) ... ok
test_assert_no_flashed_messages_fail (tests.test_utils.TestClientUtils.test_assert_no_flashed_messages_fail) ... ok
test_assert_redirects (tests.test_utils.TestClientUtils.test_assert_redirects) ... FAIL
test_assert_redirects_custom_message (tests.test_utils.TestClientUtils.test_assert_redirects_custom_message) ... ok
test_assert_redirects_failure_message (tests.test_utils.TestClientUtils.test_assert_redirects_failure_message) ... ok
test_assert_redirects_full_url (tests.test_utils.TestClientUtils.test_assert_redirects_full_url) ... ok
test_assert_redirects_invalid_status_code (tests.test_utils.TestClientUtils.test_assert_redirects_invalid_status_code) ... ok
test_assert_redirects_valid_status_codes (tests.test_utils.TestClientUtils.test_assert_redirects_valid_status_codes) ... FAIL
test_assert_template_not_used (tests.test_utils.TestClientUtils.test_assert_template_not_used) ... ok
test_assert_template_used (tests.test_utils.TestClientUtils.test_assert_template_used) ... ok
test_default_status_failure_message (tests.test_utils.TestClientUtils.test_default_status_failure_message) ... ok
test_get_context_variable (tests.test_utils.TestClientUtils.test_get_context_variable) ... ok
test_get_json (tests.test_utils.TestClientUtils.test_get_json) ... ok
test_status_failure_message (tests.test_utils.TestClientUtils.test_status_failure_message) ... ok
!!! Skipping tests of Twill components
* Serving Flask app 'tests.flask_app'
* Debug mode: off
/usr/lib/python3/dist-packages/werkzeug/serving.py:718: ResourceWarning: unclosed <socket.socket fd=9, family=2, type=1, proto=0, laddr=('0.0.0.0', 0)>
self.socket = socket.fromfd(fd, address_family, socket.SOCK_STREAM)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8943
Press CTRL+C to quit
test_server_listening (tests.test_utils.TestLiveServer.test_server_listening) ... 127.0.0.1 - - [20/Dec/2022 09:51:12] "GET / HTTP/1.1" 200 -
ok
* Serving Flask app 'tests.flask_app'
* Debug mode: off
test_server_process_is_spawned (tests.test_utils.TestLiveServer.test_server_process_is_spawned) ... ok
* Serving Flask app 'tests.flask_app'
* Debug mode: off
/usr/lib/python3/dist-packages/werkzeug/serving.py:718: ResourceWarning: unclosed <socket.socket fd=9, family=2, type=1, proto=0, laddr=('0.0.0.0', 0)>
self.socket = socket.fromfd(fd, address_family, socket.SOCK_STREAM)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:42209
Press CTRL+C to quit
File "/<<PKGBUILDDIR>>/setup.py", line 32, in <module>
setup(
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 87, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 968, in run_commands
self.run_command(cmd)
File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/setuptools/command/test.py", line 224, in run
self.run_tests()
File "/usr/lib/python3/dist-packages/setuptools/command/test.py", line 227, in run_tests
test = unittest.main(
^^^^^^^^^^^^^^
File "/usr/lib/python3.11/unittest/main.py", line 102, in __init__
self.runTests()
File "/usr/lib/python3.11/unittest/main.py", line 274, in runTests
self.result = testRunner.run(self.test)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/unittest/runner.py", line 217, in run
test(result)
File "/usr/lib/python3.11/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/unittest/suite.py", line 122, in run
test(result)
File "/usr/lib/python3.11/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/unittest/suite.py", line 122, in run
test(result)
File "/usr/lib/python3.11/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/unittest/suite.py", line 122, in run
test(result)
File "/<<PKGBUILDDIR>>/flask_testing/utils.py", line 451, in __call__
self._spawn_live_server()
File "/<<PKGBUILDDIR>>/flask_testing/utils.py", line 501, in _spawn_live_server
raise RuntimeError(
RuntimeError: Failed to start the server after 5 seconds.
E: pybuild pybuild:386: test: plugin distutils failed with: exit code=1: python3.11 setup.py test
I: pybuild base:240: python3.10 setup.py test
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing Flask_Testing.egg-info/PKG-INFO
writing dependency_links to Flask_Testing.egg-info/dependency_links.txt
writing requirements to Flask_Testing.egg-info/requires.txt
writing top-level names to Flask_Testing.egg-info/top_level.txt
reading manifest file 'Flask_Testing.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.pyc' found under directory 'tests'
warning: no previously-included files matching '*.pyo' found under directory 'docs'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'docs/_themes/.git'
adding license file 'LICENSE'
writing manifest file 'Flask_Testing.egg-info/SOURCES.txt'
running build_ext
test_setup (tests.test_utils.TestSetup) ... ok
test_setup_failure (tests.test_utils.TestSetupFailure)
Should not fail in _post_teardown if _pre_setup fails ... ok
test_assert_200 (tests.test_utils.TestClientUtils) ... ok
test_assert_401 (tests.test_utils.TestClientUtils) ... ok
test_assert_403 (tests.test_utils.TestClientUtils) ... ok
test_assert_404 (tests.test_utils.TestClientUtils) ... ok
test_assert_405 (tests.test_utils.TestClientUtils) ... ok
test_assert_500 (tests.test_utils.TestClientUtils) ... ok
test_assert_bad_context (tests.test_utils.TestClientUtils) ... ok
test_assert_bad_context_custom_message (tests.test_utils.TestClientUtils) ... ok
test_assert_context (tests.test_utils.TestClientUtils) ... ok
test_assert_context_custom_message (tests.test_utils.TestClientUtils) ... ok
test_assert_flashed_messages_failed (tests.test_utils.TestClientUtils) ... ok
test_assert_flashed_messages_succeed (tests.test_utils.TestClientUtils) ... ok
test_assert_get_context_variable_not_exists (tests.test_utils.TestClientUtils) ... ok
test_assert_no_flashed_messages_fail (tests.test_utils.TestClientUtils) ... ok
test_assert_redirects (tests.test_utils.TestClientUtils) ... FAIL
test_assert_redirects_custom_message (tests.test_utils.TestClientUtils) ... ok
test_assert_redirects_failure_message (tests.test_utils.TestClientUtils) ... ok
test_assert_redirects_full_url (tests.test_utils.TestClientUtils) ... ok
test_assert_redirects_invalid_status_code (tests.test_utils.TestClientUtils) ... ok
test_assert_redirects_valid_status_codes (tests.test_utils.TestClientUtils) ... FAIL
test_assert_template_not_used (tests.test_utils.TestClientUtils) ... ok
test_assert_template_used (tests.test_utils.TestClientUtils) ... ok
test_default_status_failure_message (tests.test_utils.TestClientUtils) ... ok
test_get_context_variable (tests.test_utils.TestClientUtils) ... ok
test_get_json (tests.test_utils.TestClientUtils) ... ok
test_status_failure_message (tests.test_utils.TestClientUtils) ... ok
!!! Skipping tests of Twill components
* Serving Flask app 'tests.flask_app'
* Debug mode: off
test_server_listening (tests.test_utils.TestLiveServer) ... /usr/lib/python3/dist-packages/werkzeug/serving.py:718: ResourceWarning: unclosed <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('0.0.0.0', 0)>
self.socket = socket.fromfd(fd, address_family, socket.SOCK_STREAM)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8943
Press CTRL+C to quit
127.0.0.1 - - [20/Dec/2022 09:51:19] "GET / HTTP/1.1" 200 -
ok
* Serving Flask app 'tests.flask_app'
* Debug mode: off
test_server_process_is_spawned (tests.test_utils.TestLiveServer) ... ok
* Serving Flask app 'tests.flask_app'
* Debug mode: off
/usr/lib/python3/dist-packages/werkzeug/serving.py:718: ResourceWarning: unclosed <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('0.0.0.0', 0)>
self.socket = socket.fromfd(fd, address_family, socket.SOCK_STREAM)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:37557
Press CTRL+C to quit
File "/<<PKGBUILDDIR>>/setup.py", line 32, in <module>
setup(
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 87, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 968, in run_commands
self.run_command(cmd)
File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/setuptools/command/test.py", line 224, in run
self.run_tests()
File "/usr/lib/python3/dist-packages/setuptools/command/test.py", line 227, in run_tests
test = unittest.main(
File "/usr/lib/python3.10/unittest/main.py", line 101, in __init__
self.runTests()
File "/usr/lib/python3.10/unittest/main.py", line 271, in runTests
self.result = testRunner.run(self.test)
File "/usr/lib/python3.10/unittest/runner.py", line 184, in run
test(result)
File "/usr/lib/python3.10/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
File "/usr/lib/python3.10/unittest/suite.py", line 122, in run
test(result)
File "/usr/lib/python3.10/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
File "/usr/lib/python3.10/unittest/suite.py", line 122, in run
test(result)
File "/usr/lib/python3.10/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
File "/usr/lib/python3.10/unittest/suite.py", line 122, in run
test(result)
File "/<<PKGBUILDDIR>>/flask_testing/utils.py", line 451, in __call__
self._spawn_live_server()
File "/<<PKGBUILDDIR>>/flask_testing/utils.py", line 501, in _spawn_live_server
raise RuntimeError(
RuntimeError: Failed to start the server after 5 seconds.
E: pybuild pybuild:386: test: plugin distutils failed with: exit code=1: python3.10 setup.py test
dh_auto_test: error: pybuild --test -i python{version} -p "3.11 3.10" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2022/12/20/flask-testing_0.8.1-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221220;users=***@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221220&fusertaguser=***@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

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!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
Stefano Rivera
2024-08-31 16:00:01 UTC
Reply
Permalink
FWIW: I think these bugs were all caused by setuptools v72 dropping
support for the "test" command, so dh-python has fallen back to
distutils / other test plugins.

If you're trying to figure out how to fix the bug, look at the
implementation of test_suite in setup.py to see what magic it does for
test setup.

Stefano
--
Stefano Rivera
http://tumbleweed.org.za/
+1 415 683 3272
Loading...