Source: aioftp
Version: 0.21.4-1
Severity: normal
User: debian-pyt...@lists.debian.org
Usertags: python3.13

This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:

dh_auto_test
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioftp/build; 
python3.13 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioftp/build
configfile: pytest.ini
plugins: typeguard-4.3.0, asyncio-0.20.3, cov-5.0.0
asyncio: mode=Mode.STRICT
collected 778 items

tests/test_abort.py ..........                                           [  1%]
tests/test_client_side_socks.py ssssssss                                 [  2%]
tests/test_connection.py ............................................    [  7%]
tests/test_corner_cases.py ..............                                [  9%]
tests/test_current_directory.py ........                                 [ 10%]
tests/test_directory_actions.py ..................                       [ 13%]
tests/test_extra.py .......                                              [ 14%]
tests/test_file.py ..............................................        [ 19%]
tests/test_list_fallback.py ...........                                  [ 21%]
tests/test_login.py ................                                     [ 23%]
tests/test_maximum_connections.py ..........                             [ 24%]
tests/test_passive.py ....................                               [ 27%]
tests/test_pathio.py ................................................... [ 33%]
.............................................                            [ 39%]
tests/test_permissions.py ....                                           [ 40%]
tests/test_restart.py ......................                             [ 42%]
tests/test_simple_functions.py ......................................... [ 48%]
........................................................................ [ 57%]
........................................................................ [ 66%]
........................................................................ [ 75%]
................F

=================================== FAILURES ===================================
_______________________ test_get_paths_windows_traverse ________________________

    def test_get_paths_windows_traverse():
        base_path = pathlib.PureWindowsPath("C:\\ftp")
        user = aioftp.User()
        user.base_path = base_path
        connection = aioftp.Connection(current_directory=base_path, user=user)
        virtual_path = pathlib.PurePosixPath("/foo/C:\\windows")
        real_path, resolved_virtual_path = aioftp.Server.get_paths(
            connection,
            virtual_path,
        )
>       assert real_path == base_path
E       AssertionError: assert PureWindowsPath('C:/ftp/foo/C:/windows') == 
PureWindowsPath('C:/ftp')

tests/test_simple_functions.py:245: AssertionError
=============================== warnings summary ===============================
tests/test_file.py::test_stat_mlst[127.0.0.1]
tests/test_file.py::test_stat_mlst[::1]
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioftp/build/tests/test_file.py:241: 
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    now = dt.datetime.utcnow()

tests/test_list_fallback.py::test_client_fallback_to_list_at_list[127.0.0.1]
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioftp/build/aioftp/client.py:416: 
DeprecationWarning: Parsing dates involving a day of month without a year 
specified is ambiguious
  and fails to parse leap day. The default behavior will change in Python 3.15
  to either always raise an exception or to use a different default year (TBD).
  To avoid trouble, add a specific year to the input & format.
  See https://github.com/python/cpython/issues/70647.
    d = datetime.datetime.strptime(s, "%b %d %H:%M")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

-------- coverage: platform linux, python 3.13.0-candidate-2 ---------
Name                 Stmts   Miss  Cover   Missing
--------------------------------------------------
aioftp/__init__.py       8      0   100%
aioftp/__main__.py      32     32     0%   2-63
aioftp/client.py       488      2    99%   774, 882
aioftp/common.py       181      9    95%   345-349, 385-387, 480, 482
aioftp/errors.py        15      0   100%
aioftp/pathio.py       458      0   100%
aioftp/server.py       744     18    98%   43, 132, 461, 674, 750, 759, 
776-780, 857, 1031-1033, 1062-1063, 1248-1249
--------------------------------------------------
TOTAL                 1926     61    97%
Coverage XML written to file coverage.xml

============================= slowest 10 durations =============================
0.07s call     tests/test_file.py::test_recursive_remove[127.0.0.1]
0.07s call     tests/test_file.py::test_recursive_remove[::1]
0.05s call     
tests/test_list_fallback.py::test_client_fallback_to_list_at_list[127.0.0.1]
0.05s call     
tests/test_maximum_connections.py::test_multiply_connections_with_user_limited_error[::1]
0.04s call     
tests/test_list_fallback.py::test_client_fallback_to_list_at_list[::1]
0.04s call     tests/test_file.py::test_download_folder_into_another[127.0.0.1]
0.04s call     tests/test_file.py::test_download_folder[::1]
0.04s call     tests/test_file.py::test_download_folder[127.0.0.1]
0.04s call     tests/test_file.py::test_download_folder_into[::1]
0.04s call     tests/test_file.py::test_download_folder_into_another[::1]
=========================== short test summary info ============================
FAILED tests/test_simple_functions.py::test_get_paths_windows_traverse - Asse...
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
============= 1 failed, 599 passed, 8 skipped, 3 warnings in 5.24s =============
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aioftp/build; python3.13 -m pytest tests
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioftp/build; 
python3.12 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioftp/build
configfile: pytest.ini
plugins: typeguard-4.3.0, asyncio-0.20.3, cov-5.0.0
asyncio: mode=Mode.STRICT
collected 778 items

