==> Building on glalie ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-libtmux ./ .SRCINFO 934 100% 0.00kB/s 0:00:00 934 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 50 100% 48.83kB/s 0:00:00 50 100% 48.83kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,686 100% 1.61MB/s 0:00:00 1,686 100% 1.61MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-libtmux-0.52.1-1.log 781 100% 762.70kB/s 0:00:00 781 100% 762.70kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,911 bytes received 190 bytes 2,067.33 bytes/sec total size is 3,894 speedup is 1.26 ==> Running pkgctl build --arch riscv64 --repo extra on remote host... ==> WARNING: unsupported architecture: riscv64 ==> Building python-libtmux  -> repo: extra  -> arch: riscv64  -> worker: felix-0 ==> Building python-libtmux for [extra] (riscv64) ]2;🔵 Container arch-nspawn-797845 on glalie.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-0]...done ==> Making package: python-libtmux 0.52.1-1 (Sun Dec 21 02:03:05 2025) ==> Retrieving sources...  -> Downloading libtmux-0.52.1.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 10217 0 10217 0 0 6336 0 --:--:-- 0:00:01 --:--:-- 6336 100 399k 0 399k 0 0 162k 0 --:--:-- 0:00:02 --:--:-- 462k ==> Validating source files with sha512sums... libtmux-0.52.1.tar.gz ... Passed ==> Validating source files with b2sums... libtmux-0.52.1.tar.gz ... Passed ]2;🔵 Container arch-nspawn-798864 on glalie.felixc.at\==> Making package: python-libtmux 0.52.1-1 (Sat Dec 20 18:03:30 2025) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (5) New Version Net Change Download Size extra/libutempter 1.2.3-1 0.02 MiB core/mpdecimal 4.0.1-1 0.31 MiB core/python 3.13.11-1 124.16 MiB extra/python-typing_extensions 4.15.0-1 0.49 MiB extra/tmux 3.5_a-1 1.00 MiB 0.47 MiB Total Download Size: 0.47 MiB Total Installed Size: 125.99 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... tmux-3.5_a-1-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-typing_extensions... installing libutempter... installing tmux... :: Running post-transaction hooks... (1/2) Creating temporary files... (2/2) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (16) New Version Net Change Download Size extra/python-editables 0.5-5 0.03 MiB extra/python-iniconfig 2.1.0-1 0.04 MiB extra/python-packaging 25.0-1 0.67 MiB extra/python-pathspec 0.12.1-3 0.23 MiB extra/python-pluggy 1.6.0-1 0.20 MiB extra/python-pygments 2.19.2-1 14.38 MiB extra/python-pyproject-hooks 1.2.0-3 0.10 MiB extra/python-trove-classifiers 2025.12.1.14-1 0.13 MiB core/procps-ng 4.0.5-3 2.38 MiB extra/python-build 1.3.0-1 0.20 MiB extra/python-hatchling 1.27.0-1 0.94 MiB extra/python-installer 0.7.0-10 0.17 MiB extra/python-pytest 1:8.4.2-1 4.18 MiB extra/python-pytest-mock 3.14.0-3 0.09 MiB 0.02 MiB extra/python-pytest-rerunfailures 16.1-1 0.12 MiB 0.03 MiB extra/python-wheel 0.45.1-1 0.28 MiB Total Download Size: 0.05 MiB Total Installed Size: 24.13 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-pytest-rerunfailures-16.1-1-any downloading... python-pytest-mock-3.14.0-3-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-editables... installing python-pathspec... installing python-pluggy... installing python-trove-classifiers... installing python-hatchling... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand installing python-iniconfig... installing python-pygments... installing python-pytest... installing python-pytest-mock... installing python-pytest-rerunfailures... Optional dependencies for python-pytest-rerunfailures python-pytest-xdist: for recovering from crashes installing procps-ng... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Retrieving sources...  -> Found libtmux-0.52.1.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting libtmux-0.52.1.tar.gz with bsdtar ==> Starting build()... * Building wheel... Successfully built libtmux-0.52.1-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.13.11, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-libtmux/src/libtmux-0.52.1 configfile: pyproject.toml plugins: libtmux-0.52.1, rerunfailures-16.1, mock-3.14.0 collecting ... collected 609 items / 1 deselected / 608 selected tests/_internal/test_query_list.py::test_filter[items0-None-expected_result0] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items1-filter_expr1-expected_result1] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items2-filter_expr2-expected_result2] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items3-filter_expr3-expected_result3] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items4-None-expected_result4] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items5-None-expected_result5] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items6-None-expected_result6] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items7-None-expected_result7] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items8-filter_expr8-expected_result8] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items9-filter_expr9-expected_result9] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items10-filter_expr10-expected_result10] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items11-filter_expr11-expected_result11] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items12-filter_expr12-expected_result12] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items13-filter_expr13-expected_result13] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items14-filter_expr14-expected_result14] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items15-filter_expr15-expected_result15] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items16-filter_expr16-expected_result16] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items17-filter_expr17-expected_result17] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items18-filter_expr18-expected_result18] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items19-filter_expr19-expected_result19] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items20-filter_expr20-expected_result20] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items21-filter_expr21-expected_result21] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items22-filter_expr22-expected_result22] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items23-filter_expr23-expected_result23] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items24-filter_expr24-expected_result24] PASSED [ 4%] tests/_internal/test_query_list.py::test_filter[items25-filter_expr25-expected_result25] PASSED [ 4%] tests/_internal/test_query_list.py::test_filter[items26-filter_expr26-expected_result26] PASSED [ 4%] tests/_internal/test_query_list.py::test_filter[items27-filter_expr27-expected_result27] PASSED [ 4%] tests/_internal/test_query_list.py::test_filter[items28-filter_expr28-expected_result28] PASSED [ 4%] tests/_internal/test_query_list.py::test_filter[items29-filter_expr29-expected_result29] PASSED [ 4%] tests/_internal/test_query_list.py::test_filter[items30-filter_expr30-expected_result30] PASSED [ 5%] tests/_internal/test_query_list.py::test_filter[items31-filter_expr31-expected_result31] PASSED [ 5%] tests/_internal/test_query_list.py::test_filter[items32-filter_expr32-expected_result32] PASSED [ 5%] tests/_internal/test_query_list.py::test_filter[items33-None-expected_result33] PASSED [ 5%] tests/_internal/test_query_list.py::test_filter[items34-filter_expr34-expected_result34] PASSED [ 5%] tests/_internal/test_query_list.py::test_filter[items35-filter_expr35-expected_result35] PASSED [ 5%] tests/_internal/test_query_list.py::test_filter[items36--expected_result36] PASSED [ 6%] tests/_internal/test_query_list.py::test_filter[items37--expected_result37] PASSED [ 6%] tests/legacy_api/test_common.py::test_allows_master_version PASSED [ 6%] tests/legacy_api/test_common.py::test_allows_next_version PASSED [ 6%] tests/legacy_api/test_common.py::test_get_version_openbsd PASSED [ 6%] tests/legacy_api/test_common.py::test_get_version_too_low PASSED [ 6%] tests/legacy_api/test_common.py::test_ignores_letter_versions PASSED [ 7%] tests/legacy_api/test_common.py::test_error_version_less_1_7 PASSED [ 7%] tests/legacy_api/test_common.py::test_has_version PASSED [ 7%] tests/legacy_api/test_common.py::test_has_gt_version PASSED [ 7%] tests/legacy_api/test_common.py::test_has_gte_version PASSED [ 7%] tests/legacy_api/test_common.py::test_has_lt_version PASSED [ 7%] tests/legacy_api/test_common.py::test_has_lte_version PASSED [ 8%] tests/legacy_api/test_common.py::test_tmux_cmd_raises_on_not_found PASSED [ 8%] tests/legacy_api/test_common.py::test_tmux_cmd_unicode PASSED [ 8%] tests/legacy_api/test_common.py::test_session_check_name[-True-empty] PASSED [ 8%] tests/legacy_api/test_common.py::test_session_check_name[None-True-empty] PASSED [ 8%] tests/legacy_api/test_common.py::test_session_check_name[my great session.-True-contains periods] PASSED [ 8%] tests/legacy_api/test_common.py::test_session_check_name[name: great session-True-contains colons] PASSED [ 9%] tests/legacy_api/test_common.py::test_session_check_name[new great session-False-None] PASSED [ 9%] tests/legacy_api/test_common.py::test_session_check_name[ajf8a3fa83fads,,,a-False-None] PASSED [ 9%] tests/legacy_api/test_common.py::test_get_libtmux_version PASSED [ 9%] tests/legacy_api/test_pane.py::test_resize_pane_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_pane.py::test_select_pane_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_pane.py::test_split_window_raises_deprecated_error PASSED [ 10%] tests/legacy_api/test_pane.py::test_pane_get_raises_deprecated_error PASSED [ 10%] tests/legacy_api/test_pane.py::test_pane_getitem_raises_deprecated_error PASSED [ 10%] tests/legacy_api/test_server.py::test_kill_server_raises_deprecated_error PASSED [ 10%] tests/legacy_api/test_server.py::test_server_get_by_id_raises_deprecated_error PASSED [ 10%] tests/legacy_api/test_server.py::test_server_where_raises_deprecated_error PASSED [ 10%] tests/legacy_api/test_server.py::test_server_find_where_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_server.py::test_server_list_sessions_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_server.py::test_server_children_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_server.py::test_server__sessions_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_server.py::test_server__list_sessions_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_server.py::test_server__list_windows_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_server.py::test_server__update_windows_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_server.py::test_server__list_panes_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_server.py::test_server__update_panes_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_session.py::test_attached_window_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_session.py::test_attached_pane_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_session.py::test_attach_session_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_session.py::test_kill_session_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_session.py::test_session_get_raises_deprecated_error PASSED [ 13%] tests/legacy_api/test_session.py::test_session_getitem_raises_deprecated_error PASSED [ 13%] tests/legacy_api/test_session.py::test_session_get_by_id_raises_deprecated_error PASSED [ 13%] tests/legacy_api/test_session.py::test_session_where_raises_deprecated_error PASSED [ 13%] tests/legacy_api/test_session.py::test_session_find_where_raises_deprecated_error PASSED [ 13%] tests/legacy_api/test_session.py::test_session_list_windows_raises_deprecated_error PASSED [ 13%] tests/legacy_api/test_session.py::test_session_children_raises_deprecated_error PASSED [ 14%] tests/legacy_api/test_session.py::test_session__windows_raises_deprecated_error PASSED [ 14%] tests/legacy_api/test_session.py::test_session__list_windows_raises_deprecated_error PASSED [ 14%] tests/legacy_api/test_tmuxobject.py::test_server_find_where_raises_deprecated_error PASSED [ 14%] tests/legacy_api/test_tmuxobject.py::test_session_find_where_raises_deprecated_error PASSED [ 14%] tests/legacy_api/test_tmuxobject.py::test_window_find_where_raises_deprecated_error PASSED [ 14%] tests/legacy_api/test_tmuxobject.py::test_server_where_raises_deprecated_error PASSED [ 15%] tests/legacy_api/test_tmuxobject.py::test_session_where_raises_deprecated_error PASSED [ 15%] tests/legacy_api/test_tmuxobject.py::test_window_where_raises_deprecated_error PASSED [ 15%] tests/legacy_api/test_tmuxobject.py::test_server_get_by_id_raises_deprecated_error PASSED [ 15%] tests/legacy_api/test_tmuxobject.py::test_session_get_by_id_raises_deprecated_error PASSED [ 15%] tests/legacy_api/test_tmuxobject.py::test_window_get_by_id_raises_deprecated_error PASSED [ 15%] tests/legacy_api/test_version.py::test_version[1] PASSED [ 16%] tests/legacy_api/test_version.py::test_version[1.0] PASSED [ 16%] tests/legacy_api/test_version.py::test_version[1.0.0] PASSED [ 16%] tests/legacy_api/test_version.py::test_version[1.0.0b] PASSED [ 16%] tests/legacy_api/test_version.py::test_version[1.0.0b1] PASSED [ 16%] tests/legacy_api/test_version.py::test_version[1.0.0b-openbsd] PASSED [ 16%] tests/legacy_api/test_version.py::test_version[1.0.0-next] PASSED [ 17%] tests/legacy_api/test_version.py::test_version[1.0.0-next.1] PASSED [ 17%] tests/legacy_api/test_version.py::test_version_compare[1-eq-1-False] PASSED [ 17%] tests/legacy_api/test_version.py::test_version_compare[1-eq-1.0-False] PASSED [ 17%] tests/legacy_api/test_version.py::test_version_compare[1-eq-1.0.0-False] PASSED [ 17%] tests/legacy_api/test_version.py::test_version_compare[1-gt-1.0.0a-False] PASSED [ 17%] tests/legacy_api/test_version.py::test_version_compare[1-gt-1.0.0b-False] PASSED [ 18%] tests/legacy_api/test_version.py::test_version_compare[1-lt-1.0.0p1-False] PASSED [ 18%] tests/legacy_api/test_version.py::test_version_compare[1-lt-1.0.0-openbsd-False] PASSED [ 18%] tests/legacy_api/test_version.py::test_version_compare[1-lt-1-AssertionError] PASSED [ 18%] tests/legacy_api/test_version.py::test_version_compare[1.0.0c-gt-1.0.0b-False] PASSED [ 18%] tests/legacy_api/test_window.py::test_split_window_raises_deprecated_error PASSED [ 18%] tests/legacy_api/test_window.py::test_attached_pane_raises_deprecated_error PASSED [ 19%] tests/legacy_api/test_window.py::test_select_window_raises_deprecated_error PASSED [ 19%] tests/legacy_api/test_window.py::test_kill_window_raises_deprecated_error PASSED [ 19%] tests/legacy_api/test_window.py::test_set_window_option_emits_deprecation_warning PASSED [ 19%] tests/legacy_api/test_window.py::test_show_window_options_emits_deprecation_warning PASSED [ 19%] tests/legacy_api/test_window.py::test_show_window_option_emits_deprecation_warning PASSED [ 19%] tests/legacy_api/test_window.py::test_window_get_raises_deprecated_error PASSED [ 20%] tests/legacy_api/test_window.py::test_window_getitem_raises_deprecated_error PASSED [ 20%] tests/legacy_api/test_window.py::test_window_get_by_id_raises_deprecated_error PASSED [ 20%] tests/legacy_api/test_window.py::test_window_where_raises_deprecated_error PASSED [ 20%] tests/legacy_api/test_window.py::test_window_find_where_raises_deprecated_error PASSED [ 20%] tests/legacy_api/test_window.py::test_window_list_panes_raises_deprecated_error PASSED [ 20%] tests/legacy_api/test_window.py::test_window_children_raises_deprecated_error PASSED [ 21%] tests/legacy_api/test_window.py::test_window__panes_raises_deprecated_error PASSED [ 21%] tests/legacy_api/test_window.py::test_window__list_panes_raises_deprecated_error PASSED [ 21%] tests/test/test_constants.py::test_test_session_prefix PASSED [ 21%] tests/test/test_constants.py::test_retry_timeout_seconds_default PASSED [ 21%] tests/test/test_constants.py::test_retry_timeout_seconds_env PASSED [ 21%] tests/test/test_constants.py::test_retry_interval_seconds_default PASSED [ 22%] tests/test/test_constants.py::test_retry_interval_seconds_env PASSED [ 22%] tests/test/test_environment.py::test_environment_var_guard_set PASSED [ 22%] tests/test/test_environment.py::test_environment_var_guard_unset PASSED [ 22%] tests/test/test_environment.py::test_environment_var_guard_context_manager PASSED [ 22%] tests/test/test_environment.py::test_environment_var_guard_cleanup_on_exception PASSED [ 22%] tests/test/test_environment.py::test_environment_var_guard_unset_and_reset PASSED [ 23%] tests/test/test_environment.py::test_environment_var_guard_exit_with_exception PASSED [ 23%] tests/test/test_environment.py::test_environment_var_guard_unset_previously_set PASSED [ 23%] tests/test/test_random.py::test_logger PASSED [ 23%] tests/test/test_random.py::test_random_str_sequence_default PASSED [ 23%] tests/test/test_random.py::test_random_str_sequence_custom_chars PASSED [ 23%] tests/test/test_random.py::test_random_str_sequence_uniqueness PASSED [ 24%] tests/test/test_random.py::test_random_str_sequence_iterator PASSED [ 24%] tests/test/test_random.py::test_random_str_sequence_doctest_examples PASSED [ 24%] tests/test/test_random.py::test_namer_global_instance PASSED [ 24%] tests/test/test_random.py::test_get_test_session_name_doctest_examples PASSED [ 24%] tests/test/test_random.py::test_get_test_session_name_default_prefix PASSED [ 24%] tests/test/test_random.py::test_get_test_session_name_custom_prefix PASSED [ 25%] tests/test/test_random.py::test_get_test_session_name_loop_behavior PASSED [ 25%] tests/test/test_random.py::test_get_test_window_name_doctest_examples PASSED [ 25%] tests/test/test_random.py::test_get_test_window_name_default_prefix PASSED [ 25%] tests/test/test_random.py::test_get_test_window_name_custom_prefix PASSED [ 25%] tests/test/test_random.py::test_get_test_window_name_loop_behavior PASSED [ 25%] tests/test/test_random.py::test_get_test_window_name_requires_prefix PASSED [ 25%] tests/test/test_random.py::test_random_str_sequence_self_type PASSED [ 26%] tests/test/test_random.py::test_random_str_sequence_small_character_set PASSED [ 26%] tests/test/test_random.py::test_random_str_sequence_insufficient_characters PASSED [ 26%] tests/test/test_random.py::test_logger_configured PASSED [ 26%] tests/test/test_random.py::test_next_method_directly PASSED [ 26%] tests/test/test_random.py::test_namer_initialization PASSED [ 26%] tests/test/test_random.py::test_random_str_sequence_iter_next_methods PASSED [ 27%] tests/test/test_random.py::test_collisions_with_real_objects PASSED [ 27%] tests/test/test_random.py::test_imports_coverage PASSED [ 27%] tests/test/test_random.py::test_iterator_protocol PASSED [ 27%] tests/test/test_random.py::test_get_test_session_name_collision_handling PASSED [ 27%] tests/test/test_random.py::test_get_test_window_name_null_prefix PASSED [ 27%] tests/test/test_random.py::test_import_typing_coverage PASSED [ 28%] tests/test/test_random.py::test_random_str_sequence_direct_instantiation PASSED [ 28%] tests/test/test_random.py::test_get_test_window_name_collision_handling PASSED [ 28%] tests/test/test_random.py::test_random_str_sequence_return_statements PASSED [ 28%] tests/test/test_random.py::test_get_test_session_name_implementation_details PASSED [ 28%] tests/test/test_random.py::test_get_test_window_name_branch_coverage PASSED [ 28%] tests/test/test_retry.py::test_retry_three_times PASSED [ 29%] tests/test/test_retry.py::test_function_times_out FAILED [ 29%] tests/test/test_retry.py::test_function_times_out_no_raise FAILED [ 29%] tests/test/test_retry.py::test_function_times_out_no_raise_assert FAILED [ 29%] tests/test/test_retry.py::test_retry_three_times_no_raise_assert PASSED [ 29%] tests/test/test_sparse_array.py::test_is_sparse_array_list[empty_dict] PASSED [ 29%] tests/test/test_sparse_array.py::test_is_sparse_array_list[sparse_arrays_only] PASSED [ 30%] tests/test/test_sparse_array.py::test_is_sparse_array_list[mixed_values] PASSED [ 30%] tests/test/test_sparse_array.py::test_is_sparse_array_list[strings_only] PASSED [ 30%] tests/test/test_sparse_array.py::test_is_sparse_array_list[none_value] PASSED [ 30%] tests/test/test_sparse_array.py::test_sparse_array_append[append_to_empty] PASSED [ 30%] tests/test/test_sparse_array.py::test_sparse_array_append[append_after_add] PASSED [ 30%] tests/test/test_sparse_array.py::test_sparse_array_append[multiple_appends] PASSED [ 31%] tests/test/test_sparse_array.py::test_sparse_array_iter_values[sorted_order] PASSED [ 31%] tests/test/test_sparse_array.py::test_sparse_array_iter_values[empty] PASSED [ 31%] tests/test/test_sparse_array.py::test_sparse_array_iter_values[consecutive] PASSED [ 31%] tests/test/test_sparse_array.py::test_sparse_array_as_list[sorted_order] PASSED [ 31%] tests/test/test_sparse_array.py::test_sparse_array_as_list[empty] PASSED [ 31%] tests/test/test_sparse_array.py::test_sparse_array_as_list[consecutive] PASSED [ 32%] tests/test/test_temporary.py::test_temp_session_creates_and_destroys PASSED [ 32%] tests/test/test_temporary.py::test_temp_session_with_name PASSED [ 32%] tests/test/test_temporary.py::test_temp_session_cleanup_on_exception PASSED [ 32%] tests/test/test_temporary.py::test_temp_window_creates_and_destroys PASSED [ 32%] tests/test/test_temporary.py::test_temp_window_with_name PASSED [ 32%] tests/test/test_temporary.py::test_temp_window_cleanup_on_exception PASSED [ 33%] tests/test/test_temporary.py::test_temp_session_outside_context PASSED [ 33%] tests/test/test_temporary.py::test_temp_window_outside_context PASSED [ 33%] tests/test_common.py::test_has_version PASSED [ 33%] tests/test_common.py::test_tmux_cmd_raises_on_not_found PASSED [ 33%] tests/test_common.py::test_tmux_cmd_unicode PASSED [ 33%] tests/test_common.py::test_session_check_name[empty_string] PASSED [ 34%] tests/test_common.py::test_session_check_name[none_value] PASSED [ 34%] tests/test_common.py::test_session_check_name[contains_period] PASSED [ 34%] tests/test_common.py::test_session_check_name[contains_colon] PASSED [ 34%] tests/test_common.py::test_session_check_name[valid_name] PASSED [ 34%] tests/test_common.py::test_session_check_name[valid_with_special_chars] PASSED [ 34%] tests/test_common.py::test_get_libtmux_version PASSED [ 35%] tests/test_common.py::test_version_comparison[gt_older_version] PASSED [ 35%] tests/test_common.py::test_version_comparison[gt_older_version_with_letter] PASSED [ 35%] tests/test_common.py::test_version_comparison[gt_newer_version] PASSED [ 35%] tests/test_common.py::test_version_comparison[gt_newer_version_with_letter] PASSED [ 35%] tests/test_common.py::test_version_comparison[gte_older_version] PASSED [ 35%] tests/test_common.py::test_version_comparison[gte_older_version_with_letter] PASSED [ 36%] tests/test_common.py::test_version_comparison[gte_current_version] PASSED [ 36%] tests/test_common.py::test_version_comparison[gte_newer_version] PASSED [ 36%] tests/test_common.py::test_version_comparison[gte_newer_version_with_letter] PASSED [ 36%] tests/test_common.py::test_version_comparison[lt_newer_version_with_letter] PASSED [ 36%] tests/test_common.py::test_version_comparison[lt_newer_version] PASSED [ 36%] tests/test_common.py::test_version_comparison[lt_older_version] PASSED [ 37%] tests/test_common.py::test_version_comparison[lt_current_version] PASSED [ 37%] tests/test_common.py::test_version_comparison[lte_newer_version_with_letter] PASSED [ 37%] tests/test_common.py::test_version_comparison[lte_newer_version] PASSED [ 37%] tests/test_common.py::test_version_comparison[lte_current_version] PASSED [ 37%] tests/test_common.py::test_version_comparison[lte_older_version] PASSED [ 37%] tests/test_common.py::test_version_comparison[lte_older_version_with_letter] PASSED [ 37%] tests/test_common.py::test_version_parsing[master_version] PASSED [ 38%] tests/test_common.py::test_version_parsing[next_version] PASSED [ 38%] tests/test_common.py::test_version_parsing[openbsd_version] PASSED [ 38%] tests/test_common.py::test_version_parsing[too_low_version] PASSED [ 38%] tests/test_common.py::test_version_validation[accepts_letter_in_min_version_1_9a] PASSED [ 38%] tests/test_common.py::test_version_validation[accepts_letter_in_min_version_1_8a] PASSED [ 38%] tests/test_common.py::test_version_validation[accepts_version_1_8] PASSED [ 39%] tests/test_common.py::test_version_validation[accepts_version_1_8a] PASSED [ 39%] tests/test_common.py::test_version_validation[accepts_version_1_9a] PASSED [ 39%] tests/test_common.py::test_version_validation[rejects_version_1_7] PASSED [ 39%] tests/test_common.py::test_version_validation[accepts_master_version] PASSED [ 39%] tests/test_common.py::test_version_validation[accepts_next_version] PASSED [ 39%] tests/test_common.py::test_version_validation[accepts_openbsd_version] PASSED [ 40%] tests/test_common.py::test_version_validation[accepts_dev_version] PASSED [ 40%] tests/test_common.py::test_version_validation[accepts_rc_version] PASSED [ 40%] tests/test_dataclasses.py::test_pane PASSED [ 40%] tests/test_dataclasses.py::test_querylist PASSED [ 40%] tests/test_hooks.py::test_hooks_raw_cmd PASSED [ 40%] tests/test_hooks.py::test_hooks_dataclass PASSED [ 41%] tests/test_hooks.py::test_hooks_mixin PASSED [ 41%] tests/test_hooks.py::test_hook_set_show_unset_cycle[alert_activity] PASSED [ 41%] tests/test_hooks.py::test_hook_set_show_unset_cycle[alert_bell] PASSED [ 41%] tests/test_hooks.py::test_hook_set_show_unset_cycle[alert_silence] PASSED [ 41%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_active] PASSED [ 41%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_attached] PASSED [ 42%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_detached] PASSED [ 42%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_focus_in] PASSED [ 42%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_focus_out] PASSED [ 42%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_resized] PASSED [ 42%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_session_changed] PASSED [ 42%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_created] PASSED [ 43%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_closed] PASSED [ 43%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_renamed] PASSED [ 43%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_linked] PASSED [ 43%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_renamed] PASSED [ 43%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_resized] PASSED [ 43%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_unlinked] PASSED [ 44%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_window_changed] PASSED [ 44%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_died] PASSED [ 44%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_exited] PASSED [ 44%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_focus_in] PASSED [ 44%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_focus_out] PASSED [ 44%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_mode_changed] PASSED [ 45%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_set_clipboard] PASSED [ 45%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_bind_key] PASSED [ 45%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_capture_pane] PASSED [ 45%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_copy_mode] PASSED [ 45%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_display_message] PASSED [ 45%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_display_panes] PASSED [ 46%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_kill_pane] PASSED [ 46%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_buffers] PASSED [ 46%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_clients] PASSED [ 46%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_keys] PASSED [ 46%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_panes] PASSED [ 46%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_sessions] PASSED [ 47%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_windows] PASSED [ 47%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_load_buffer] PASSED [ 47%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_lock_server] PASSED [ 47%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_new_session] PASSED [ 47%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_new_window] PASSED [ 47%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_paste_buffer] PASSED [ 48%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_pipe_pane] PASSED [ 48%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_queue] PASSED [ 48%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_refresh_client] PASSED [ 48%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_rename_session] PASSED [ 48%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_rename_window] PASSED [ 48%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_resize_pane] PASSED [ 49%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_resize_window] PASSED [ 49%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_save_buffer] PASSED [ 49%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_select_layout] PASSED [ 49%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_select_pane] PASSED [ 49%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_select_window] PASSED [ 49%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_send_keys] PASSED [ 50%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_buffer] PASSED [ 50%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_environment] PASSED [ 50%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_hook] PASSED [ 50%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_option] PASSED [ 50%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_show_environment] PASSED [ 50%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_show_messages] PASSED [ 50%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_show_options] PASSED [ 51%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_split_window] PASSED [ 51%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_unbind_key] PASSED [ 51%] tests/test_hooks.py::test_new_hooks_version_gated[pane_title_changed] PASSED [ 51%] tests/test_hooks.py::test_set_hooks[set_hooks_with_dict] PASSED [ 51%] tests/test_hooks.py::test_set_hooks[set_hooks_with_list] PASSED [ 51%] tests/test_hooks.py::test_set_hooks[set_hooks_clear_existing] PASSED [ 52%] tests/test_hooks.py::test_show_hook_returns_sparse_array PASSED [ 52%] tests/test_hooks.py::test_show_hook_indexed_lookup[index_zero-session-renamed-0-display-message 'test zero'] PASSED [ 52%] tests/test_hooks.py::test_show_hook_indexed_lookup[index_five-session-renamed-5-display-message 'test five'] PASSED [ 52%] tests/test_hooks.py::test_show_hook_indexed_lookup[window_hook-window-renamed-0-display-message 'window test'] PASSED [ 52%] tests/test_hooks.py::test_set_hooks_with_sparse_array PASSED [ 52%] tests/test_hooks.py::test_set_hooks_method_chaining PASSED [ 53%] tests/test_hooks.py::test_unset_hook_clears_all_indices PASSED [ 53%] tests/test_hooks.py::test_set_hook_append_flag PASSED [ 53%] tests/test_hooks.py::test_show_hooks_stores_string_values[string_hook_value] PASSED [ 53%] tests/test_hooks.py::test_show_hooks_stores_string_values[multiple_hooks] PASSED [ 53%] tests/test_hooks.py::test_run_hook_basic PASSED [ 53%] tests/test_hooks.py::test_set_hook_flag_combinations[append_to_existing] PASSED [ 54%] tests/test_hooks.py::test_set_hook_flag_combinations[global_hook] PASSED [ 54%] tests/test_hooks.py::test_set_hook_flag_combinations[run_immediately] PASSED [ 54%] tests/test_hooks.py::test_set_hook_flag_combinations[append_and_global] PASSED [ 54%] tests/test_hooks.py::test_hook_scope_handling[session_scope] PASSED [ 54%] tests/test_hooks.py::test_hook_scope_handling[window_scope] PASSED [ 54%] tests/test_hooks.py::test_hook_scope_handling[pane_scope] PASSED [ 55%] tests/test_hooks.py::test_show_hooks_parsing_edge_cases[normal_hook_value] PASSED [ 55%] tests/test_hooks.py::test_show_hooks_parsing_edge_cases[multiple_indexed_hooks] PASSED [ 55%] tests/test_hooks.py::test_show_hooks_parsing_edge_cases[multiple_different_hooks] PASSED [ 55%] tests/test_hooks.py::test_show_hooks_empty_result PASSED [ 55%] tests/test_options.py::test_options PASSED [ 55%] tests/test_options.py::test_options_server PASSED [ 56%] tests/test_options.py::test_options_session PASSED [ 56%] tests/test_options.py::test_options_window PASSED [ 56%] tests/test_options.py::test_options_pane PASSED [ 56%] tests/test_options.py::test_options_grid PASSED [ 56%] tests/test_options.py::test_custom_options PASSED [ 56%] tests/test_options.py::test_terminal_features PASSED [ 57%] tests/test_options.py::test_terminal_overrides PASSED [ 57%] tests/test_options.py::test_terminal_overrides_multi_feature[two_flags-xterm*:smcup@:rmcup@-xterm*-expected_features0] PASSED [ 57%] tests/test_options.py::test_terminal_overrides_multi_feature[flag_and_keyval-xterm*:XT:Ms=clipboard-xterm*-expected_features1] PASSED [ 57%] tests/test_options.py::test_terminal_overrides_multi_feature[multiple_keyvals-screen*:Tc:RGB:setab=test-screen*-expected_features2] PASSED [ 57%] tests/test_options.py::test_terminal_overrides_multi_feature[integer_value-tmux*:colors=256:Tc-tmux*-expected_features3] PASSED [ 57%] tests/test_options.py::test_command_alias PASSED [ 58%] tests/test_options.py::test_user_keys PASSED [ 58%] tests/test_options.py::test_mocked_cmd_stdoutclass_fixture[terminal-features] PASSED [ 58%] tests/test_options.py::test_mocked_cmd_stdoutclass_fixture[command-alias] PASSED [ 58%] tests/test_options.py::test_show_option_pane_fixture[terminal-features] PASSED [ 58%] tests/test_options.py::test_show_option_pane_fixture[command-alias] PASSED [ 58%] tests/test_options.py::test_stable_baseline_options_and_hooks PASSED [ 59%] tests/test_options.py::test_high_level_api_expectations PASSED [ 59%] tests/test_options.py::test_complex_option_values PASSED [ 59%] tests/test_options.py::test_style_option_validation PASSED [ 59%] tests/test_options.py::test_option_error_handling PASSED [ 59%] tests/test_options.py::test_terminal_features_edge_cases PASSED [ 59%] tests/test_options.py::test_option_set_show_cycle[server_buffer_limit] PASSED [ 60%] tests/test_options.py::test_option_set_show_cycle[server_escape_time] PASSED [ 60%] tests/test_options.py::test_option_set_show_cycle[server_message_limit] PASSED [ 60%] tests/test_options.py::test_option_set_show_cycle[server_prompt_history_limit] PASSED [ 60%] tests/test_options.py::test_option_set_show_cycle[server_exit_empty] PASSED [ 60%] tests/test_options.py::test_option_set_show_cycle[server_exit_unattached] PASSED [ 60%] tests/test_options.py::test_option_set_show_cycle[server_focus_events] PASSED [ 61%] tests/test_options.py::test_option_set_show_cycle[server_extended_keys] PASSED [ 61%] tests/test_options.py::test_option_set_show_cycle[server_set_clipboard] PASSED [ 61%] tests/test_options.py::test_option_set_show_cycle[server_default_terminal] PASSED [ 61%] tests/test_options.py::test_option_set_show_cycle[server_editor] PASSED [ 61%] tests/test_options.py::test_option_set_show_cycle[session_base_index] PASSED [ 61%] tests/test_options.py::test_option_set_show_cycle[session_display_panes_time] PASSED [ 62%] tests/test_options.py::test_option_set_show_cycle[session_display_time] PASSED [ 62%] tests/test_options.py::test_option_set_show_cycle[session_history_limit] PASSED [ 62%] tests/test_options.py::test_option_set_show_cycle[session_lock_after_time] PASSED [ 62%] tests/test_options.py::test_option_set_show_cycle[session_repeat_time] PASSED [ 62%] tests/test_options.py::test_option_set_show_cycle[session_status_interval] PASSED [ 62%] tests/test_options.py::test_option_set_show_cycle[session_status_left_length] PASSED [ 62%] tests/test_options.py::test_option_set_show_cycle[session_status_right_length] PASSED [ 63%] tests/test_options.py::test_option_set_show_cycle[session_destroy_unattached] PASSED [ 63%] tests/test_options.py::test_option_set_show_cycle[session_mouse] PASSED [ 63%] tests/test_options.py::test_option_set_show_cycle[session_renumber_windows] PASSED [ 63%] tests/test_options.py::test_option_set_show_cycle[session_set_titles] PASSED [ 63%] tests/test_options.py::test_option_set_show_cycle[session_activity_action] PASSED [ 63%] tests/test_options.py::test_option_set_show_cycle[session_bell_action] PASSED [ 64%] tests/test_options.py::test_option_set_show_cycle[session_detach_on_destroy] PASSED [ 64%] tests/test_options.py::test_option_set_show_cycle[session_silence_action] PASSED [ 64%] tests/test_options.py::test_option_set_show_cycle[session_status_keys] PASSED [ 64%] tests/test_options.py::test_option_set_show_cycle[session_status_justify] PASSED [ 64%] tests/test_options.py::test_option_set_show_cycle[session_status_position] PASSED [ 64%] tests/test_options.py::test_option_set_show_cycle[session_visual_activity] PASSED [ 65%] tests/test_options.py::test_option_set_show_cycle[session_visual_bell] PASSED [ 65%] tests/test_options.py::test_option_set_show_cycle[session_visual_silence] PASSED [ 65%] tests/test_options.py::test_option_set_show_cycle[session_default_command] PASSED [ 65%] tests/test_options.py::test_option_set_show_cycle[session_status_left] PASSED [ 65%] tests/test_options.py::test_option_set_show_cycle[session_status_right] PASSED [ 65%] tests/test_options.py::test_option_set_show_cycle[session_status_style] PASSED [ 66%] tests/test_options.py::test_option_set_show_cycle[session_status_left_style] PASSED [ 66%] tests/test_options.py::test_option_set_show_cycle[session_status_right_style] PASSED [ 66%] tests/test_options.py::test_option_set_show_cycle[session_message_style] PASSED [ 66%] tests/test_options.py::test_option_set_show_cycle[window_pane_base_index] PASSED [ 66%] tests/test_options.py::test_option_set_show_cycle[window_monitor_silence] PASSED [ 66%] tests/test_options.py::test_option_set_show_cycle[window_aggressive_resize] PASSED [ 67%] tests/test_options.py::test_option_set_show_cycle[window_automatic_rename] PASSED [ 67%] tests/test_options.py::test_option_set_show_cycle[window_monitor_activity] PASSED [ 67%] tests/test_options.py::test_option_set_show_cycle[window_monitor_bell] PASSED [ 67%] tests/test_options.py::test_option_set_show_cycle[window_wrap_search] PASSED [ 67%] tests/test_options.py::test_option_set_show_cycle[window_clock_mode_style] PASSED [ 67%] tests/test_options.py::test_option_set_show_cycle[window_mode_keys] PASSED [ 68%] tests/test_options.py::test_option_set_show_cycle[window_pane_border_status] PASSED [ 68%] tests/test_options.py::test_option_set_show_cycle[window_window_size] PASSED [ 68%] tests/test_options.py::test_option_set_show_cycle[window_pane_border_format] PASSED [ 68%] tests/test_options.py::test_option_set_show_cycle[window_mode_style] PASSED [ 68%] tests/test_options.py::test_option_set_show_cycle[window_pane_border_style] PASSED [ 68%] tests/test_options.py::test_option_set_show_cycle[window_pane_active_border_style] PASSED [ 69%] tests/test_options.py::test_option_set_show_cycle[window_window_status_style] PASSED [ 69%] tests/test_options.py::test_option_set_show_cycle[window_window_status_current_style] PASSED [ 69%] tests/test_options.py::test_option_set_show_cycle[pane_allow_rename] PASSED [ 69%] tests/test_options.py::test_option_set_show_cycle[pane_alternate_screen] PASSED [ 69%] tests/test_options.py::test_option_set_show_cycle[pane_scroll_on_clear] PASSED [ 69%] tests/test_options.py::test_option_set_show_cycle[pane_synchronize_panes] PASSED [ 70%] tests/test_options.py::test_option_set_show_cycle[pane_allow_passthrough] PASSED [ 70%] tests/test_options.py::test_option_set_show_cycle[pane_remain_on_exit] PASSED [ 70%] tests/test_options.py::test_option_set_show_cycle[pane_window_style] PASSED [ 70%] tests/test_options.py::test_option_set_show_cycle[pane_window_active_style] PASSED [ 70%] tests/test_options.py::test_show_options_returns_expected_keys[server_global] PASSED [ 70%] tests/test_options.py::test_show_options_returns_expected_keys[server_global_inherited] PASSED [ 71%] tests/test_options.py::test_show_options_returns_expected_keys[session_global] PASSED [ 71%] tests/test_options.py::test_show_options_returns_expected_keys[session_global_inherited] PASSED [ 71%] tests/test_options.py::test_show_options_returns_expected_keys[window_global] PASSED [ 71%] tests/test_options.py::test_show_options_returns_expected_keys[window_global_inherited] PASSED [ 71%] tests/test_options.py::test_convert_values_sparse_array[boolean_on_off] PASSED [ 71%] tests/test_options.py::test_convert_values_sparse_array[numeric_conversion] PASSED [ 72%] tests/test_options.py::test_convert_values_sparse_array[mixed_values] PASSED [ 72%] tests/test_options.py::test_convert_values_sparse_array[sparse_indices] PASSED [ 72%] tests/test_options.py::test_convert_values_preserves_sparse_keys PASSED [ 72%] tests/test_options.py::test_show_option_g_parameter_emits_deprecation_warning PASSED [ 72%] tests/test_options.py::test_show_option_indexed_array[indexed_returns_value] PASSED [ 72%] tests/test_options.py::test_show_option_indexed_array[base_name_returns_sparse_array] PASSED [ 73%] tests/test_options.py::test_explode_arrays_preserves_inherited_marker[inherited_array_marker_preserved] PASSED [ 73%] tests/test_options.py::test_explode_arrays_preserves_inherited_marker[non_inherited_array_no_marker] PASSED [ 73%] tests/test_options.py::test_explode_arrays_preserves_inherited_marker[mixed_inherited_indices] PASSED [ 73%] tests/test_pane.py::test_send_keys PASSED [ 73%] tests/test_pane.py::test_set_height PASSED [ 73%] tests/test_pane.py::test_set_width PASSED [ 74%] tests/test_pane.py::test_capture_pane PASSED [ 74%] tests/test_pane.py::test_capture_pane_end PASSED [ 74%] tests/test_pane.py::test_pane_split_window_zoom PASSED [ 74%] tests/test_pane.py::test_resize PASSED [ 74%] tests/test_pane.py::test_split_pane_size PASSED [ 74%] tests/test_pane.py::test_pane_context_manager PASSED [ 75%] tests/test_pane.py::test_split_start_directory[none_value] PASSED [ 75%] tests/test_pane.py::test_split_start_directory[empty_string] PASSED [ 75%] tests/test_pane.py::test_split_start_directory[user_path] PASSED [ 75%] tests/test_pane.py::test_split_start_directory[relative_path] PASSED [ 75%] tests/test_pane.py::test_split_start_directory_pathlib PASSED [ 75%] tests/test_pane_capture_pane.py::test_capture_pane_flags[basic_capture] PASSED [ 75%] tests/test_pane_capture_pane.py::test_capture_pane_flags[basic_multiline] PASSED [ 76%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_red] PASSED [ 76%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_green] PASSED [ 76%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_bold] PASSED [ 76%] tests/test_pane_capture_pane.py::test_capture_pane_flags[no_escape_sequences] PASSED [ 76%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_non_printable_basic] PASSED [ 76%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_non_printable_tab] PASSED [ 77%] tests/test_pane_capture_pane.py::test_capture_pane_flags[join_wrapped_long_line] PASSED [ 77%] tests/test_pane_capture_pane.py::test_capture_pane_flags[join_wrapped_numbers] PASSED [ 77%] tests/test_pane_capture_pane.py::test_capture_pane_flags[preserve_trailing_spaces] PASSED [ 77%] tests/test_pane_capture_pane.py::test_capture_pane_flags[no_preserve_trailing] PASSED [ 77%] tests/test_pane_capture_pane.py::test_capture_pane_flags[trim_trailing_basic] PASSED [ 77%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_with_join] PASSED [ 78%] tests/test_pane_capture_pane.py::test_capture_pane_flags[join_with_preserve_trailing] PASSED [ 78%] tests/test_pane_capture_pane.py::test_capture_pane_flags[all_flags_except_trim] PASSED [ 78%] tests/test_pane_capture_pane.py::test_capture_pane_backward_compatible PASSED [ 78%] tests/test_pane_capture_pane.py::test_capture_pane_start_end_with_flags PASSED [ 78%] tests/test_pane_capture_pane.py::test_capture_pane_trim_trailing_warning PASSED [ 78%] tests/test_pytest_plugin.py::test_plugin PASSED [ 79%] tests/test_pytest_plugin.py::test_test_server PASSED [ 79%] tests/test_pytest_plugin.py::test_test_server_with_config PASSED [ 79%] tests/test_pytest_plugin.py::test_test_server_cleanup PASSED [ 79%] tests/test_pytest_plugin.py::test_test_server_multiple PASSED [ 79%] tests/test_server.py::test_has_session PASSED [ 79%] tests/test_server.py::test_socket_name PASSED [ 80%] tests/test_server.py::test_socket_path PASSED [ 80%] tests/test_server.py::test_config PASSED [ 80%] tests/test_server.py::test_256_colors PASSED [ 80%] tests/test_server.py::test_88_colors PASSED [ 80%] tests/test_server.py::test_show_environment PASSED [ 80%] tests/test_server.py::test_getenv PASSED [ 81%] tests/test_server.py::test_show_environment_not_set PASSED [ 81%] tests/test_server.py::test_new_session PASSED [ 81%] tests/test_server.py::test_new_session_no_name PASSED [ 81%] tests/test_server.py::test_new_session_shell PASSED [ 81%] tests/test_server.py::test_new_session_shell_env PASSED [ 81%] tests/test_server.py::test_new_session_width_height SKIPPED (tmux 3.2 returns wrong width - test needs rework) [ 82%] tests/test_server.py::test_new_session_environmental_variables PASSED [ 82%] tests/test_server.py::test_no_server_sessions PASSED [ 82%] tests/test_server.py::test_no_server_attached_sessions PASSED [ 82%] tests/test_server.py::test_no_server_is_alive PASSED [ 82%] tests/test_server.py::test_with_server_is_alive PASSED [ 82%] tests/test_server.py::test_raise_if_dead_no_server_raises PASSED [ 83%] tests/test_server.py::test_raise_if_dead_does_not_raise_if_alive PASSED [ 83%] tests/test_server.py::test_on_init PASSED [ 83%] tests/test_server.py::test_socket_name_factory PASSED [ 83%] tests/test_server.py::test_socket_name_precedence PASSED [ 83%] tests/test_server.py::test_server_context_manager PASSED [ 83%] tests/test_server.py::test_new_session_start_directory[none_value] PASSED [ 84%] tests/test_server.py::test_new_session_start_directory[empty_string] PASSED [ 84%] tests/test_server.py::test_new_session_start_directory[user_path] PASSED [ 84%] tests/test_server.py::test_new_session_start_directory[relative_path] PASSED [ 84%] tests/test_server.py::test_new_session_start_directory_pathlib PASSED [ 84%] tests/test_session.py::test_has_session PASSED [ 84%] tests/test_session.py::test_select_window PASSED [ 85%] tests/test_session.py::test_select_window_returns_Window PASSED [ 85%] tests/test_session.py::test_active_window PASSED [ 85%] tests/test_session.py::test_active_pane PASSED [ 85%] tests/test_session.py::test_session_rename PASSED [ 85%] tests/test_session.py::test_new_session PASSED [ 85%] tests/test_session.py::test_show_options PASSED [ 86%] tests/test_session.py::test_set_show_options_single PASSED [ 86%] tests/test_session.py::test_set_show_option PASSED [ 86%] tests/test_session.py::test_empty_session_option_returns_None PASSED [ 86%] tests/test_session.py::test_show_option_unknown PASSED [ 86%] tests/test_session.py::test_show_option_ambiguous PASSED [ 86%] tests/test_session.py::test_set_option_ambiguous PASSED [ 87%] tests/test_session.py::test_set_option_invalid PASSED [ 87%] tests/test_session.py::test_show_environment PASSED [ 87%] tests/test_session.py::test_set_show_environment_single PASSED [ 87%] tests/test_session.py::test_show_environment_not_set PASSED [ 87%] tests/test_session.py::test_remove_environment PASSED [ 87%] tests/test_session.py::test_unset_environment PASSED [ 87%] tests/test_session.py::test_periods_raise_bad_session_name[period_in_name] PASSED [ 88%] tests/test_session.py::test_periods_raise_bad_session_name[colon_in_name] PASSED [ 88%] tests/test_session.py::test_periods_raise_bad_session_name[valid_name] PASSED [ 88%] tests/test_session.py::test_cmd_inserts_session_id PASSED [ 88%] tests/test_session.py::test_new_window_with_environment[single_env_var] PASSED [ 88%] tests/test_session.py::test_new_window_with_environment[multiple_env_vars] PASSED [ 88%] tests/test_session.py::test_session_new_window_with_direction PASSED [ 89%] tests/test_session.py::test_session_context_manager PASSED [ 89%] tests/test_session.py::test_new_window_start_directory[none_value] PASSED [ 89%] tests/test_session.py::test_new_window_start_directory[empty_string] PASSED [ 89%] tests/test_session.py::test_new_window_start_directory[user_path] PASSED [ 89%] tests/test_session.py::test_new_window_start_directory[relative_path] PASSED [ 89%] tests/test_session.py::test_new_window_start_directory_pathlib PASSED [ 90%] tests/test_tmuxobject.py::test_find_where PASSED [ 90%] tests/test_tmuxobject.py::test_find_where_None PASSED [ 90%] tests/test_tmuxobject.py::test_find_where_multiple_infos PASSED [ 90%] tests/test_tmuxobject.py::test_where PASSED [ 90%] tests/test_tmuxobject.py::test_filter PASSED [ 90%] tests/test_version.py::test_version[simple_version] PASSED [ 91%] tests/test_version.py::test_version[minor_version] PASSED [ 91%] tests/test_version.py::test_version[patch_version] PASSED [ 91%] tests/test_version.py::test_version[beta_version] PASSED [ 91%] tests/test_version.py::test_version[beta_with_number] PASSED [ 91%] tests/test_version.py::test_version[beta_with_os] PASSED [ 91%] tests/test_version.py::test_version[next_version] PASSED [ 92%] tests/test_version.py::test_version[next_with_number] PASSED [ 92%] tests/test_version.py::test_version_compare[equal_simple] PASSED [ 92%] tests/test_version.py::test_version_compare[equal_with_minor] PASSED [ 92%] tests/test_version.py::test_version_compare[equal_with_patch] PASSED [ 92%] tests/test_version.py::test_version_compare[greater_than_alpha] PASSED [ 92%] tests/test_version.py::test_version_compare[greater_than_beta] PASSED [ 93%] tests/test_version.py::test_version_compare[less_than_patch] PASSED [ 93%] tests/test_version.py::test_version_compare[less_than_openbsd] PASSED [ 93%] tests/test_version.py::test_version_compare[less_than_equal_raises] PASSED [ 93%] tests/test_version.py::test_version_compare[beta_to_rc_compare] PASSED [ 93%] tests/test_window.py::test_select_window PASSED [ 93%] tests/test_window.py::test_fresh_window_data PASSED [ 94%] tests/test_window.py::test_newest_pane_data PASSED [ 94%] tests/test_window.py::test_active_pane PASSED [ 94%] tests/test_window.py::test_split PASSED [ 94%] tests/test_window.py::test_split_shell PASSED [ 94%] tests/test_window.py::test_split_horizontal PASSED [ 94%] tests/test_window.py::test_split_size PASSED [ 95%] tests/test_window.py::test_window_rename[rename_with_spaces] PASSED [ 95%] tests/test_window.py::test_window_rename[rename_with_escapes] PASSED [ 95%] tests/test_window.py::test_kill_window PASSED [ 95%] tests/test_window.py::test_show_window_options PASSED [ 95%] tests/test_window.py::test_set_window_and_show_window_options PASSED [ 95%] tests/test_window.py::test_set_and_show_window_options PASSED [ 96%] tests/test_window.py::test_empty_window_option_returns_None PASSED [ 96%] tests/test_window.py::test_show_window_option PASSED [ 96%] tests/test_window.py::test_show_window_option_unknown PASSED [ 96%] tests/test_window.py::test_show_window_option_ambiguous PASSED [ 96%] tests/test_window.py::test_set_window_option_ambiguous PASSED [ 96%] tests/test_window.py::test_set_window_option_invalid PASSED [ 97%] tests/test_window.py::test_move_window PASSED [ 97%] tests/test_window.py::test_move_window_to_other_session PASSED [ 97%] tests/test_window.py::test_select_layout_accepts_no_arg PASSED [ 97%] tests/test_window.py::test_empty_window_name PASSED [ 97%] tests/test_window.py::test_split_with_environment[single_env_var] PASSED [ 97%] tests/test_window.py::test_split_with_environment[multiple_env_vars] PASSED [ 98%] tests/test_window.py::test_split_window_zoom PASSED [ 98%] tests/test_window.py::test_resize PASSED [ 98%] tests/test_window.py::test_new_window_with_direction PASSED [ 98%] tests/test_window.py::test_window_context_manager PASSED [ 98%] tests/test_window.py::test_split_start_directory[none_value] PASSED [ 98%] tests/test_window.py::test_split_start_directory[empty_string] PASSED [ 99%] tests/test_window.py::test_split_start_directory[user_path] PASSED [ 99%] tests/test_window.py::test_split_start_directory[relative_path] PASSED [ 99%] tests/test_window.py::test_split_start_directory_pathlib PASSED [ 99%] tests/test_window.py::test_deprecated_window_methods_emit_warning[set_window_option] PASSED [ 99%] tests/test_window.py::test_deprecated_window_methods_emit_warning[show_window_options] PASSED [ 99%] tests/test_window.py::test_deprecated_window_methods_emit_warning[show_window_option] PASSED [100%] =================================== FAILURES =================================== ___________________________ test_function_times_out ____________________________ def test_function_times_out() -> None: """Test time outs with retry_until().""" ini = time() def never_true() -> bool: sleep( 0.1, ) # Sleep for 0.1 seconds to simulate work (called ~10 times in 1 second) return False with pytest.raises(exc.WaitTimeout): retry_until(never_true, 1) end = time() > assert 0.9 <= (end - ini) <= 1.1 # Allow for small timing variations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E assert (1766253861.7979324 - 1766253860.6895854) <= 1.1 tests/test/test_retry.py:50: AssertionError _______________________ test_function_times_out_no_raise _______________________ def test_function_times_out_no_raise() -> None: """Tests retry_until() with exception raising disabled.""" ini = time() def never_true() -> bool: sleep( 0.1, ) # Sleep for 0.1 seconds to simulate work (called ~10 times in 1 second) return False retry_until(never_true, 1, raises=False) end = time() > assert 0.9 <= (end - ini) <= 1.1 # Allow for small timing variations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E assert (1766253862.9977925 - 1766253861.8873765) <= 1.1 tests/test/test_retry.py:66: AssertionError ___________________ test_function_times_out_no_raise_assert ____________________ def test_function_times_out_no_raise_assert() -> None: """Tests retry_until() with exception raising disabled, returning False.""" ini = time() def never_true() -> bool: sleep( 0.1, ) # Sleep for 0.1 seconds to simulate work (called ~10 times in 1 second) return False assert not retry_until(never_true, 1, raises=False) end = time() > assert 0.9 <= (end - ini) <= 1.1 # Allow for small timing variations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E assert (1766253864.14783 - 1766253863.025722) <= 1.1 tests/test/test_retry.py:82: AssertionError =========================== short test summary info ============================ FAILED tests/test/test_retry.py::test_function_times_out - assert (1766253861.7979324 - 1766253860.6895854) <= 1.1 FAILED tests/test/test_retry.py::test_function_times_out_no_raise - assert (1766253862.9977925 - 1766253861.8873765) <= 1.1 FAILED tests/test/test_retry.py::test_function_times_out_no_raise_assert - assert (1766253864.14783 - 1766253863.025722) <= 1.1 ====== 3 failed, 604 passed, 1 skipped, 1 deselected in 134.75s (0:02:14) ====== ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-0/build [?25h[?25h[?25hreceiving incremental file list python-libtmux-0.52.1-1-riscv64-build.log python-libtmux-0.52.1-1-riscv64-check.log sent 62 bytes received 6,975 bytes 2,010.57 bytes/sec total size is 56,050 speedup is 7.97