>>> ostree-push: Building community/ostree-push 1.2.0-r0 (using abuild 3.15.0-r0) started Sun, 12 Oct 2025 07:00:55 +0000 >>> ostree-push: Validating /home/udu/aports/community/ostree-push/APKBUILD... >>> ostree-push: Analyzing dependencies... >>> ostree-push: Installing for build: build-base openssh-client ostree ostree-gir py3-gobject3 py3-yaml python3 cairo-dev py3-gobject3-dev py3-gpep517 py3-setuptools py3-wheel python3-dev pytest WARNING: opening /home/udu/packages//community: No such file or directory WARNING: opening /home/udu/packages//main: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz (1/130) Installing openssh-keygen (10.0_p1-r9) (2/130) Installing libedit (20250104.3.1-r1) (3/130) Installing openssh-client-common (10.0_p1-r9) (4/130) Installing openssh-client-default (10.0_p1-r9) (5/130) Installing lz4-libs (1.10.0-r0) (6/130) Installing libarchive (3.8.1-r0) (7/130) Installing fuse3-libs (3.16.2-r1) (8/130) Installing libeconf (0.6.3-r0) (9/130) Installing libblkid (2.41-r9) (10/130) Installing libmount (2.41-r9) (11/130) Installing glib (2.84.4-r0) (12/130) Installing libgpg-error (1.55-r0) (13/130) Installing libassuan (2.5.7-r0) (14/130) Installing pinentry (1.3.1-r0) Executing pinentry-1.3.1-r0.post-install (15/130) Installing libgcrypt (1.10.3-r1) (16/130) Installing gnupg-gpgconf (2.4.7-r0) (17/130) Installing nettle (3.10.1-r0) (18/130) Installing libtasn1 (4.20.0-r0) (19/130) Installing p11-kit (0.25.5-r2) (20/130) Installing gnutls (3.8.8-r0) (21/130) Installing libksba (1.6.7-r0) (22/130) Installing libsasl (2.1.28-r8) (23/130) Installing libldap (2.6.8-r0) (24/130) Installing npth (1.8-r0) (25/130) Installing gnupg-dirmngr (2.4.7-r0) (26/130) Installing gnupg-keyboxd (2.4.7-r0) (27/130) Installing gpg (2.4.7-r0) (28/130) Installing gpg-agent (2.4.7-r0) (29/130) Installing gpgsm (2.4.7-r0) (30/130) Installing gpgme (1.24.2-r1) (31/130) Installing ostree (2025.2-r0) (32/130) Installing gobject-introspection (1.84.0-r0) (33/130) Installing ostree-gir (2025.2-r0) (34/130) Upgrading python3 (3.12.11-r0 -> 3.12.12-r0) (35/130) Upgrading python3-pycache-pyc0 (3.12.11-r0 -> 3.12.12-r0) (36/130) Installing py3-gobject3-pyc (3.52.3-r1) (37/130) Upgrading python3-pyc (3.12.11-r0 -> 3.12.12-r0) (38/130) Installing libxau (1.0.12-r0) (39/130) Installing libmd (1.1.0-r0) (40/130) Installing libbsd (0.12.2-r0) (41/130) Installing libxdmcp (1.1.5-r1) (42/130) Installing libxcb (1.17.0-r0) (43/130) Installing libx11 (1.8.11-r0) (44/130) Installing libxext (1.3.6-r2) (45/130) Installing libxrender (0.9.12-r0) (46/130) Installing libpng (1.6.47-r0) (47/130) Installing freetype (2.13.3-r0) (48/130) Installing fontconfig (2.15.0-r3) (49/130) Installing pixman (0.46.4-r0) (50/130) Installing cairo (1.18.4-r0) (51/130) Installing cairo-gobject (1.18.4-r0) (52/130) Installing py3-gobject3 (3.52.3-r1) (53/130) Installing yaml (0.2.5-r2) (54/130) Installing py3-yaml (6.0.2-r0) (55/130) Installing py3-yaml-pyc (6.0.2-r0) (56/130) Installing cairo-tools (1.18.4-r0) (57/130) Installing expat (2.7.3-r0) (58/130) Installing expat-dev (2.7.3-r0) (59/130) Installing bzip2-dev (1.0.8-r6) (60/130) Installing brotli (1.1.0-r2) (61/130) Installing brotli-dev (1.1.0-r2) (62/130) Installing zlib-dev (1.3.1-r2) (63/130) Installing libpng-dev (1.6.47-r0) (64/130) Installing freetype-dev (2.13.3-r0) (65/130) Installing fontconfig-dev (2.15.0-r3) (66/130) Installing xorgproto (2024.1-r0) (67/130) Installing libxau-dev (1.0.12-r0) (68/130) Installing xcb-proto (1.17.0-r0) (69/130) Installing xcb-proto-pyc (1.17.0-r0) (70/130) Installing libxdmcp-dev (1.1.5-r1) (71/130) Installing libxcb-dev (1.17.0-r0) (72/130) Installing xtrans (1.5.2-r0) (73/130) Installing libx11-dev (1.8.11-r0) (74/130) Installing libxext-dev (1.3.6-r2) (75/130) Installing libxrender-dev (0.9.12-r0) (76/130) Installing pixman-dev (0.46.4-r0) (77/130) Installing util-macros (1.20.1-r0) (78/130) Installing xcb-util (0.4.1-r3) (79/130) Installing xcb-util-dev (0.4.1-r3) (80/130) Installing libxml2 (2.13.9-r0) (81/130) Installing libxml2-utils (2.13.9-r0) (82/130) Installing docbook-xml (4.5-r10) Executing docbook-xml-4.5-r10.post-install (83/130) Installing libxslt (1.1.43-r3) (84/130) Installing docbook-xsl-ns (1.79.2-r11) Executing docbook-xsl-ns-1.79.2-r11.post-install (85/130) Installing docbook-xsl-nons (1.79.2-r11) Executing docbook-xsl-nons-1.79.2-r11.post-install (86/130) Installing docbook-xsl (1.79.2-r11) (87/130) Installing xz (5.8.1-r0) (88/130) Installing gettext-asprintf (0.24.1-r0) (89/130) Installing gettext-libs (0.24.1-r0) (90/130) Installing gettext (0.24.1-r0) (91/130) Installing gettext-dev (0.24.1-r0) (92/130) Installing py3-parsing (3.2.3-r0) (93/130) Installing py3-parsing-pyc (3.2.3-r0) (94/130) Installing py3-packaging (25.0-r0) (95/130) Installing py3-packaging-pyc (25.0-r0) (96/130) Installing linux-headers (6.14.2-r0) (97/130) Installing libffi-dev (3.4.8-r0) (98/130) Installing bsd-compat-headers (0.7.2-r6) (99/130) Installing libedit-dev (20250104.3.1-r1) (100/130) Installing libpcre2-16 (10.43-r1) (101/130) Installing libpcre2-32 (10.43-r1) (102/130) Installing pcre2-dev (10.43-r1) (103/130) Installing libuuid (2.41-r9) (104/130) Installing libfdisk (2.41-r9) (105/130) Installing liblastlog2 (2.41-r9) (106/130) Installing libsmartcols (2.41-r9) (107/130) Installing sqlite (3.49.2-r1) (108/130) Installing sqlite-dev (3.49.2-r1) (109/130) Installing util-linux-dev (2.41-r9) (110/130) Installing glib-dev (2.84.4-r0) (111/130) Installing cairo-dev (1.18.4-r0) (112/130) Installing py3-gobject3-dev (3.52.3-r1) (113/130) Installing py3-installer (0.7.0-r2) (114/130) Installing py3-installer-pyc (0.7.0-r2) (115/130) Installing py3-gpep517 (19-r0) (116/130) Installing py3-gpep517-pyc (19-r0) (117/130) Installing py3-setuptools (80.9.0-r0) (118/130) Installing py3-setuptools-pyc (80.9.0-r0) (119/130) Installing py3-wheel (0.46.1-r0) (120/130) Installing py3-wheel-pyc (0.46.1-r0) (121/130) Installing python3-dev (3.12.12-r0) (122/130) Installing py3-iniconfig (2.1.0-r0) (123/130) Installing py3-iniconfig-pyc (2.1.0-r0) (124/130) Installing py3-pluggy (1.5.0-r0) (125/130) Installing py3-pluggy-pyc (1.5.0-r0) (126/130) Installing py3-py (1.11.0-r4) (127/130) Installing py3-py-pyc (1.11.0-r4) (128/130) Installing py3-pytest (8.3.5-r0) (129/130) Installing py3-pytest-pyc (8.3.5-r0) (130/130) Installing .makedepends-ostree-push (20251012.070056) Executing busybox-1.37.0-r19.trigger Executing glib-2.84.4-r0.trigger No schema files found: doing nothing. OK: 450 MiB in 216 packages >>> ostree-push: Cleaning up srcdir >>> ostree-push: Cleaning up pkgdir >>> ostree-push: Cleaning up tmpdir >>> ostree-push: Fetching ostree-push-v1.2.0.tar.gz::https://github.com/dbnicholson/ostree-push/archive/refs/tags/v1.2.0.tar.gz >>> ostree-push: Fetching ostree-push-v1.2.0.tar.gz::https://github.com/dbnicholson/ostree-push/archive/refs/tags/v1.2.0.tar.gz >>> ostree-push: Checking sha512sums... ostree-push-v1.2.0.tar.gz: OK >>> ostree-push: Unpacking /var/cache/distfiles/ostree-push-v1.2.0.tar.gz... 2025-10-12 07:00:58,674 gpep517 INFO Building wheel via backend setuptools.build_meta /usr/lib/python3.12/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() 2025-10-12 07:00:58,685 root INFO running bdist_wheel 2025-10-12 07:00:58,692 root INFO running build 2025-10-12 07:00:58,692 root INFO running build_py 2025-10-12 07:00:58,694 root INFO creating build/lib/otpush 2025-10-12 07:00:58,694 root INFO copying otpush/push.py -> build/lib/otpush 2025-10-12 07:00:58,694 root INFO copying otpush/receive_legacy.py -> build/lib/otpush 2025-10-12 07:00:58,695 root INFO copying otpush/__init__.py -> build/lib/otpush 2025-10-12 07:00:58,695 root INFO copying otpush/receive.py -> build/lib/otpush 2025-10-12 07:00:58,695 root INFO running build_scripts 2025-10-12 07:00:58,695 root INFO creating build/scripts-3.12 2025-10-12 07:00:58,695 root INFO copying and adjusting scripts/ostree-receive-shell -> build/scripts-3.12 2025-10-12 07:00:58,695 root INFO changing mode of build/scripts-3.12/ostree-receive-shell from 644 to 755 2025-10-12 07:00:58,698 root INFO installing to build/bdist.linux-x86_64/wheel 2025-10-12 07:00:58,698 root INFO running install 2025-10-12 07:00:58,703 root INFO running install_lib 2025-10-12 07:00:58,704 root INFO creating build/bdist.linux-x86_64/wheel 2025-10-12 07:00:58,704 root INFO creating build/bdist.linux-x86_64/wheel/otpush 2025-10-12 07:00:58,704 root INFO copying build/lib/otpush/push.py -> build/bdist.linux-x86_64/wheel/./otpush 2025-10-12 07:00:58,704 root INFO copying build/lib/otpush/receive_legacy.py -> build/bdist.linux-x86_64/wheel/./otpush 2025-10-12 07:00:58,705 root INFO copying build/lib/otpush/__init__.py -> build/bdist.linux-x86_64/wheel/./otpush 2025-10-12 07:00:58,705 root INFO copying build/lib/otpush/receive.py -> build/bdist.linux-x86_64/wheel/./otpush 2025-10-12 07:00:58,705 root INFO running install_egg_info 2025-10-12 07:00:58,706 root INFO running egg_info 2025-10-12 07:00:58,707 root INFO creating ostree_push.egg-info 2025-10-12 07:00:58,707 root INFO writing ostree_push.egg-info/PKG-INFO 2025-10-12 07:00:58,708 root INFO writing dependency_links to ostree_push.egg-info/dependency_links.txt 2025-10-12 07:00:58,708 root INFO writing entry points to ostree_push.egg-info/entry_points.txt 2025-10-12 07:00:58,708 root INFO writing requirements to ostree_push.egg-info/requires.txt 2025-10-12 07:00:58,708 root INFO writing top-level names to ostree_push.egg-info/top_level.txt 2025-10-12 07:00:58,708 root INFO writing manifest file 'ostree_push.egg-info/SOURCES.txt' 2025-10-12 07:00:58,709 root INFO reading manifest file 'ostree_push.egg-info/SOURCES.txt' 2025-10-12 07:00:58,710 root INFO reading manifest template 'MANIFEST.in' 2025-10-12 07:00:58,710 root INFO adding license file 'COPYING' 2025-10-12 07:00:58,710 root INFO writing manifest file 'ostree_push.egg-info/SOURCES.txt' 2025-10-12 07:00:58,711 root INFO Copying ostree_push.egg-info to build/bdist.linux-x86_64/wheel/./ostree_push-1.2.0-py3.12.egg-info 2025-10-12 07:00:58,711 root INFO running install_scripts 2025-10-12 07:00:58,711 root INFO creating build/bdist.linux-x86_64/wheel/ostree_push-1.2.0.data/scripts 2025-10-12 07:00:58,711 root INFO copying build/scripts-3.12/ostree-receive-shell -> build/bdist.linux-x86_64/wheel/ostree_push-1.2.0.data/scripts 2025-10-12 07:00:58,711 root INFO changing mode of build/bdist.linux-x86_64/wheel/ostree_push-1.2.0.data/scripts/ostree-receive-shell to 755 2025-10-12 07:00:58,712 root INFO creating build/bdist.linux-x86_64/wheel/ostree_push-1.2.0.dist-info/WHEEL 2025-10-12 07:00:58,712 wheel INFO creating '/home/udu/aports/community/ostree-push/src/ostree-push-1.2.0/.dist/.tmp-bsai_ol4/ostree_push-1.2.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it 2025-10-12 07:00:58,712 wheel INFO adding 'ostree_push-1.2.0.data/scripts/ostree-receive-shell' 2025-10-12 07:00:58,712 wheel INFO adding 'ostree_push-1.2.0.dist-info/licenses/COPYING' 2025-10-12 07:00:58,712 wheel INFO adding 'otpush/__init__.py' 2025-10-12 07:00:58,713 wheel INFO adding 'otpush/push.py' 2025-10-12 07:00:58,713 wheel INFO adding 'otpush/receive.py' 2025-10-12 07:00:58,713 wheel INFO adding 'otpush/receive_legacy.py' 2025-10-12 07:00:58,713 wheel INFO adding 'ostree_push-1.2.0.dist-info/METADATA' 2025-10-12 07:00:58,713 wheel INFO adding 'ostree_push-1.2.0.dist-info/WHEEL' 2025-10-12 07:00:58,713 wheel INFO adding 'ostree_push-1.2.0.dist-info/entry_points.txt' 2025-10-12 07:00:58,713 wheel INFO adding 'ostree_push-1.2.0.dist-info/top_level.txt' 2025-10-12 07:00:58,713 wheel INFO adding 'ostree_push-1.2.0.dist-info/RECORD' 2025-10-12 07:00:58,713 root INFO removing build/bdist.linux-x86_64/wheel 2025-10-12 07:00:58,713 gpep517 INFO The backend produced .dist/ostree_push-1.2.0-py3-none-any.whl ostree_push-1.2.0-py3-none-any.whl ============================================================================================================================================ test session starts ============================================================================================================================================= platform linux -- Python 3.12.12, pytest-8.3.5, pluggy-1.5.0 -- /home/udu/aports/community/ostree-push/src/ostree-push-1.2.0/.testenv/bin/python3 cachedir: .pytest_cache rootdir: /home/udu/aports/community/ostree-push/src/ostree-push-1.2.0 configfile: pytest.ini collecting ... collected 99 items tests/test_full.py::test_no_commits SKIPPED (OpenSSH sshd version 7.8+ required) [ 1%] tests/test_full.py::test_basic SKIPPED (OpenSSH sshd version 7.8+ required) [ 2%] tests/test_full.py::test_dry_run SKIPPED (OpenSSH sshd version 7.8+ required) [ 3%] tests/test_full.py::test_scp_dest SKIPPED (OpenSSH sshd version 7.8+ required) [ 4%] tests/test_full.py::test_command_abspath SKIPPED (OpenSSH sshd version 7.8+ required) [ 5%] tests/test_full.py::test_unversioned SKIPPED (OpenSSH sshd version 7.8+ required) [ 6%] tests/test_push.py::TestRepoServer::test_missing PASSED [ 7%] tests/test_push.py::TestRepoServer::test_non_context FAILED [ 8%] tests/test_push.py::TestRepoServer::test_context FAILED [ 9%] tests/test_push.py::TestRepoServer::test_pull FAILED [ 10%] tests/test_push.py::TestSSHMultiplexer::test_socket_exists SKIPPED (OpenSSH sshd version 7.8+ required) [ 11%] tests/test_push.py::TestSSHMultiplexer::test_master_non_context SKIPPED (OpenSSH sshd version 7.8+ required) [ 12%] tests/test_push.py::TestSSHMultiplexer::test_master_context SKIPPED (OpenSSH sshd version 7.8+ required) [ 13%] tests/test_push.py::TestSSHMultiplexer::test_forward_port SKIPPED (OpenSSH sshd version 7.8+ required) [ 14%] tests/test_push.py::TestSSHMultiplexer::test_run SKIPPED (OpenSSH sshd version 7.8+ required) [ 15%] tests/test_push.py::TestPushRefs::test_no_refs SKIPPED (OpenSSH sshd version 7.8+ required) [ 16%] tests/test_push.py::TestPushRefs::test_refs SKIPPED (OpenSSH sshd version 7.8+ required) [ 17%] tests/test_push.py::TestPushRefs::test_missing_ref SKIPPED (OpenSSH sshd version 7.8+ required) [ 18%] tests/test_push.py::TestPushRefs::test_summary SKIPPED (OpenSSH sshd version 7.8+ required) [ 19%] tests/test_push.py::TestPushRefs::test_dry_run SKIPPED (OpenSSH sshd version 7.8+ required) [ 20%] tests/test_push.py::TestPushRefs::test_commands SKIPPED (OpenSSH sshd version 7.8+ required) [ 21%] tests/test_push.py::TestParseDest::test_bad_scheme PASSED [ 22%] tests/test_push.py::TestParseDest::test_missing_repo PASSED [ 23%] tests/test_push.py::TestParseDest::test_empty_dest PASSED [ 24%] tests/test_push.py::TestParseDest::test_missing_host PASSED [ 25%] tests/test_push.py::TestParseDest::test_invalid_host PASSED [ 26%] tests/test_push.py::TestParseDest::test_invalid_port PASSED [ 27%] tests/test_push.py::TestParseDest::test_good_dest PASSED [ 28%] tests/test_push.py::TestArgParser::test_no_dest PASSED [ 29%] tests/test_push.py::TestArgParser::test_defaults PASSED [ 30%] tests/test_push.py::TestArgParser::test_dest PASSED [ 31%] tests/test_push.py::TestArgParser::test_refs PASSED [ 32%] tests/test_push.py::TestArgParser::test_port PASSED [ 33%] tests/test_push.py::TestArgParser::test_port_and_dest_port PASSED [ 34%] tests/test_push.py::TestArgParser::test_dry_run PASSED [ 35%] tests/test_push.py::TestArgParser::test_log_level PASSED [ 36%] tests/test_push.py::TestArgParser::test_repo PASSED [ 37%] tests/test_push.py::TestArgParser::test_commands PASSED [ 38%] tests/test_push.py::TestArgParser::test_ssh_options PASSED [ 39%] tests/test_receive.py::TestReceiveRepo::test_cleanup ERROR [ 40%] tests/test_receive.py::TestReceiveRepo::test_missing_repo PASSED [ 41%] tests/test_receive.py::TestReceiveRepo::test_get_commit_timestamp ERROR [ 42%] tests/test_receive.py::TestReceiveRepo::test_is_flatpak_repo ERROR [ 43%] tests/test_receive.py::TestReceiveRepo::test_pull_commits ERROR [ 44%] tests/test_receive.py::TestReceiveRepo::test_copy_commit ERROR [ 45%] tests/test_receive.py::TestReceiveRepo::test_receive ERROR [ 46%] tests/test_receive.py::TestReceiveRepo::test_receive_update ERROR [ 47%] tests/test_receive.py::TestReceiveRepo::test_receive_update_hook ERROR [ 48%] tests/test_receive.py::TestReceiveRepo::test_receive_gpg_sign ERROR [ 49%] tests/test_receive.py::TestReceiveRepo::test_receive_gpg_verify ERROR [ 50%] tests/test_receive.py::TestReceiveRepo::test_receive_ed25519_sign ERROR [ 51%] tests/test_receive.py::TestReceiveRepo::test_receive_ed25519_verify ERROR [ 52%] tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata ERROR [ 53%] tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_flatpak SKIPPED (flatpak required) [ 54%] tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_gpg_sign ERROR [ 55%] tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_ed25519_sign ERROR [ 56%] tests/test_receive.py::TestReceiveRepo::test_update_repo_hook ERROR [ 57%] tests/test_receive.py::TestReceiveRepo::test_receive_missing ERROR [ 58%] tests/test_receive.py::TestReceiveRepo::test_receive_specific ERROR [ 59%] tests/test_receive.py::TestReceiveRepo::test_receive_all ERROR [ 60%] tests/test_receive.py::TestReceiveRepo::test_receive_dry_run ERROR [ 61%] tests/test_receive.py::TestReceiveRepo::test_receive_force ERROR [ 62%] tests/test_receive.py::TestReceiver::test_default_config PASSED [ 63%] tests/test_receive.py::TestReceiver::test_receive ERROR [ 64%] tests/test_receive.py::TestRepoConfig::test_defaults PASSED [ 65%] tests/test_receive.py::TestRepoConfig::test_required PASSED [ 66%] tests/test_receive.py::TestConfig::test_defaults PASSED [ 67%] tests/test_receive.py::TestConfig::test_invalid PASSED [ 68%] tests/test_receive.py::TestConfig::test_default_paths PASSED [ 69%] tests/test_receive.py::TestConfig::test_load_valid PASSED [ 70%] tests/test_receive.py::TestConfig::test_load_none PASSED [ 71%] tests/test_receive.py::TestConfig::test_load_empty PASSED [ 72%] tests/test_receive.py::TestConfig::test_load_missing PASSED [ 73%] tests/test_receive.py::TestConfig::test_load_multiple PASSED [ 74%] tests/test_receive.py::TestConfig::test_load_unknown PASSED [ 75%] tests/test_receive.py::TestConfig::test_load_invalid PASSED [ 76%] tests/test_receive.py::TestConfig::test_load_env PASSED [ 77%] tests/test_receive.py::TestConfig::test_load_args PASSED [ 78%] tests/test_receive.py::TestConfig::test_load_args_invalid PASSED [ 79%] tests/test_receive.py::TestConfig::test_load_conf_and_args PASSED [ 80%] tests/test_receive.py::TestConfig::test_repo_config PASSED [ 81%] tests/test_receive.py::TestArgParser::test_no_repo PASSED [ 82%] tests/test_receive.py::TestArgParser::test_no_url PASSED [ 83%] tests/test_receive.py::TestArgParser::test_defaults PASSED [ 84%] tests/test_receive.py::TestArgParser::test_refs PASSED [ 85%] tests/test_receive.py::TestArgParser::test_update PASSED [ 86%] tests/test_receive.py::TestArgParser::test_dry_run PASSED [ 87%] tests/test_receive.py::TestArgParser::test_force PASSED [ 88%] tests/test_receive.py::TestArgParser::test_log_level PASSED [ 89%] tests/test_receive.py::test_compat_main PASSED [ 90%] tests/test_receive_legacy.py::test_noop ERROR [ 91%] tests/test_receive_legacy.py::test_update ERROR [ 92%] tests/test_receive_shell.py::test_command_args PASSED [ 93%] tests/test_receive_shell.py::test_auto_path PASSED [ 94%] tests/test_receive_shell.py::test_no_interactive PASSED [ 95%] tests/test_receive_shell.py::test_wrong_args PASSED [ 96%] tests/test_receive_shell.py::test_allowed_commands PASSED [ 97%] tests/test_receive_shell.py::test_exec_errors PASSED [ 98%] tests/test_sshd.py::test_basic SKIPPED (OpenSSH sshd version 7.8+ required) [100%] =================================================================================================================================================== ERRORS =================================================================================================================================================== _______________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_cleanup _______________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_cleanup0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_cleanup0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be0a3040 (GLocalFile at 0x7a39be9bb8b0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_get_commit_timestamp _________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_get_commit_timestamp0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_get_commit_timestamp0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39bdf6f540 (GLocalFile at 0x7a39be93cf40)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ___________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_is_flatpak_repo ___________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_is_flatpak_repo0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_is_flatpak_repo0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be089c80 (GLocalFile at 0x7a39be48e8c0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ____________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_pull_commits _____________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_pull_commits0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_pull_commits0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39bdf8d700 (GLocalFile at 0x7a39be48ea70)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error _____________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_copy_commit _____________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_copy_commit0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_copy_commit0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be095d00 (GLocalFile at 0x7a39be48ea10)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error _______________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive _______________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be887700 (GLocalFile at 0x7a39be48e9e0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ___________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_update ____________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_update0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_update0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be1c7900 (GLocalFile at 0x7a39be48e7a0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error _________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_update_hook _________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_update_hook0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_update_hook0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be189740 (GLocalFile at 0x7a39be48ea70)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error __________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_gpg_sign ___________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_gpg_sign0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_gpg_sign0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be3abfc0 (GLocalFile at 0x7a39be48e950)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error _________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_gpg_verify __________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_gpg_verify0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_gpg_verify0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be207a00 (GLocalFile at 0x7a39be48e920)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_ed25519_sign _________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_ed25519_sign0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_ed25519_sign0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be1fe380 (GLocalFile at 0x7a39be48e4d0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error _______________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_ed25519_verify ________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_ed25519_verify0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_ed25519_verify0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be140f40 (GLocalFile at 0x7a39be48e680)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_update_repo_metadata _________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_metadata0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_metadata0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be1b3100 (GLocalFile at 0x7a39be48e7a0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ____________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_update_repo_metadata_gpg_sign ____________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_metadata_gpg_0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_metadata_gpg_0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be23b6c0 (GLocalFile at 0x7a39be48e9e0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error __________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_update_repo_metadata_ed25519_sign __________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_metadata_ed250') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_metadata_ed250/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be3aac80 (GLocalFile at 0x7a39be48e3e0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error __________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_update_repo_hook ___________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_hook0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update_repo_hook0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be1e8740 (GLocalFile at 0x7a39be9bb970)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ___________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_missing ___________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_missing0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_missing0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be18a380 (GLocalFile at 0x7a39be48e350)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error __________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_specific ___________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_specific0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_specific0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be696880 (GLocalFile at 0x7a39be48e980)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error _____________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_all _____________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_all0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_all0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be397600 (GLocalFile at 0x7a39be48e650)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ___________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_dry_run ___________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_dry_run0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_dry_run0/dest-repo'), collection_id = 'com.example.Test', kwargs = {} repo_file = <__gi__.GLocalFile object at 0x7a39be1fd980 (GLocalFile at 0x7a39be48e770)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ____________________________________________________________________________________________________________________________ ERROR at setup of TestReceiveRepo.test_receive_force ____________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_force0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive_force0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be3e8dc0 (GLocalFile at 0x7a39be48e9e0)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ________________________________________________________________________________________________________________________________ ERROR at setup of TestReceiver.test_receive _________________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive1'), tmp_files_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive1/files') @pytest.fixture def source_repo(tmp_path, tmp_files_path): repo_path = tmp_path / 'source-repo' > repo = TmpRepo(repo_path, collection_id=None) tests/conftest.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_receive1/source-repo'), collection_id = None, kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be089200 (GLocalFile at 0x7a39be9bb970)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ________________________________________________________________________________________________________________________________________ ERROR at setup of test_noop _________________________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_noop0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_noop0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be149980 (GLocalFile at 0x7a39be9bb850)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error _______________________________________________________________________________________________________________________________________ ERROR at setup of test_update ________________________________________________________________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update0') @pytest.fixture def dest_repo(tmp_path): repo_path = tmp_path / 'dest-repo' > return TmpRepo(repo_path) tests/conftest.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_update0/dest-repo'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39bdf75ec0 (GLocalFile at 0x7a39be93cc10)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ================================================================================================================================================== FAILURES ================================================================================================================================================== ______________________________________________________________________________________________________________________________________ TestRepoServer.test_non_context _______________________________________________________________________________________________________________________________________ self = , tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_non_context0') def test_non_context(self, tmp_path): # Without context manager self.repo = tmp_path / 'repo' self.populate_repo() self.server = push.RepoServer(self.repo) assert self.server.path == self.repo assert self.server.proc is None assert self.server.address is None assert self.server.url is None # This should do nothing self.server.stop() # Make sure to clean up so the tests don't hang if there are failures try: > self.server.start() tests/test_push.py:75: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ otpush/push.py:136: in start addr_queue = multiprocessing.Queue() /usr/lib/python3.12/multiprocessing/context.py:103: in Queue return Queue(maxsize, ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError ________________________________________________________________________________________________________________________________________ TestRepoServer.test_context _________________________________________________________________________________________________________________________________________ self = , tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_context0') def test_context(self, tmp_path): self.repo = tmp_path / 'repo' self.populate_repo() > with push.RepoServer(self.repo) as self.server: tests/test_push.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ otpush/push.py:114: in __enter__ self.start() otpush/push.py:136: in start addr_queue = multiprocessing.Queue() /usr/lib/python3.12/multiprocessing/context.py:103: in Queue return Queue(maxsize, ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/queues.py:43: in __init__ self._rlock = ctx.Lock() /usr/lib/python3.12/multiprocessing/context.py:68: in Lock return Lock(ctx=self.get_context()) /usr/lib/python3.12/multiprocessing/synchronize.py:169: in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , kind = 1, value = 1, maxvalue = 1 def __init__(self, kind, value, maxvalue, *, ctx): if ctx is None: ctx = context._default_context.get_context() self._is_fork_ctx = ctx.get_start_method() == 'fork' unlink_now = sys.platform == 'win32' or self._is_fork_ctx for i in range(100): try: > sl = self._semlock = _multiprocessing.SemLock( kind, value, maxvalue, self._make_name(), unlink_now) E PermissionError: [Errno 13] Permission denied /usr/lib/python3.12/multiprocessing/synchronize.py:57: PermissionError __________________________________________________________________________________________________________________________________________ TestRepoServer.test_pull __________________________________________________________________________________________________________________________________________ self = , tmp_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_pull0'), tmp_files_path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_pull0/files') def test_pull(self, tmp_path, tmp_files_path): > local_repo = TmpRepo(tmp_path / 'local') tests/test_push.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , path = PosixPath('/tmp/pytest-of-udu/pytest-0/test_pull0/local'), collection_id = 'com.example.Test', kwargs = {}, repo_file = <__gi__.GLocalFile object at 0x7a39be313940 (GLocalFile at 0x7a39be9bba90)> def __init__(self, path, collection_id=COLLECTION_ID, **kwargs): self.path = path self.path.mkdir() repo_file = Gio.File.new_for_path(str(self.path)) super().__init__(path=repo_file, **kwargs) if collection_id: self.set_collection_id(collection_id) > self.create(OSTree.RepoMode.ARCHIVE) E gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) tests/util.py:184: Error ========================================================================================================================================== short test summary info =========================================================================================================================================== FAILED tests/test_push.py::TestRepoServer::test_non_context - PermissionError: [Errno 13] Permission denied FAILED tests/test_push.py::TestRepoServer::test_context - PermissionError: [Errno 13] Permission denied FAILED tests/test_push.py::TestRepoServer::test_pull - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_cleanup - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_get_commit_timestamp - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_is_flatpak_repo - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_pull_commits - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_copy_commit - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_update - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_update_hook - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_gpg_sign - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_gpg_verify - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_ed25519_sign - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_ed25519_verify - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_gpg_sign - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_ed25519_sign - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_update_repo_hook - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_missing - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_specific - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_all - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_dry_run - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiveRepo::test_receive_force - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive.py::TestReceiver::test_receive - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive_legacy.py::test_noop - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ERROR tests/test_receive_legacy.py::test_update - gi.repository.GLib.GError: g-file-error-quark: opening repo: Failed to open file “/proc/sys/kernel/random/boot_id”: No such file or directory (4) ============================================================================================================================ 3 failed, 53 passed, 19 skipped, 24 errors in 0.91s ============================================================================================================================= >>> ERROR: ostree-push: check failed >>> ostree-push: Uninstalling dependencies... (1/127) Purging .makedepends-ostree-push (20251012.070056) (2/127) Purging ostree (2025.2-r0) (3/127) Purging ostree-gir (2025.2-r0) (4/127) Purging py3-gobject3-pyc (3.52.3-r1) (5/127) Purging py3-gobject3 (3.52.3-r1) (6/127) Purging gobject-introspection (1.84.0-r0) (7/127) Purging py3-yaml-pyc (6.0.2-r0) (8/127) Purging py3-yaml (6.0.2-r0) (9/127) Purging cairo-dev (1.18.4-r0) (10/127) Purging cairo-tools (1.18.4-r0) (11/127) Purging xcb-util-dev (0.4.1-r3) (12/127) Purging util-macros (1.20.1-r0) (13/127) Purging xcb-util (0.4.1-r3) (14/127) Purging cairo-gobject (1.18.4-r0) (15/127) Purging cairo (1.18.4-r0) (16/127) Purging py3-gobject3-dev (3.52.3-r1) (17/127) Purging py3-gpep517-pyc (19-r0) (18/127) Purging py3-gpep517 (19-r0) (19/127) Purging py3-installer-pyc (0.7.0-r2) (20/127) Purging py3-installer (0.7.0-r2) (21/127) Purging py3-setuptools-pyc (80.9.0-r0) (22/127) Purging py3-setuptools (80.9.0-r0) (23/127) Purging py3-wheel-pyc (0.46.1-r0) (24/127) Purging py3-wheel (0.46.1-r0) (25/127) Purging python3-dev (3.12.12-r0) (26/127) Purging fontconfig-dev (2.15.0-r3) (27/127) Purging fontconfig (2.15.0-r3) (28/127) Purging freetype-dev (2.13.3-r0) (29/127) Purging freetype (2.13.3-r0) (30/127) Purging fuse3-libs (3.16.2-r1) (31/127) Purging glib-dev (2.84.4-r0) (32/127) Purging bzip2-dev (1.0.8-r6) (33/127) Purging docbook-xsl (1.79.2-r11) (34/127) Purging docbook-xsl-ns (1.79.2-r11) Executing docbook-xsl-ns-1.79.2-r11.pre-deinstall (35/127) Purging docbook-xsl-nons (1.79.2-r11) Executing docbook-xsl-nons-1.79.2-r11.pre-deinstall (36/127) Purging docbook-xml (4.5-r10) Executing docbook-xml-4.5-r10.pre-deinstall (37/127) Purging gettext-dev (0.24.1-r0) (38/127) Purging xz (5.8.1-r0) (39/127) Purging gettext-asprintf (0.24.1-r0) (40/127) Purging gettext (0.24.1-r0) (41/127) Purging libxml2-utils (2.13.9-r0) (42/127) Purging libxslt (1.1.43-r3) (43/127) Purging gpgme (1.24.2-r1) (44/127) Purging gpg (2.4.7-r0) (45/127) Purging gnupg-dirmngr (2.4.7-r0) (46/127) Purging gnupg-keyboxd (2.4.7-r0) (47/127) Purging gpg-agent (2.4.7-r0) (48/127) Purging gpgsm (2.4.7-r0) (49/127) Purging gnupg-gpgconf (2.4.7-r0) (50/127) Purging pinentry (1.3.1-r0) (51/127) Purging libarchive (3.8.1-r0) (52/127) Purging libassuan (2.5.7-r0) (53/127) Purging libffi-dev (3.4.8-r0) (54/127) Purging linux-headers (6.14.2-r0) (55/127) Purging libgcrypt (1.10.3-r1) (56/127) Purging libksba (1.6.7-r0) (57/127) Purging libldap (2.6.8-r0) (58/127) Purging libpng-dev (1.6.47-r0) (59/127) Purging libpng (1.6.47-r0) (60/127) Purging libsasl (2.1.28-r8) (61/127) Purging libxext-dev (1.3.6-r2) (62/127) Purging libxext (1.3.6-r2) (63/127) Purging libxml2 (2.13.9-r0) (64/127) Purging libxrender-dev (0.9.12-r0) (65/127) Purging libxrender (0.9.12-r0) (66/127) Purging lz4-libs (1.10.0-r0) (67/127) Purging npth (1.8-r0) (68/127) Purging openssh-client-default (10.0_p1-r9) (69/127) Purging openssh-keygen (10.0_p1-r9) (70/127) Purging openssh-client-common (10.0_p1-r9) (71/127) Purging pcre2-dev (10.43-r1) (72/127) Purging libedit-dev (20250104.3.1-r1) (73/127) Purging bsd-compat-headers (0.7.2-r6) (74/127) Purging libedit (20250104.3.1-r1) (75/127) Purging zlib-dev (1.3.1-r2) (76/127) Purging libpcre2-16 (10.43-r1) (77/127) Purging libpcre2-32 (10.43-r1) (78/127) Purging pixman-dev (0.46.4-r0) (79/127) Purging pixman (0.46.4-r0) (80/127) Purging py3-iniconfig-pyc (2.1.0-r0) (81/127) Purging py3-packaging-pyc (25.0-r0) (82/127) Purging py3-parsing-pyc (3.2.3-r0) (83/127) Purging py3-pluggy-pyc (1.5.0-r0) (84/127) Purging py3-py-pyc (1.11.0-r4) (85/127) Purging py3-pytest-pyc (8.3.5-r0) (86/127) Purging py3-pytest (8.3.5-r0) (87/127) Purging py3-iniconfig (2.1.0-r0) (88/127) Purging py3-packaging (25.0-r0) (89/127) Purging py3-parsing (3.2.3-r0) (90/127) Purging py3-pluggy (1.5.0-r0) (91/127) Purging py3-py (1.11.0-r4) (92/127) Purging util-linux-dev (2.41-r9) (93/127) Purging libfdisk (2.41-r9) (94/127) Purging liblastlog2 (2.41-r9) (95/127) Purging libsmartcols (2.41-r9) (96/127) Purging libuuid (2.41-r9) (97/127) Purging xcb-proto-pyc (1.17.0-r0) (98/127) Purging yaml (0.2.5-r2) (99/127) Purging brotli-dev (1.1.0-r2) (100/127) Purging brotli (1.1.0-r2) (101/127) Purging expat-dev (2.7.3-r0) (102/127) Purging expat (2.7.3-r0) (103/127) Purging gettext-libs (0.24.1-r0) (104/127) Purging glib (2.84.4-r0) (105/127) Purging gnutls (3.8.8-r0) (106/127) Purging libmount (2.41-r9) (107/127) Purging libblkid (2.41-r9) (108/127) Purging libx11-dev (1.8.11-r0) (109/127) Purging xtrans (1.5.2-r0) (110/127) Purging libx11 (1.8.11-r0) (111/127) Purging libxcb-dev (1.17.0-r0) (112/127) Purging xcb-proto (1.17.0-r0) (113/127) Purging libxcb (1.17.0-r0) (114/127) Purging libxdmcp-dev (1.1.5-r1) (115/127) Purging libxdmcp (1.1.5-r1) (116/127) Purging libbsd (0.12.2-r0) (117/127) Purging libeconf (0.6.3-r0) (118/127) Purging libgpg-error (1.55-r0) (119/127) Purging libmd (1.1.0-r0) (120/127) Purging p11-kit (0.25.5-r2) (121/127) Purging libtasn1 (4.20.0-r0) (122/127) Purging libxau-dev (1.0.12-r0) (123/127) Purging libxau (1.0.12-r0) (124/127) Purging nettle (3.10.1-r0) (125/127) Purging sqlite-dev (3.49.2-r1) (126/127) Purging sqlite (3.49.2-r1) (127/127) Purging xorgproto (2024.1-r0) Executing busybox-1.37.0-r19.trigger OK: 296 MiB in 89 packages