zeromq / pyzmq

PyZMQ: Python bindings for zeromq
http://zguide.zeromq.org/py:all
BSD 3-Clause "New" or "Revised" License
3.62k stars 635 forks source link

Don't fail when logging.Logger.warn is not available #1961

Closed hroncok closed 4 months ago

hroncok commented 4 months ago

Python 3.13 removed it.

See https://github.com/python/cpython/issues/105376

hroncok commented 4 months ago

For the record, this is the error this fixes:

==================================== ERRORS ====================================
_ ERROR collecting BUILDROOT/python-zmq-25.1.1-8.fc41.x86_64/usr/lib64/python3.13/site-packages/zmq/tests/test_log.py _
/usr/lib/python3.13/site-packages/_pytest/runner.py:341: in from_call
    result: Optional[TResult] = func()
/usr/lib/python3.13/site-packages/_pytest/runner.py:372: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/usr/lib/python3.13/site-packages/_pytest/python.py:531: in collect
    self._inject_setup_module_fixture()
/usr/lib/python3.13/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture
    self.obj, ("setUpModule", "setup_module")
/usr/lib/python3.13/site-packages/_pytest/python.py:310: in obj
    self._obj = obj = self._getobj()
/usr/lib/python3.13/site-packages/_pytest/python.py:528: in _getobj
    return self._importtestmodule()
/usr/lib/python3.13/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
/usr/lib/python3.13/site-packages/_pytest/pathlib.py:567: in import_path
    importlib.import_module(module_name)
/usr/lib64/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1387: in _gcd_import
    ???
<frozen importlib._bootstrap>:1360: in _find_and_load
    ???
<frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:935: in _load_unlocked
    ???
/usr/lib/python3.13/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
    exec(co, module.__dict__)
BUILDROOT/python-zmq-25.1.1-8.fc41.x86_64/usr/lib64/python3.13/site-packages/zmq/tests/test_log.py:9: in <module>
    from zmq.log import handlers
BUILDROOT/python-zmq-25.1.1-8.fc41.x86_64/usr/lib64/python3.13/site-packages/zmq/log/handlers.py:219: in <module>
    meth = getattr(logging.Logger, name)
E   AttributeError: type object 'Logger' has no attribute 'warn'
=============================== warnings summary ===============================
minrk commented 4 months ago

Thanks!

hroncok commented 4 months ago

Thanks for quick merge.