Hi Joseph,
I'm building s3ql on debian trixie, and I'm getting the following test
failure, any advice much appreciated! […]
Is this a persistent error? Re-running the tests multiple times, do you
always get the error?
We currently do not run tests with Python 3.13, and it looks like the
Python 3.13 "ssl" package has changes that we need to address.
But when I run the tests with Python 3.13 (on Ubuntu 24.04 with uv,
main-branch), I only get some warnings, not the error you get:
$ uv venv --python 3.13
$ source .venv/bin/activate
$ uv sync --extra dev
$ PYTHONTRACEMALLOC=20 py.test tests/t0_http.py
# […]
============== warnings summary ==============
t0_http.py::test_read_text[plain]
t0_http.py::test_read_text[ssl]
/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/unraisableexception.py:67:
PytestUnraisableExceptionWarning: Exception ignored in:
<_io.TextIOWrapper encoding='UTF-8'>
AttributeError: 'HTTPConnection' object has no attribute 'flush'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 157, in pytest_pyfunc_call
result = testfunction(**testargs)
AttributeError: 'HTTPConnection' object has no attribute 'close'. Did
you mean: 'closed'?
Object allocated at:
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/main.py", line 367
item.config.hook.pytest_runtest_protocol(item=item,
nextitem=nextitem)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 117
runtestprotocol(item, nextitem=nextitem)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 136
reports.append(call_and_report(item, "call", log))
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 245
call = CallInfo.from_call(
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 344
result: TResult | None = func()
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 246
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 178
item.runtest()
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 1671
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 157
result = testfunction(**testargs)
File "/s3ql-source/tests/t0_http.py", line 486
fh = TextIOWrapper(conn)
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
t0_http.py::test_read_text2[plain]
t0_http.py::test_read_text2[ssl]
/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/unraisableexception.py:67:
PytestUnraisableExceptionWarning: Exception ignored in:
<_io.TextIOWrapper encoding='UTF-8'>
AttributeError: 'HTTPConnection' object has no attribute 'flush'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 157, in pytest_pyfunc_call
result = testfunction(**testargs)
AttributeError: 'HTTPConnection' object has no attribute 'close'. Did
you mean: 'closed'?
Object allocated at:
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/main.py", line 367
item.config.hook.pytest_runtest_protocol(item=item,
nextitem=nextitem)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 117
runtestprotocol(item, nextitem=nextitem)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 136
reports.append(call_and_report(item, "call", log))
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 245
call = CallInfo.from_call(
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 344
result: TResult | None = func()
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 246
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 178
item.runtest()
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 1671
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 157
result = testfunction(**testargs)
File "/s3ql-source/tests/t0_http.py", line 494
fh = TextIOWrapper(conn)
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
t0_http.py::test_read_text3[plain]
t0_http.py::test_read_text3[ssl]
/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/unraisableexception.py:67:
PytestUnraisableExceptionWarning: Exception ignored in:
<_io.TextIOWrapper encoding='UTF-8'>
AttributeError: 'HTTPConnection' object has no attribute 'flush'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 157, in pytest_pyfunc_call
result = testfunction(**testargs)
AttributeError: 'HTTPConnection' object has no attribute 'close'. Did
you mean: 'closed'?
Object allocated at:
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/main.py", line 367
item.config.hook.pytest_runtest_protocol(item=item,
nextitem=nextitem)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 117
runtestprotocol(item, nextitem=nextitem)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 136
reports.append(call_and_report(item, "call", log))
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 245
call = CallInfo.from_call(
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 344
result: TResult | None = func()
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 246
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/runner.py",
line 178
item.runtest()
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 1671
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 512
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_manager.py",
line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/pluggy/_callers.py",
line 121
res = hook_impl.function(*args)
File
"/s3ql-source/.venv/lib/python3.13/site-packages/_pytest/python.py",
line 157
result = testfunction(**testargs)
File "/s3ql-source/tests/t0_http.py", line 503
fh = TextIOWrapper(conn)
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
Until we address Python 3.13 compatibility issues, you might want to
install S3QL inside a venv with Python 3.12.
--
You received this message because you are subscribed to the Google Groups
"s3ql" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/s3ql/c533813d-1dd5-460b-8de3-9659dd18849e%40jagszent.de.