[Debian-astro-maintainers] Bug#1081695: FTBFS with Python 3.13

Stefano Rivera stefanor at debian.org
Mon Oct 28 20:48:32 GMT 2024


Control: reopen -1
Control: notfixed -1 2.2.2-1
Control: found -1 2.2.2-1

> This bug is certainly fixed in version 2.2.2-1.

I'm afraid it isn't:

https://debusine.debian.net/debusine/artifact/898390/

   dh_auto_test -a -O--buildsystem=pybuild
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyraf/build; python3.13 -m pytest 
tput: No value for $TERM and no -T specified
============================= test session starts ==============================
platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyraf/build
configfile: pyproject.toml
plugins: hypothesis-6.115.3, cov-5.0.0, doctestplus-1.2.1, remotedata-0.4.1, astropy-0.11.0, typeguard-4.3.0, arraydiff-0.6.1, astropy-header-0.2.2, mock-3.14.0, filter-subpackage-0.2.0

No graphics display available for this session.
Graphics tasks that attempt to plot to an interactive screen will fail.
For help, search "PyRAF FAQ 5.13"

Created directory /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyraf/.iraf/pyraf for cache
collected 404 items

pyraf/tests/test_basic.py ....
pyraf/tests/test_clcache.py .
pyraf/tests/test_cli.py ..........................................................................................................................................................................................
pyraf/tests/test_core_nongraphics.py .....................x..
pyraf/tests/test_graphics.py ..........s
pyraf/tests/test_invocation.py ........................x........x........ssss..s
pyraf/tests/test_plot.py ssssssssssssssssssssssssssss
pyraf/tests/test_tasks.py .........................................................
pyraf/tests/test_using_tasks.py sssssss
pyraf/tools/tests/test_cfgobj.py .
pyraf/tools/tests/test_compmixin.py .F..
pyraf/tools/tests/test_irafutils.py .............
pyraf/tools/tests/test_minmatch.py ...................

=================================== FAILURES ===================================
_________________________________ test_AnyType _________________________________

    def test_AnyType():
        x = AnyType('x')
        y = AnyType('yyy')
        z = AnyType(0)
        nn = AnyType(None)
    
        # compare two AnyType objects
        assert str(x > y) == "False"
        assert str(x < y) == "True"
        assert str(x <= y) == "True"
        assert str(x == y) == "False"
        assert str(y == y) == "True"
        assert str(x < z) == "False"
        assert str(x <= z) == "False"
        assert str(x > z) == "True"
        assert str(x != z) == "True"
        assert str(z != z) == "False"
        assert str(z == z) == "True"
        assert str(y < nn) == "False"
        assert str(y >= nn) == "True"
        assert str(y == nn) == "False"
        assert str(nn == nn) == "True"
>       assert str([str(jj) for jj in sorted([y, x, nn, z])]
                   ) == "['None', '0', 'x', 'yyy']"

pyraf/tools/tests/test_compmixin.py:97: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pyraf/tools/compmixin.py:33: in __lt__
    return self._compare(other, lambda s,o: s < o)
pyraf/tools/tests/test_compmixin.py:30: in _compare
    return self._compare(other.val, method)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pyraf.tools.tests.test_compmixin.AnyType object at 0xffff788f1ba0>
other = 0
method = <function ComparableMixin.__lt__.<locals>.<lambda> at 0xffff78891d00>

    def _compare(self, other, method):
        if isinstance(other, self.__class__):
            # recurse, get 2 logic below
            return self._compare(other.val, method)
        if isinstance(other, str):
            return method(str(self.val), other)
        elif other is None and self.val is None:
            return method(0, 0)
        elif other is None:
            # coerce to str compare
            return method(str(self.val), '')
        elif isinstance(other, int):
            # handle ONLY case where self.val is a single char or an int
            if isinstance(self.val, str) and len(self.val) == 1:
                return method(ord(self.val), other)
            else:
                # assume we are int-like
>               return method(int(self.val), other)
E               TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

pyraf/tools/tests/test_compmixin.py:44: TypeError
=============================== warnings summary ===============================
pyraf/scanf.py:109
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyraf/build/pyraf/scanf.py:109: SyntaxWarning: invalid escape sequence '\-'
    """

pyraf/iraffunctions.py:91
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyraf/build/pyraf/iraffunctions.py:91: DeprecationWarning: finfo() dtype cannot be None. This behavior will raise an error in the future. (Deprecated in NumPy 1.25)
    FP_EPSILON = _numpy.finfo(None).eps

pyraf/tools/tests/test_minmatch.py::test_getall
  /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but pyraf/tools/tests/test_minmatch.py::test_getall returned [1, 2, 10], which will be an error in a future version of pytest.  Did you mean to use `assert` instead of `return`?
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED pyraf/tools/tests/test_compmixin.py::test_AnyType - TypeError: int() a...
====== 1 failed, 359 passed, 41 skipped, 3 xfailed, 3 warnings in 38.08s =======
could not open XWindow display
could not open XWindow display
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyraf/build; python3.13 -m pytest 
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyraf/build; python3.12 -m pytest 
tput: No value for $TERM and no -T specified
============================= test session starts ==============================
platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyraf/build
configfile: pyproject.toml
plugins: hypothesis-6.115.3, cov-5.0.0, doctestplus-1.2.1, remotedata-0.4.1, astropy-0.11.0, typeguard-4.3.0, arraydiff-0.6.1, astropy-header-0.2.2, mock-3.14.0, filter-subpackage-0.2.0

No graphics display available for this session.
Graphics tasks that attempt to plot to an interactive screen will fail.
For help, search "PyRAF FAQ 5.13"

Created directory /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyraf/.iraf/pyraf for cache
collected 404 items

pyraf/tests/test_basic.py ....
pyraf/tests/test_clcache.py .
pyraf/tests/test_cli.py ..........................................................................................................................................................................................
pyraf/tests/test_core_nongraphics.py .....................x..
pyraf/tests/test_graphics.py ..........s
pyraf/tests/test_invocation.py ........................x........x........ssss..s
pyraf/tests/test_plot.py ssssssssssssssssssssssssssss
pyraf/tests/test_tasks.py .........................................................
pyraf/tests/test_using_tasks.py sssssss
pyraf/tools/tests/test_cfgobj.py .
pyraf/tools/tests/test_compmixin.py ....
pyraf/tools/tests/test_irafutils.py .............
pyraf/tools/tests/test_minmatch.py ...................

=============================== warnings summary ===============================
pyraf/scanf.py:109
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyraf/build/pyraf/scanf.py:109: SyntaxWarning: invalid escape sequence '\-'
    """

pyraf/iraffunctions.py:91
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyraf/build/pyraf/iraffunctions.py:91: DeprecationWarning: finfo() dtype cannot be None. This behavior will raise an error in the future. (Deprecated in NumPy 1.25)
    FP_EPSILON = _numpy.finfo(None).eps

pyraf/tools/tests/test_minmatch.py::test_getall
  /usr/lib/python3/dist-packages/_pytest/python.py:163: PytestReturnNotNoneWarning: Expected None, but pyraf/tools/tests/test_minmatch.py::test_getall returned [1, 2, 10], which will be an error in a future version of pytest.  Did you mean to use `assert` instead of `return`?
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========== 360 passed, 41 skipped, 3 xfailed, 3 warnings in 37.87s ============
could not open XWindow display
could not open XWindow display
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13
make: *** [debian/rules:9: binary-arch] Error 25
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-10-28T15:51:59Z

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



More information about the Debian-astro-maintainers mailing list