tests/test_abort.py ..........                                           [  1%]
tests/test_client_side_socks.py ssssssss                                 [  2%]
tests/test_connection.py ............................................    [  7%]
tests/test_corner_cases.py ..............                                [  9%]
tests/test_current_directory.py ........                                 [ 10%]
tests/test_directory_actions.py ..................                       [ 13%]
tests/test_extra.py .......                                              [ 14%]
tests/test_file.py ..............................................        [ 19%]
tests/test_list_fallback.py ...........                                  [ 21%]
tests/test_login.py ................                                     [ 23%]
tests/test_maximum_connections.py ..........                             [ 24%]
tests/test_passive.py ....................                               [ 27%]
tests/test_pathio.py ................................................... [ 33%]
.............................................                            [ 39%]
tests/test_permissions.py ....                                           [ 40%]
tests/test_restart.py ......................                             [ 42%]
tests/test_simple_functions.py ......................................... [ 48%]
........................................................................ [ 57%]
........................................................................ [ 66%]
........................................................................ [ 75%]
.................                                                        [ 78%]
tests/test_throttle.py ................................................. [ 84%]
........................................................................ [ 93%]
................................................                         [ 99%]
tests/test_user.py .                                                     [100%]

=============================== warnings summary ===============================
tests/test_file.py::test_stat_mlst[127.0.0.1]
tests/test_file.py::test_stat_mlst[::1]
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioftp/build/tests/test_file.py:241: 
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for 
removal in a future version. Use timezone-aware objects to represent datetimes 
in UTC: datetime.datetime.now(datetime.UTC).
    now = dt.datetime.utcnow()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

---------- coverage: platform linux, python 3.12.6-final-0 -----------
Name                 Stmts   Miss  Cover   Missing
--------------------------------------------------
aioftp/__init__.py       8      0   100%
aioftp/__main__.py      32     32     0%   2-63
aioftp/client.py       488      2    99%   774, 882
aioftp/common.py       181      0   100%
aioftp/errors.py        15      0   100%
aioftp/pathio.py       458      0   100%
aioftp/server.py       744     14    98%   43, 461, 674, 750, 759, 776-780, 
857, 1062-1063, 1248-1249
--------------------------------------------------
TOTAL                 1926     48    98%
Coverage XML written to file coverage.xml

============================= slowest 10 durations =============================
0.08s call     
tests/test_throttle.py::test_server_side_throttle[127.0.0.1-throttle-download-write-3-30]
0.08s call     
tests/test_throttle.py::test_server_side_throttle[127.0.0.1-throttle_per_connection-download-write-3-30]
0.08s call     
tests/test_throttle.py::test_server_side_throttle[127.0.0.1-throttle-download-write-3-20]
0.08s call     
tests/test_throttle.py::test_server_side_throttle[127.0.0.1-throttle-download-write-3-10]
0.08s call     
tests/test_throttle.py::test_server_side_throttle[::1-throttle_per_connection-download-write-3-10]
0.08s call     
tests/test_throttle.py::test_server_side_throttle[::1-throttle-download-write-3-10]
0.07s call     
tests/test_throttle.py::test_server_side_throttle[::1-throttle-download-write-3-30]
0.07s call     
tests/test_throttle.py::test_server_side_throttle[::1-throttle-download-write-3-20]
0.07s call     
tests/test_throttle.py::test_server_side_throttle[127.0.0.1-throttle_per_connection-download-write-3-20]
0.07s call     
tests/test_throttle.py::test_server_side_throttle[::1-throttle_per_connection-download-write-3-20]
================= 770 passed, 8 skipped, 2 warnings in 13.12s ==================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 
3.12" returned exit code 13
make[1]: *** [debian/rules:22: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:7: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-18T16:31:35Z


If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/776572/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to