Summary
pyproject.toml declares requires-python = ">=3.9", but two unit tests on master use unittest.TestCase.assertNoLogs, which was added in Python 3.10 and is unavailable on Python 3.9.
Affected tests:
tests/unit/test_response_future.py::ResponseFutureTests::test_set_result_no_metadata_statement_adopts_metadata_changed
tests/unit/test_response_future.py::ResponseFutureTests::test_set_result_anomalous_metadata_id_warns_once_and_rearms
Observed behavior
Running these tests with Python 3.9.25 fails with:
AttributeError: 'ResponseFutureTests' object has no attribute 'assertNoLogs'
A direct runtime check also confirms:
hasattr(unittest.TestCase, "assertNoLogs") # False on Python 3.9.25
Expected behavior
The unit tests should run on the minimum supported Python version. Replace assertNoLogs with a Python 3.9-compatible logging assertion/helper. Consider adding minimum-version test coverage to prevent similar regressions.
Summary
pyproject.tomldeclaresrequires-python = ">=3.9", but two unit tests onmasteruseunittest.TestCase.assertNoLogs, which was added in Python 3.10 and is unavailable on Python 3.9.Affected tests:
tests/unit/test_response_future.py::ResponseFutureTests::test_set_result_no_metadata_statement_adopts_metadata_changedtests/unit/test_response_future.py::ResponseFutureTests::test_set_result_anomalous_metadata_id_warns_once_and_rearmsObserved behavior
Running these tests with Python 3.9.25 fails with:
A direct runtime check also confirms:
Expected behavior
The unit tests should run on the minimum supported Python version. Replace
assertNoLogswith a Python 3.9-compatible logging assertion/helper. Consider adding minimum-version test coverage to prevent similar regressions.