Package: src:kiwi
Version: 11.1.0-1
User: [email protected]
Usertags: python3.15
Tags: ftbfs, forky, sid, patch
Severity: important

Hi!

While rebuilding the python related packages against the Python 3.15rc2 version we found that kiwi fails to build from source:
https://debusine.debian.net/debian/r-python-python3.15/artifact/4937047/

From the log, this is the error:
=================================== FAILURES =================================== ________________________ TestBoxContainerBuild.test_run ________________________
[…]
        try:
          os.mkdir(self, mode)
E           FileExistsError: [Errno 17] File exists: 'target'

This happens because this test creates the 'target' directory but then doesn't delete it, and it also overrides the os.exists function, thus causing the Python mkdir function to think that the target doesn't exist. So, when the tests are run for 2 different Python versions, the second one fails (no matter which versions).

On top of this, if you look at the log, you'll see that the tests are being run both times with Python3.14, this is due to the dh_auto_test override. The harness intends to run the tests with python3.15 and python3.14, but the call to pytest-3 overrides that.

I found that the following workaround takes care of both issues:
  dh_auto_test -- --system=custom \
    --test-args='cd test/unit && python{version} -m pytest' \
    --after-test='rm -rf test/unit/target'

The issue with the existing target directory is a bug in the upstream test and ideally it should be forwarded upstream. The other change I hope it's not controversial.

Setting the severity to important for now. Once Python 3.15 is released and later added to python3-defaults, this bug will become release critical.

--
Regards,
Marga

Reply via email to