Qubes isolation provider contains Python >= 3.11 methods
Informational: The qubes isolation provider relies on code found in Python 3.11+, while the dev docs mention support for python 3.9:
============================================================== short test summary info ===============================================================
FAILED tests/isolation_provider/test_qubes.py::TestQubes::test_max_pages_server_enforcement - AttributeError: 'ZipFile' object has no attribute 'mkdir'
FAILED tests/isolation_provider/test_qubes.py::TestQubes::test_max_pages_client_enforcement - AttributeError: 'ZipFile' object has no attribute 'mkdir'
FAILED tests/isolation_provider/test_qubes.py::TestQubes::test_max_dimensions - AttributeError: 'ZipFile' object has no attribute 'mkdir'
========================================= 3 failed, 107 passed, 13 skipped, 2 warnings in 185.29s (0:03:05) ==========================================
make: *** [Makefile:45: test] Error 1
(dangerzone-py3.9) user@sd-dev:~/projects/dangerzone$ python3 --version
Python 3.9.2
Nice catch :-). I think we broke the Python 3.9 compatibility there because the Qubes templates we test against are Fedora 38-40, which have Python 3.11. I guess you tried to run Dangerzone on a Debian template, right?
If that's the case, we'll tackle this platform once we fix this issue as well: https://github.com/freedomofpress/dangerzone/issues/529. If SecureDrop workstation requires a Debian template, then I believe we should make it higher priority issue.
Sorry for the long pause - yeah my daily driver is Qubes and I was just poking around before contributing the PDF app prioritization pr last month. This isn't high priority :) [edit: really not high priority, since qubes 4.1, which supports debian bullseye, is almost EOL]