Source: python-lti Version: 0.9.5-2 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: [email protected] Usertags: ftbfs-20231212 ftbfs-trixie
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > debian/rules binary > dh binary --with python3 --buildsystem=pybuild > dh_update_autotools_config -O--buildsystem=pybuild > dh_autoreconf -O--buildsystem=pybuild > dh_auto_configure -O--buildsystem=pybuild > I: pybuild base:310: python3.12 setup.py config > running config > I: pybuild base:310: python3.11 setup.py config > running config > dh_auto_build -O--buildsystem=pybuild > I: pybuild base:310: /usr/bin/python3.12 setup.py build > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/utils.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/outcome_request.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/tool_base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/tool_config.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/tool_outbound.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/tool_consumer.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/outcome_response.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/tool_proxy.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/launch_params.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/contentitem_response.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > copying src/lti/tool_provider.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib > copying src/lti/contrib/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib/flask > copying src/lti/contrib/flask/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib/flask > copying src/lti/contrib/flask/flask_tool_provider.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib/flask > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib/django > copying src/lti/contrib/django/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib/django > copying src/lti/contrib/django/django_tool_provider.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build/lti/contrib/django > I: pybuild base:310: /usr/bin/python3 setup.py build > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/utils.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/outcome_request.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/tool_base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/tool_config.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/tool_outbound.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/tool_consumer.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/outcome_response.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/tool_proxy.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/launch_params.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/contentitem_response.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > copying src/lti/tool_provider.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib > copying src/lti/contrib/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib/flask > copying src/lti/contrib/flask/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib/flask > copying src/lti/contrib/flask/flask_tool_provider.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib/flask > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib/django > copying src/lti/contrib/django/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib/django > copying src/lti/contrib/django/django_tool_provider.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/lti/contrib/django > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build; > python3.12 -m pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>> > collected 66 items > > tests/test_contentitem_response.py F.... [ > 7%] > tests/test_launch_params.py FF.... [ > 16%] > tests/test_outcome_request.py ...... [ > 25%] > tests/test_outcome_response.py ..... [ > 33%] > tests/test_tool_base.py ........ [ > 45%] > tests/test_tool_config.py ...... [ > 54%] > tests/test_tool_consumer.py F..... [ > 63%] > tests/test_tool_provider.py ................... [ > 92%] > tests/test_tool_proxy.py ..... > [100%] > > =================================== FAILURES > =================================== > ___________________ TestContentItemResponse.test_constructor > ___________________ > > self = <test_contentitem_response.TestContentItemResponse > testMethod=test_constructor> > > def test_constructor(self): > client_id = generate_client_id() > client_secret = generate_token() > tc = ContentItemResponse(client_id, client_secret, > launch_url='http://example.edu') > self.assertIsInstance(tc.launch_params, LaunchParams) > > lp = LaunchParams() > tc = ContentItemResponse(client_id, client_secret, > launch_url='http://example.edu', params=lp) > self.assertEqual(tc.launch_params, lp) > > lp_dict = {'resource_link_id': 1} > tc = ContentItemResponse(client_id, client_secret, > launch_url='http://example.edu', > params=lp_dict) > self.assertIsInstance(tc.launch_params, LaunchParams) > self.assertEqual(tc.launch_params._params.get('resource_link_id'), 1) > > # no launch_url should raise exception > > self.failUnlessRaises(InvalidLTIConfigError, ContentItemResponse, > client_id, client_secret, > params=lp_dict) > E AttributeError: 'TestContentItemResponse' object has no attribute > 'failUnlessRaises' > > tests/test_contentitem_response.py:33: AttributeError > ______________________ TestLaunchParams.test_constructor > _______________________ > > self = <test_launch_params.TestLaunchParams testMethod=test_constructor> > > def test_constructor(self): > lp = LaunchParams() > self.assertTrue(lp['lti_version'], DEFAULT_LTI_VERSION) > self.assertTrue(lp['lti_message_type'], 'basic-lti-launch-request') > > lp = LaunchParams({ > 'lti_version': 'LTI-foo', > 'lti_message_type': 'bar', > 'resource_link_id': 123 > }) > self.assertTrue(lp['resource_link_id'], 123) > self.assertTrue(lp['lti_version'], 'LTI-foo') > > > self.failUnlessRaises(InvalidLaunchParamError, LaunchParams, { > 'foo': 'bar' > }) > E AttributeError: 'TestLaunchParams' object has no attribute > 'failUnlessRaises' > > tests/test_launch_params.py:21: AttributeError > _____________________ TestLaunchParams.test_dict_behavior > ______________________ > > self = <test_launch_params.TestLaunchParams testMethod=test_dict_behavior> > > def test_dict_behavior(self): > > lp = LaunchParams({ > 'lti_version': 'foo', > 'lti_message_type': 'bar' > }) > self.assertEqual(len(lp), 2) > lp.update({'resource_link_id': 1}) > self.assertEqual(len(lp), 3) > > > self.failUnlessRaises(InvalidLaunchParamError, lp.update, { > 'foo': 'bar' > }) > E AttributeError: 'TestLaunchParams' object has no attribute > 'failUnlessRaises' > > tests/test_launch_params.py:69: AttributeError > ______________________ TestToolConsumer.test_constructor > _______________________ > > self = <test_tool_consumer.TestToolConsumer testMethod=test_constructor> > > def test_constructor(self): > client_id = generate_client_id() > client_secret = generate_token() > tc = ToolConsumer(client_id, client_secret, > launch_url='http://example.edu') > self.assertIsInstance(tc.launch_params, LaunchParams) > > lp = LaunchParams() > tc = ToolConsumer(client_id, client_secret, > launch_url='http://example.edu', params=lp) > self.assertEqual(tc.launch_params, lp) > > lp_dict = {'resource_link_id': 1} > tc = ToolConsumer(client_id, client_secret, > launch_url='http://example.edu', > params=lp_dict) > self.assertIsInstance(tc.launch_params, LaunchParams) > self.assertEqual(tc.launch_params._params.get('resource_link_id'), 1) > > # no launch_url should raise exception > > self.failUnlessRaises(InvalidLTIConfigError, ToolConsumer, > client_id, client_secret, > params=lp_dict) > E AttributeError: 'TestToolConsumer' object has no attribute > 'failUnlessRaises' > > tests/test_tool_consumer.py:33: AttributeError > =========================== short test summary info > ============================ > FAILED > tests/test_contentitem_response.py::TestContentItemResponse::test_constructor > FAILED tests/test_launch_params.py::TestLaunchParams::test_constructor - > Attr... > FAILED tests/test_launch_params.py::TestLaunchParams::test_dict_behavior - > At... > FAILED tests/test_tool_consumer.py::TestToolConsumer::test_constructor - > Attr... > ========================= 4 failed, 62 passed in 0.68s > ========================= > E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_lti/build; python3.12 -m pytest tests > I: pybuild base:310: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build; > python3.11 -m pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>> > collected 66 items > > tests/test_contentitem_response.py ..... [ > 7%] > tests/test_launch_params.py ...... [ > 16%] > tests/test_outcome_request.py ...... [ > 25%] > tests/test_outcome_response.py ..... [ > 33%] > tests/test_tool_base.py ........ [ > 45%] > tests/test_tool_config.py ...... [ > 54%] > tests/test_tool_consumer.py ...... [ > 63%] > tests/test_tool_provider.py ................... [ > 92%] > tests/test_tool_proxy.py ..... > [100%] > > =============================== warnings summary > =============================== > .pybuild/cpython3_3.11_lti/build/tests/test_contentitem_response.py::TestContentItemResponse::test_constructor > > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/tests/test_contentitem_response.py:33: > DeprecationWarning: Please use assertRaises instead. > self.failUnlessRaises(InvalidLTIConfigError, ContentItemResponse, > > .pybuild/cpython3_3.11_lti/build/tests/test_launch_params.py::TestLaunchParams::test_constructor > > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/tests/test_launch_params.py:21: > DeprecationWarning: Please use assertRaises instead. > self.failUnlessRaises(InvalidLaunchParamError, LaunchParams, { > > .pybuild/cpython3_3.11_lti/build/tests/test_launch_params.py::TestLaunchParams::test_dict_behavior > > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/tests/test_launch_params.py:69: > DeprecationWarning: Please use assertRaises instead. > self.failUnlessRaises(InvalidLaunchParamError, lp.update, { > > .pybuild/cpython3_3.11_lti/build/tests/test_tool_consumer.py::TestToolConsumer::test_constructor > > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_lti/build/tests/test_tool_consumer.py:33: > DeprecationWarning: Please use assertRaises instead. > self.failUnlessRaises(InvalidLTIConfigError, ToolConsumer, > > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html > ======================== 66 passed, 4 warnings in 0.43s > ======================== > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 > 3.11" returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2023/12/12/python-lti_0.9.5-2_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;[email protected] or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&[email protected]&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.

