Source: python-pulp Version: 2.7.0+dfsg-3 Severity: serious Tags: ftbfs Justification: FTBFS User: debian-pyt...@lists.debian.org Usertags: setup.py-test
Dear maintainer, During a test rebuild for packages affected by setuptools 72, python-pulp failed to rebuild. 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. ------------------------------------------------------------------------------- [...] test_pulp_060 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_060) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_061 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_061) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_070 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_070) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_075 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_075) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_080 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_080) Test the reporting of dual variables slacks and reduced costs ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_090 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_090) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_100 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_100) Test the ability to sequentially solve a problem ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_110 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_110) Test the ability to use fractional constraints ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_120 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_120) Test the ability to use Elastic constraints ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_121 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_121) Test the ability to use Elastic constraints ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_122 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_122) Test the ability to use Elastic constraints (penalty unchanged) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_pulp_123 (pulp.tests.test_pulp.YAPOSIBTest.test_pulp_123) Test the ability to use Elastic constraints (penalty unbounded) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_timeLimit (pulp.tests.test_pulp.YAPOSIBTest.test_timeLimit) ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_unbounded_problem__is_not_valid (pulp.tests.test_pulp.YAPOSIBTest.test_unbounded_problem__is_not_valid) Given an unbounded problem, where x will tend to infinity ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" test_unset_objective_value__is_valid (pulp.tests.test_pulp.YAPOSIBTest.test_unset_objective_value__is_valid) Given a valid problem that does not converge, ... skipped "solver <class 'pulp.apis.coin_api.YAPOSIB'> not available" ====================================================================== ERROR: test_examples (pulp.tests.test_examples.Examples_DocsTests.test_examples) ---------------------------------------------------------------------- Traceback (most recent call last): File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pulp/build/pulp/tests/test_examples.py", line 13, in test_examples files = os.listdir(os.path.join(parent_dir, examples_dir)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pulp/build/pulp/tests/../../examples' ---------------------------------------------------------------------- Ran 1005 tests in 21.850s FAILED (errors=1, skipped=885) Trying: x = LpVariable("x", 0, 3) Expecting nothing ok Trying: y = LpVariable("y", 0, 1) Expecting nothing ok Trying: prob = LpProblem("myProblem", const.LpMinimize) Expecting nothing ok Trying: prob += x + y <= 2 Expecting nothing ok Trying: prob += -4 * x + y Expecting nothing ok Trying: status = prob.solve(PULP_CBC_CMD(msg=0)) Expecting nothing ok Trying: const.LpStatus[status] Expecting: 'Optimal' ok Trying: value(x) Expecting: 2.0 ok 1 items passed all tests: 8 tests in pulp 8 tests in 1 items. 8 passed and 0 failed. Test passed. Test that logic put in place for deprecation handling of indexs works Testing 'indexs' param continues to work for LpVariable.dicts Testing 'indexs' param continues to work for LpVariable.matrix Testing 'indices' argument works in LpVariable.dicts Testing 'indices' param continues to work for LpVariable.matrix Testing invalid status Testing continuous LP solution - export dict Testing export dict for LP Testing export dict MIP Testing maximize continuous LP solution Testing continuous LP solution - export JSON Testing continuous LP solution - export solver dict Testing continuous LP solution - export solver JSON Testing reading MPS files - binary variable, no constraint names Testing reading MPS files - integer variable Testing reading MPS files - maximize Testing reading MPS files - noname Testing invalid var names Testing logPath argument Testing makeDict general behavior Testing makeDict default value behavior Testing measuring optimization time Testing that `readsol` can parse CPLEX mipopt solution Testing the availability of the function pulpTestAll Testing zero subtraction Testing inconsistent lp solution Testing continuous LP solution Testing maximize continuous LP solution Testing unbounded continuous LP solution Testing Long Names Testing repeated Names Testing zero constraint Testing zero objective Testing LpVariable (not LpAffineExpression) objective Testing Long lines in LP Testing LpAffineExpression divide Testing MIP solution Testing MIP solution with floats in objective Testing Initial value in MIP solution Testing fixing value in MIP solution Testing MIP relaxation Testing feasibility problem (no objective) Testing an infeasible problem Testing an integer infeasible problem Testing another integer infeasible problem Testing column based modelling Testing fractional constraints Testing elastic constraints (no change) Testing elastic constraints (freebound) Testing elastic constraints (penalty unchanged) Testing elastic constraints (penalty unbounded) Testing timeLimit argument Test that logic put in place for deprecation handling of indexs works Testing 'indexs' param continues to work for LpVariable.dicts Testing 'indexs' param continues to work for LpVariable.matrix Testing 'indices' argument works in LpVariable.dicts Testing 'indices' param continues to work for LpVariable.matrix Testing invalid status Testing continuous LP solution - export dict Testing export dict for LP Testing export dict MIP Testing maximize continuous LP solution Testing continuous LP solution - export JSON Testing continuous LP solution - export solver dict Testing continuous LP solution - export solver JSON Testing reading MPS files - binary variable, no constraint names Testing reading MPS files - integer variable Testing reading MPS files - maximize Testing reading MPS files - noname Testing invalid var names Testing logPath argument Testing makeDict general behavior Testing makeDict default value behavior Testing measuring optimization time Testing that `readsol` can parse CPLEX mipopt solution Testing the availability of the function pulpTestAll Testing zero subtraction Testing inconsistent lp solution Testing continuous LP solution Testing maximize continuous LP solution Testing unbounded continuous LP solution Testing Long Names Testing repeated Names Testing zero constraint Testing zero objective Testing LpVariable (not LpAffineExpression) objective Testing Long lines in LP Testing LpAffineExpression divide Testing MIP solution Testing MIP solution with floats in objective Testing Initial value in MIP solution Testing fixing value in MIP solution Testing MIP relaxation Testing feasibility problem (no objective) Testing an infeasible problem Testing an integer infeasible problem Testing another integer infeasible problem Testing column based modelling Testing dual variables and slacks reporting Testing fractional constraints Testing elastic constraints (no change) Testing elastic constraints (freebound) Testing elastic constraints (penalty unchanged) Testing elastic constraints (penalty unbounded) Testing timeLimit argument E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pulp/build; python3.12 -m unittest discover -v dh_auto_test: error: pybuild --test -i python{version} -p 3.12 returned exit code 13 make: *** [debian/rules:6: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-08-28T05:24:00Z ------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/553060/ About the archive rebuild: The build was made on debusine.debian.net, using sbuild. You can find the build task here: https://debusine.debian.net/work-request/9861/ If this is really a bug in one of the build-depends, please use reassign and affects, so that this is still visible in the BTS web page for this package. Thanks, Stefano