Source: stsci.tools Version: 4.1.1-1 Severity: normal User: [email protected] Usertags: python3.13 Forwarded: https://github.com/spacetelescope/stsci.tools/issues/163
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: stsci/tools/convertgeis.py . [ 6%] stsci/tools/convertlog.py . [ 7%] stsci/tools/convertwaiveredfits.py . [ 7%] stsci/tools/fileutil.py s. [ 8%] stsci/tools/gfit.py . [ 9%] stsci/tools/irafutils.py . [ 9%] stsci/tools/linefit.py . [ 10%] stsci/tools/logutil.py . [ 10%] stsci/tools/readgeis.py . [ 11%] stsci/tools/swapgeis.py . [ 11%] stsci/tools/tests/test_bitmask.py ...................................... [ 29%] .............................. [ 44%] stsci/tools/tests/test_breadcrumb.py . [ 44%] stsci/tools/tests/test_cfgobj.py . [ 45%] stsci/tools/tests/test_check_files.py .... [ 47%] stsci/tools/tests/test_compmixin.py .F.. [ 49%] stsci/tools/tests/test_irafutils.py ............. [ 55%] stsci/tools/tests/test_isfits.py .. [ 56%] stsci/tools/tests/test_minmatch.py ................... [ 65%] stsci/tools/tests/test_mputil.py ....... [ 69%] stsci/tools/tests/test_stpyfits.py .................... [ 78%] stsci/tools/tests/test_tkrotext.py x [ 79%] stsci/tools/tests/test_xyinterp.py ....... [ 82%] stsci/tools/textutil.py . [ 83%] stsci/tools/validate.py s....ssssssss..................... [ 99%] stsci/tools/wcsutil.py s [100%] =================================== 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']" stsci/tools/tests/test_compmixin.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ stsci/tools/compmixin.py:33: in __lt__ return self._compare(other, lambda s,o: s < o) stsci/tools/tests/test_compmixin.py:30: in _compare return self._compare(other.val, method) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <stsci.tools.tests.test_compmixin.AnyType object at 0xffffb2dd8fc0> other = 0 method = <function ComparableMixin.__lt__.<locals>.<lambda> at 0xffffb2830040> 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' stsci/tools/tests/test_compmixin.py:44: TypeError =========================== short test summary info ============================ FAILED stsci/tools/tests/test_compmixin.py::test_AnyType - TypeError: int() a... ============= 1 failed, 191 passed, 14 skipped, 1 xfailed in 5.64s ============= E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_stsci.tools/build; python3.13 -m pytest --doctest-modules . I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_stsci.tools/build; python3.12 -m pytest --doctest-modules . ============================= test session starts ============================== platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 Running tests in .. Date: 2024-09-19T13:52:34 Platform: Linux-6.1.0-25-cloud-arm64-aarch64-with-glibc2.40 Executable: /usr/bin/python3.12 Full Python Version: 3.12.6 (main, Sep 7 2024, 14:20:15) [GCC 14.2.0] encodings: sys: utf-8, locale: UTF-8, filesystem: utf-8 byteorder: little float info: dig: 15, mant_dig: 15 Package versions: Numpy: 1.26.4 Scipy: not available Matplotlib: not available h5py: not available Pandas: not available Using Astropy options: remote_data: none. rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_stsci.tools/build configfile: pyproject.toml plugins: typeguard-4.3.0, arraydiff-0.6.1, cov-5.0.0, astropy-header-0.2.2, filter-subpackage-0.2.0, mock-3.14.0, hypothesis-6.112.0, remotedata-0.4.1, doctestplus-1.2.1, astropy-0.11.0 collected 207 items stsci/tools/asnutil.py s.. [ 1%] stsci/tools/bitmask.py .. [ 2%] stsci/tools/configobj.py s....s.. [ 6%] stsci/tools/convertgeis.py . [ 6%] stsci/tools/convertlog.py . [ 7%] stsci/tools/convertwaiveredfits.py . [ 7%] stsci/tools/fileutil.py s. [ 8%] stsci/tools/gfit.py . [ 9%] stsci/tools/irafutils.py . [ 9%] stsci/tools/linefit.py . [ 10%] stsci/tools/logutil.py . [ 10%] stsci/tools/readgeis.py . [ 11%] stsci/tools/swapgeis.py . [ 11%] stsci/tools/tests/test_bitmask.py ...................................... [ 29%] .............................. [ 44%] stsci/tools/tests/test_breadcrumb.py . [ 44%] stsci/tools/tests/test_cfgobj.py . [ 45%] stsci/tools/tests/test_check_files.py .... [ 47%] stsci/tools/tests/test_compmixin.py .... [ 49%] stsci/tools/tests/test_irafutils.py ............. [ 55%] stsci/tools/tests/test_isfits.py .. [ 56%] stsci/tools/tests/test_minmatch.py ................... [ 65%] stsci/tools/tests/test_mputil.py ....... [ 69%] stsci/tools/tests/test_stpyfits.py .................... [ 78%] stsci/tools/tests/test_tkrotext.py x [ 79%] stsci/tools/tests/test_xyinterp.py ....... [ 82%] stsci/tools/textutil.py . [ 83%] stsci/tools/validate.py s....ssssssss..................... [ 99%] stsci/tools/wcsutil.py s [100%] ================== 192 passed, 14 skipped, 1 xfailed in 5.61s ================== 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] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-09-19T13:52:39Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/794481/ 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

