==> Building on infernape ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 700 74% 0.00kB/s 0:00:00 934 100% 228.52kB/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 700 35% 683.59kB/s 0:00:00 1,980 100% 1.89MB/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.62.0-1.log 696 100% 679.69kB/s 0:00:00 696 100% 679.69kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ sent 818 bytes received 204 bytes 408.80 bytes/sec total size is 4,191 speedup is 4.10 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-libtmux -> repo: extra -> arch: riscv64 -> worker: felix-1 ==> Building python-libtmux for [extra] (riscv64) Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. [?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-1]...done ==> Making package: python-libtmux 0.62.0-1 (Sat Aug 29 14:12:01 2026) ==> Retrieving sources...  -> Found libtmux-0.62.0.tar.gz ==> Validating source files with sha512sums... libtmux-0.62.0.tar.gz ... Passed ==> Validating source files with b2sums... libtmux-0.62.0.tar.gz ... Passed Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ==> Making package: python-libtmux 0.62.0-1 (Sat Aug 29 06:12:20 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (3) New Version Net Change extra/libutempter 1.2.3-1 0.02 MiB extra/python-typing_extensions 4.16.0-1 0.53 MiB extra/tmux 3.7_c-1 1.18 MiB Total Installed Size: 1.73 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... 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.6-1 0.04 MiB extra/python-iniconfig 2.3.0-1 0.07 MiB extra/python-packaging 26.3-1 1.58 MiB extra/python-pathspec 1.1.1-1 0.47 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pygments 2.20.0-1 15.36 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-trove-classifiers 2026.6.1.19-1 0.16 MiB core/procps-ng 4.0.7-1 2.56 MiB extra/python-build 1.4.3-1 0.26 MiB extra/python-hatchling 1.30.1-1 1.09 MiB 0.16 MiB extra/python-installer 1.0.0-1 0.20 MiB extra/python-pytest 1:9.0.3-1 4.86 MiB extra/python-pytest-mock 3.14.1-1 0.11 MiB extra/python-pytest-rerunfailures 16.6-1 0.19 MiB extra/python-wheel 0.46.3-1 0.31 MiB Total Download Size: 0.16 MiB Total Installed Size: 27.60 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-hatchling-1.30.1-1-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... Optional dependencies for python-pathspec python-google-re2: re2 backend 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.62.0.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting libtmux-0.62.0.tar.gz with bsdtar ==> Starting build()... * Building wheel... Successfully built libtmux-0.62.0-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.0.3, pluggy-1.6.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-libtmux/src/libtmux-0.62.0 configfile: pyproject.toml plugins: libtmux-0.62.0, mock-3.14.1, rerunfailures-16.6 collecting ... collected 1062 items / 10 deselected / 1052 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 [ 0%] tests/_internal/test_query_list.py::test_filter[items7-None-expected_result7] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items8-filter_expr8-expected_result8] PASSED [ 0%] tests/_internal/test_query_list.py::test_filter[items9-filter_expr9-expected_result9] PASSED [ 0%] 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 [ 1%] tests/_internal/test_query_list.py::test_filter[items13-filter_expr13-expected_result13] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items14-filter_expr14-expected_result14] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items15-filter_expr15-expected_result15] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items16-filter_expr16-expected_result16] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items17-filter_expr17-expected_result17] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items18-filter_expr18-expected_result18] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items19-filter_expr19-expected_result19] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items20-filter_expr20-expected_result20] PASSED [ 1%] tests/_internal/test_query_list.py::test_filter[items21-filter_expr21-expected_result21] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items22-filter_expr22-expected_result22] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items23-filter_expr23-expected_result23] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items24-filter_expr24-expected_result24] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items25-filter_expr25-expected_result25] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items26-filter_expr26-expected_result26] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items27-filter_expr27-expected_result27] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items28-filter_expr28-expected_result28] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items29-filter_expr29-expected_result29] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items30-filter_expr30-expected_result30] PASSED [ 2%] tests/_internal/test_query_list.py::test_filter[items31-filter_expr31-expected_result31] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items32-filter_expr32-expected_result32] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items33-None-expected_result33] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items34-filter_expr34-expected_result34] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items35-filter_expr35-expected_result35] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items36-filter_expr36-expected_result36] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items37--expected_result37] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items38--expected_result38] PASSED [ 3%] tests/_internal/test_query_list.py::test_filter[items39--expected_result39] PASSED [ 3%] tests/_internal/test_query_list.py::test_get_multiple_objects_exposes_ambiguity_data PASSED [ 3%] tests/_internal/test_query_list.py::test_query_exception_annotations_resolve PASSED [ 3%] tests/_internal/test_query_list.py::test_get_default_with_broad_eq_is_returned PASSED [ 4%] tests/_internal/test_query_list.py::test_object_does_not_exist_exposes_query PASSED [ 4%] tests/legacy_api/test_common.py::test_allows_master_version PASSED [ 4%] tests/legacy_api/test_common.py::test_allows_next_version PASSED [ 4%] tests/legacy_api/test_common.py::test_get_version_openbsd PASSED [ 4%] tests/legacy_api/test_common.py::test_get_version_too_low PASSED [ 4%] tests/legacy_api/test_common.py::test_ignores_letter_versions PASSED [ 4%] tests/legacy_api/test_common.py::test_error_version_less_1_7 PASSED [ 4%] tests/legacy_api/test_common.py::test_has_version PASSED [ 4%] tests/legacy_api/test_common.py::test_has_gt_version PASSED [ 4%] tests/legacy_api/test_common.py::test_has_gte_version PASSED [ 5%] tests/legacy_api/test_common.py::test_has_lt_version PASSED [ 5%] tests/legacy_api/test_common.py::test_has_lte_version PASSED [ 5%] tests/legacy_api/test_common.py::test_tmux_cmd_raises_on_not_found PASSED [ 5%] tests/legacy_api/test_common.py::test_tmux_cmd_unicode PASSED [ 5%] tests/legacy_api/test_common.py::test_session_check_name[-True-empty] PASSED [ 5%] tests/legacy_api/test_common.py::test_session_check_name[None-True-empty] PASSED [ 5%] tests/legacy_api/test_common.py::test_session_check_name[my great session.-True-contains periods] PASSED [ 5%] tests/legacy_api/test_common.py::test_session_check_name[name: great session-True-contains colons] PASSED [ 5%] tests/legacy_api/test_common.py::test_session_check_name[new great session-False-None] PASSED [ 5%] tests/legacy_api/test_common.py::test_session_check_name[ajf8a3fa83fads,,,a-False-None] PASSED [ 5%] tests/legacy_api/test_common.py::test_get_libtmux_version PASSED [ 6%] tests/legacy_api/test_pane.py::test_resize_pane_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_pane.py::test_select_pane_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_pane.py::test_split_window_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_pane.py::test_pane_get_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_pane.py::test_pane_getitem_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_server.py::test_kill_server_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_server.py::test_server_get_by_id_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_server.py::test_server_where_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_server.py::test_server_find_where_raises_deprecated_error PASSED [ 6%] tests/legacy_api/test_server.py::test_server_list_sessions_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_server.py::test_server_children_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_server.py::test_server__sessions_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_server.py::test_server__list_sessions_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_server.py::test_server__list_windows_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_server.py::test_server__update_windows_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_server.py::test_server__list_panes_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_server.py::test_server__update_panes_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_session.py::test_attached_window_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_session.py::test_attached_pane_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_session.py::test_attach_session_raises_deprecated_error PASSED [ 7%] tests/legacy_api/test_session.py::test_kill_session_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session_get_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session_getitem_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session_get_by_id_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session_where_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session_find_where_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session_list_windows_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session_children_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session__windows_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_session.py::test_session__list_windows_raises_deprecated_error PASSED [ 8%] tests/legacy_api/test_tmuxobject.py::test_server_find_where_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_session_find_where_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_window_find_where_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_server_where_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_session_where_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_window_where_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_server_get_by_id_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_session_get_by_id_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_tmuxobject.py::test_window_get_by_id_raises_deprecated_error PASSED [ 9%] tests/legacy_api/test_version.py::test_version[1] PASSED [ 9%] tests/legacy_api/test_version.py::test_version[1.0] PASSED [ 9%] tests/legacy_api/test_version.py::test_version[1.0.0] PASSED [ 10%] tests/legacy_api/test_version.py::test_version[1.0.0b] PASSED [ 10%] tests/legacy_api/test_version.py::test_version[1.0.0b1] PASSED [ 10%] tests/legacy_api/test_version.py::test_version[1.0.0b-openbsd] PASSED [ 10%] tests/legacy_api/test_version.py::test_version[1.0.0-next] PASSED [ 10%] tests/legacy_api/test_version.py::test_version[1.0.0-next.1] PASSED [ 10%] tests/legacy_api/test_version.py::test_version_compare[1-eq-1-False] PASSED [ 10%] tests/legacy_api/test_version.py::test_version_compare[1-eq-1.0-False] PASSED [ 10%] tests/legacy_api/test_version.py::test_version_compare[1-eq-1.0.0-False] PASSED [ 10%] tests/legacy_api/test_version.py::test_version_compare[1-gt-1.0.0a-False] PASSED [ 10%] tests/legacy_api/test_version.py::test_version_compare[1-gt-1.0.0b-False] PASSED [ 11%] tests/legacy_api/test_version.py::test_version_compare[1-lt-1.0.0p1-False] PASSED [ 11%] tests/legacy_api/test_version.py::test_version_compare[1-lt-1.0.0-openbsd-False] PASSED [ 11%] tests/legacy_api/test_version.py::test_version_compare[1-lt-1-AssertionError] PASSED [ 11%] tests/legacy_api/test_version.py::test_version_compare[1.0.0c-gt-1.0.0b-False] PASSED [ 11%] tests/legacy_api/test_window.py::test_split_window_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_window.py::test_attached_pane_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_window.py::test_select_window_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_window.py::test_kill_window_raises_deprecated_error PASSED [ 11%] tests/legacy_api/test_window.py::test_set_window_option_emits_deprecation_warning PASSED [ 11%] tests/legacy_api/test_window.py::test_show_window_options_emits_deprecation_warning PASSED [ 11%] tests/legacy_api/test_window.py::test_show_window_option_emits_deprecation_warning PASSED [ 12%] tests/legacy_api/test_window.py::test_window_get_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window_getitem_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window_get_by_id_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window_where_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window_find_where_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window_list_panes_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window_children_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window__panes_raises_deprecated_error PASSED [ 12%] tests/legacy_api/test_window.py::test_window__list_panes_raises_deprecated_error PASSED [ 12%] tests/test/test_constants.py::test_test_session_prefix PASSED [ 13%] tests/test/test_constants.py::test_retry_timeout_seconds_default PASSED [ 13%] tests/test/test_constants.py::test_retry_timeout_seconds_env PASSED [ 13%] tests/test/test_constants.py::test_retry_interval_seconds_default PASSED [ 13%] tests/test/test_constants.py::test_retry_interval_seconds_env PASSED [ 13%] tests/test/test_environment.py::test_environment_var_guard_set PASSED [ 13%] tests/test/test_environment.py::test_environment_var_guard_unset PASSED [ 13%] tests/test/test_environment.py::test_environment_var_guard_context_manager PASSED [ 13%] tests/test/test_environment.py::test_environment_var_guard_cleanup_on_exception PASSED [ 13%] tests/test/test_environment.py::test_environment_var_guard_unset_and_reset PASSED [ 13%] tests/test/test_environment.py::test_environment_var_guard_exit_with_exception PASSED [ 13%] tests/test/test_environment.py::test_environment_var_guard_unset_previously_set PASSED [ 14%] tests/test/test_random.py::test_random_str_sequence_default PASSED [ 14%] tests/test/test_random.py::test_random_str_sequence_custom_chars PASSED [ 14%] tests/test/test_random.py::test_random_str_sequence_uniqueness PASSED [ 14%] tests/test/test_random.py::test_random_str_sequence_iterator PASSED [ 14%] tests/test/test_random.py::test_random_str_sequence_doctest_examples PASSED [ 14%] tests/test/test_random.py::test_namer_global_instance PASSED [ 14%] tests/test/test_random.py::test_get_test_session_name_doctest_examples PASSED [ 14%] tests/test/test_random.py::test_get_test_session_name_default_prefix PASSED [ 14%] tests/test/test_random.py::test_get_test_session_name_custom_prefix PASSED [ 14%] tests/test/test_random.py::test_get_test_session_name_loop_behavior PASSED [ 15%] tests/test/test_random.py::test_get_test_window_name_doctest_examples PASSED [ 15%] tests/test/test_random.py::test_get_test_window_name_default_prefix PASSED [ 15%] tests/test/test_random.py::test_get_test_window_name_custom_prefix PASSED [ 15%] tests/test/test_random.py::test_get_test_window_name_loop_behavior PASSED [ 15%] tests/test/test_random.py::test_get_test_window_name_requires_prefix PASSED [ 15%] tests/test/test_random.py::test_random_str_sequence_self_type PASSED [ 15%] tests/test/test_random.py::test_random_str_sequence_small_character_set PASSED [ 15%] tests/test/test_random.py::test_random_str_sequence_insufficient_characters PASSED [ 15%] tests/test/test_random.py::test_next_method_directly PASSED [ 15%] tests/test/test_random.py::test_namer_initialization PASSED [ 15%] tests/test/test_random.py::test_random_str_sequence_iter_next_methods PASSED [ 16%] tests/test/test_random.py::test_collisions_with_real_objects PASSED [ 16%] tests/test/test_random.py::test_imports_coverage PASSED [ 16%] tests/test/test_random.py::test_iterator_protocol PASSED [ 16%] tests/test/test_random.py::test_get_test_session_name_collision_handling PASSED [ 16%] tests/test/test_random.py::test_get_test_window_name_null_prefix PASSED [ 16%] tests/test/test_random.py::test_import_typing_coverage PASSED [ 16%] tests/test/test_random.py::test_random_str_sequence_direct_instantiation PASSED [ 16%] tests/test/test_random.py::test_get_test_window_name_collision_handling PASSED [ 16%] tests/test/test_random.py::test_random_str_sequence_return_statements PASSED [ 16%] tests/test/test_random.py::test_get_test_session_name_implementation_details PASSED [ 17%] tests/test/test_random.py::test_get_test_window_name_branch_coverage PASSED [ 17%] tests/test/test_retry.py::test_retry_three_times PASSED [ 17%] tests/test/test_retry.py::test_function_times_out PASSED [ 17%] tests/test/test_retry.py::test_function_times_out_no_raise PASSED [ 17%] tests/test/test_retry.py::test_function_times_out_no_raise_assert PASSED [ 17%] tests/test/test_retry.py::test_retry_three_times_no_raise_assert PASSED [ 17%] tests/test/test_sparse_array.py::test_is_sparse_array_list[empty_dict] PASSED [ 17%] tests/test/test_sparse_array.py::test_is_sparse_array_list[sparse_arrays_only] PASSED [ 17%] tests/test/test_sparse_array.py::test_is_sparse_array_list[mixed_values] PASSED [ 17%] tests/test/test_sparse_array.py::test_is_sparse_array_list[strings_only] PASSED [ 17%] tests/test/test_sparse_array.py::test_is_sparse_array_list[none_value] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_append[append_to_empty] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_append[append_after_add] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_append[multiple_appends] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_iter_values[sorted_order] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_iter_values[empty] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_iter_values[consecutive] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_as_list[sorted_order] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_as_list[empty] PASSED [ 18%] tests/test/test_sparse_array.py::test_sparse_array_as_list[consecutive] PASSED [ 18%] tests/test/test_temporary.py::test_temp_session_creates_and_destroys PASSED [ 19%] tests/test/test_temporary.py::test_temp_session_with_name PASSED [ 19%] tests/test/test_temporary.py::test_temp_session_cleanup_on_exception PASSED [ 19%] tests/test/test_temporary.py::test_temp_window_creates_and_destroys PASSED [ 19%] tests/test/test_temporary.py::test_temp_window_with_name PASSED [ 19%] tests/test/test_temporary.py::test_temp_window_cleanup_on_exception PASSED [ 19%] tests/test/test_temporary.py::test_temp_session_outside_context PASSED [ 19%] tests/test/test_temporary.py::test_temp_window_outside_context PASSED [ 19%] tests/test_client.py::test_server_clients_returns_querylist PASSED [ 19%] tests/test_client.py::test_client_session_reports_attached_session PASSED [ 19%] tests/test_client.py::test_client_readonly_default_zero PASSED [ 19%] tests/test_client.py::test_client_refresh_rehydrates_fields PASSED [ 20%] tests/test_client.py::test_clients_property_hydrates_cross_scope PASSED [ 20%] tests/test_client.py::test_client_attached_session_returns_typed_session PASSED [ 20%] tests/test_client.py::test_client_attached_window_tracks_active_window PASSED [ 20%] tests/test_client.py::test_client_attached_pane_tracks_active_pane PASSED [ 20%] tests/test_client.py::test_client_attached_properties_return_none_after_detach PASSED [ 20%] tests/test_client.py::test_client_refresh_raises_when_client_name_is_none PASSED [ 20%] tests/test_client.py::test_resolve_attached_returns_full_triple_for_live_client PASSED [ 20%] tests/test_client.py::test_resolve_attached_returns_none_triple_after_detach PASSED [ 20%] tests/test_client.py::test_resolve_attached_catches_no_active_window PASSED [ 20%] tests/test_common.py::test_has_version PASSED [ 21%] tests/test_common.py::test_get_version_is_memoized_for_same_tmux_bin PASSED [ 21%] tests/test_common.py::test_get_version_cache_keyed_by_tmux_bin PASSED [ 21%] tests/test_common.py::test_get_version_cache_clear_invalidates PASSED [ 21%] tests/test_common.py::test_get_version_binary_swap_requires_explicit_cache_clear PASSED [ 21%] tests/test_common.py::test_tmux_cmd_raises_on_not_found PASSED [ 21%] tests/test_common.py::test_tmux_cmd_unicode PASSED [ 21%] tests/test_common.py::test_session_check_name[empty_string] PASSED [ 21%] tests/test_common.py::test_session_check_name[none_value] PASSED [ 21%] tests/test_common.py::test_session_check_name[contains_period] PASSED [ 21%] tests/test_common.py::test_session_check_name[contains_colon] PASSED [ 21%] tests/test_common.py::test_session_check_name[valid_name] PASSED [ 22%] tests/test_common.py::test_session_check_name[valid_with_special_chars] PASSED [ 22%] tests/test_common.py::test_get_libtmux_version PASSED [ 22%] tests/test_common.py::test_version_comparison[gt_older_version] PASSED [ 22%] tests/test_common.py::test_version_comparison[gt_older_version_with_letter] PASSED [ 22%] tests/test_common.py::test_version_comparison[gt_newer_version] PASSED [ 22%] tests/test_common.py::test_version_comparison[gt_newer_version_with_letter] PASSED [ 22%] tests/test_common.py::test_version_comparison[gte_older_version] PASSED [ 22%] tests/test_common.py::test_version_comparison[gte_older_version_with_letter] PASSED [ 22%] tests/test_common.py::test_version_comparison[gte_current_version] PASSED [ 22%] tests/test_common.py::test_version_comparison[gte_newer_version] PASSED [ 23%] tests/test_common.py::test_version_comparison[gte_newer_version_with_letter] PASSED [ 23%] tests/test_common.py::test_version_comparison[lt_newer_version_with_letter] PASSED [ 23%] tests/test_common.py::test_version_comparison[lt_newer_version] PASSED [ 23%] tests/test_common.py::test_version_comparison[lt_older_version] PASSED [ 23%] tests/test_common.py::test_version_comparison[lt_current_version] PASSED [ 23%] tests/test_common.py::test_version_comparison[lte_newer_version_with_letter] PASSED [ 23%] tests/test_common.py::test_version_comparison[lte_newer_version] PASSED [ 23%] tests/test_common.py::test_version_comparison[lte_current_version] PASSED [ 23%] tests/test_common.py::test_version_comparison[lte_older_version] PASSED [ 23%] tests/test_common.py::test_version_comparison[lte_older_version_with_letter] PASSED [ 23%] tests/test_common.py::test_version_parsing[master_version] PASSED [ 24%] tests/test_common.py::test_version_parsing[next_version] PASSED [ 24%] tests/test_common.py::test_version_parsing[openbsd_version] PASSED [ 24%] tests/test_common.py::test_version_parsing[too_low_version] PASSED [ 24%] tests/test_common.py::test_version_validation[accepts_letter_in_min_version_1_9a] PASSED [ 24%] tests/test_common.py::test_version_validation[accepts_letter_in_min_version_1_8a] PASSED [ 24%] tests/test_common.py::test_version_validation[accepts_version_1_8] PASSED [ 24%] tests/test_common.py::test_version_validation[accepts_version_1_8a] PASSED [ 24%] tests/test_common.py::test_version_validation[accepts_version_1_9a] PASSED [ 24%] tests/test_common.py::test_version_validation[rejects_version_1_7] PASSED [ 24%] tests/test_common.py::test_version_validation[accepts_master_version] PASSED [ 25%] tests/test_common.py::test_version_validation[accepts_next_version] PASSED [ 25%] tests/test_common.py::test_version_validation[accepts_openbsd_version] PASSED [ 25%] tests/test_common.py::test_version_validation[accepts_dev_version] PASSED [ 25%] tests/test_common.py::test_version_validation[accepts_rc_version] PASSED [ 25%] tests/test_common.py::test_tmux_cmd_pre_execution_logging PASSED [ 25%] tests/test_common.py::test_libtmux_exception_subcommand_default_none PASSED [ 25%] tests/test_common.py::test_libtmux_exception_subcommand_tags_str PASSED [ 25%] tests/test_common.py::test_raise_if_stderr_no_stderr_is_noop PASSED [ 25%] tests/test_common.py::test_raise_if_stderr_raises_with_subcommand_tag PASSED [ 25%] tests/test_common.py::test_raise_if_stderr_str_shape_exact PASSED [ 25%] tests/test_common.py::test_tmux_cmd_format_separator_survives_non_utf8_locale PASSED [ 26%] tests/test_control_mode.py::test_control_mode_creates_client PASSED [ 26%] tests/test_control_mode.py::test_control_mode_cleanup PASSED [ 26%] tests/test_control_mode.py::test_control_mode_client_name PASSED [ 26%] tests/test_control_mode.py::test_control_mode_client_name_matches_spawned_client PASSED [ 26%] tests/test_dataclasses.py::test_pane PASSED [ 26%] tests/test_dataclasses.py::test_querylist PASSED [ 26%] tests/test_from_env.py::test_server_from_env_socket_path[default_socket] PASSED [ 26%] tests/test_from_env.py::test_server_from_env_socket_path[named_socket] PASSED [ 26%] tests/test_from_env.py::test_server_from_env_socket_path[comma_inside_socket_path] PASSED [ 26%] tests/test_from_env.py::test_server_from_env_socket_path[no_session] PASSED [ 26%] tests/test_from_env.py::test_server_from_env_not_inside_tmux[empty_env] PASSED [ 27%] tests/test_from_env.py::test_server_from_env_not_inside_tmux[tmux_empty] PASSED [ 27%] tests/test_from_env.py::test_server_from_env_not_inside_tmux[tmux_missing_pid_and_session] PASSED [ 27%] tests/test_from_env.py::test_server_from_env_not_inside_tmux[tmux_missing_socket_path] PASSED [ 27%] tests/test_from_env.py::test_pane_from_env_bad_pane_id[unset] PASSED [ 27%] tests/test_from_env.py::test_pane_from_env_bad_pane_id[empty] PASSED [ 27%] tests/test_from_env.py::test_pane_from_env_bad_pane_id[sigil_less] PASSED [ 27%] tests/test_from_env.py::test_pane_from_env_bad_pane_id[session_sigil] PASSED [ 27%] tests/test_from_env.py::test_from_env_outside_tmux[server] PASSED [ 27%] tests/test_from_env.py::test_from_env_outside_tmux[session] PASSED [ 27%] tests/test_from_env.py::test_from_env_outside_tmux[window] PASSED [ 28%] tests/test_from_env.py::test_from_env_outside_tmux[pane] PASSED [ 28%] tests/test_from_env.py::test_from_env_defaults_to_os_environ PASSED [ 28%] tests/test_from_env.py::test_from_env_resolves_the_calling_pane PASSED [ 28%] tests/test_from_env.py::test_from_env_ignores_stale_session_id PASSED [ 28%] tests/test_from_env.py::test_from_env_follows_pane_after_move_window PASSED [ 28%] tests/test_from_env.py::test_from_env_agrees_with_tmux_on_a_linked_window PASSED [ 28%] tests/test_from_env.py::test_window_from_env_is_the_containing_window PASSED [ 28%] tests/test_from_env.py::test_from_env_missing_pane_on_live_server[session] PASSED [ 28%] tests/test_from_env.py::test_from_env_missing_pane_on_live_server[window] PASSED [ 28%] tests/test_from_env.py::test_from_env_missing_pane_on_live_server[pane] PASSED [ 28%] tests/test_from_env.py::test_from_env_dead_server[session] PASSED [ 29%] tests/test_from_env.py::test_from_env_dead_server[window] PASSED [ 29%] tests/test_from_env.py::test_from_env_dead_server[pane] PASSED [ 29%] tests/test_from_env.py::test_from_env_pane_without_parent_id[session] PASSED [ 29%] tests/test_from_env.py::test_from_env_pane_without_parent_id[window] PASSED [ 29%] tests/test_from_env.py::test_from_env_returns_the_class_it_was_called_on[server] PASSED [ 29%] tests/test_from_env.py::test_from_env_returns_the_class_it_was_called_on[session] PASSED [ 29%] tests/test_from_env.py::test_from_env_returns_the_class_it_was_called_on[window] PASSED [ 29%] tests/test_from_env.py::test_from_env_returns_the_class_it_was_called_on[pane] PASSED [ 29%] tests/test_hooks.py::test_hooks_raw_cmd PASSED [ 29%] tests/test_hooks.py::test_hooks_dataclass PASSED [ 30%] tests/test_hooks.py::test_hooks_mixin PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[alert_activity] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[alert_bell] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[alert_silence] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_active] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_attached] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_detached] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_focus_in] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_focus_out] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_resized] PASSED [ 30%] tests/test_hooks.py::test_hook_set_show_unset_cycle[client_session_changed] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_created] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_closed] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_renamed] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_linked] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_renamed] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_resized] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[window_unlinked] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[session_window_changed] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_died] PASSED [ 31%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_exited] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_focus_in] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_focus_out] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_mode_changed] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[pane_set_clipboard] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_bind_key] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_capture_pane] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_copy_mode] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_display_message] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_display_panes] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_kill_pane] PASSED [ 32%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_buffers] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_clients] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_keys] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_panes] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_sessions] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_list_windows] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_load_buffer] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_lock_server] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_new_session] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_new_window] PASSED [ 33%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_paste_buffer] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_pipe_pane] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_queue] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_refresh_client] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_rename_session] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_rename_window] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_resize_pane] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_resize_window] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_save_buffer] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_select_layout] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_select_pane] PASSED [ 34%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_select_window] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_send_keys] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_buffer] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_environment] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_hook] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_set_option] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_show_environment] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_show_messages] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_show_options] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_split_window] PASSED [ 35%] tests/test_hooks.py::test_hook_set_show_unset_cycle[after_unbind_key] PASSED [ 36%] tests/test_hooks.py::test_new_hooks_version_gated[pane_title_changed] PASSED [ 36%] tests/test_hooks.py::test_set_hooks[set_hooks_with_dict] PASSED [ 36%] tests/test_hooks.py::test_set_hooks[set_hooks_with_list] PASSED [ 36%] tests/test_hooks.py::test_set_hooks[set_hooks_clear_existing] PASSED [ 36%] tests/test_hooks.py::test_show_hook_returns_sparse_array PASSED [ 36%] tests/test_hooks.py::test_show_hook_indexed_lookup[index_zero-session-renamed-0-display-message 'test zero'] PASSED [ 36%] tests/test_hooks.py::test_show_hook_indexed_lookup[index_five-session-renamed-5-display-message 'test five'] PASSED [ 36%] tests/test_hooks.py::test_show_hook_indexed_lookup[window_hook-window-renamed-0-display-message 'window test'] PASSED [ 36%] tests/test_hooks.py::test_set_hooks_with_sparse_array PASSED [ 36%] tests/test_hooks.py::test_set_hooks_method_chaining PASSED [ 36%] tests/test_hooks.py::test_unset_hook_clears_all_indices PASSED [ 37%] tests/test_hooks.py::test_set_hook_append_flag PASSED [ 37%] tests/test_hooks.py::test_show_hooks_stores_string_values[string_hook_value] PASSED [ 37%] tests/test_hooks.py::test_show_hooks_stores_string_values[multiple_hooks] PASSED [ 37%] tests/test_hooks.py::test_run_hook_basic PASSED [ 37%] tests/test_hooks.py::test_set_hook_flag_combinations[append_to_existing] PASSED [ 37%] tests/test_hooks.py::test_set_hook_flag_combinations[global_hook] PASSED [ 37%] tests/test_hooks.py::test_set_hook_flag_combinations[run_immediately] PASSED [ 37%] tests/test_hooks.py::test_set_hook_flag_combinations[append_and_global] PASSED [ 37%] tests/test_hooks.py::test_hook_scope_handling[session_scope] PASSED [ 37%] tests/test_hooks.py::test_hook_scope_handling[window_scope] PASSED [ 38%] tests/test_hooks.py::test_hook_scope_handling[pane_scope] PASSED [ 38%] tests/test_hooks.py::test_show_hooks_parsing_edge_cases[normal_hook_value] PASSED [ 38%] tests/test_hooks.py::test_show_hooks_parsing_edge_cases[multiple_indexed_hooks] PASSED [ 38%] tests/test_hooks.py::test_show_hooks_parsing_edge_cases[multiple_different_hooks] PASSED [ 38%] tests/test_hooks.py::test_show_hooks_empty_result PASSED [ 38%] tests/test_logging.py::test_tmux_cmd_debug_logging_schema PASSED [ 38%] tests/test_logging.py::test_lifecycle_info_logging_schema PASSED [ 38%] tests/test_logging.py::test_server_new_session_info_logging PASSED [ 38%] tests/test_logging.py::test_server_kill_info_logging PASSED [ 38%] tests/test_logging.py::test_window_rename_info_logging PASSED [ 38%] tests/test_logging.py::test_window_kill_all_except_logging PASSED [ 39%] tests/test_logging.py::test_pane_split_info_logging PASSED [ 39%] tests/test_logging.py::test_pane_kill_all_except_logging PASSED [ 39%] tests/test_logging.py::test_session_kill_all_except_logging PASSED [ 39%] tests/test_logging.py::test_server_new_session_surfaces_kill_session_stderr PASSED [ 39%] tests/test_logging.py::test_options_warning_logging_schema PASSED [ 39%] tests/test_neo.py::test_is_target_not_found_error[missing-pane] PASSED [ 39%] tests/test_neo.py::test_is_target_not_found_error[missing-window] PASSED [ 39%] tests/test_neo.py::test_is_target_not_found_error[missing-session] PASSED [ 39%] tests/test_neo.py::test_is_target_not_found_error[daemon-not-running] PASSED [ 39%] tests/test_neo.py::test_is_target_not_found_error[socket-missing] PASSED [ 40%] tests/test_neo.py::test_is_target_not_found_error[permission-denied] PASSED [ 40%] tests/test_neo.py::test_pane_dead_signal_gated_to_3_3 PASSED [ 40%] tests/test_neo.py::test_pane_dead_time_gated_to_3_3 PASSED [ 40%] tests/test_neo.py::test_field_version_keys_are_obj_fields PASSED [ 40%] tests/test_neo.py::test_format_token_gated_to_3_7[bracket_paste_flag] PASSED [ 40%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_flags] PASSED [ 40%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_floating_flag] PASSED [ 40%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_pb_progress] PASSED [ 40%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_pb_state] PASSED [ 40%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_pipe_pid] PASSED [ 40%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_x] PASSED [ 41%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_y] PASSED [ 41%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_z] PASSED [ 41%] tests/test_neo.py::test_format_token_gated_to_3_7[pane_zoomed_flag] PASSED [ 41%] tests/test_neo.py::test_format_token_gated_to_3_7[synchronized_output_flag] PASSED [ 41%] tests/test_neo.py::test_unprefixed_3_7_tokens_are_pane_scope[bracket_paste_flag] PASSED [ 41%] tests/test_neo.py::test_unprefixed_3_7_tokens_are_pane_scope[synchronized_output_flag] PASSED [ 41%] tests/test_neo.py::test_scopes_by_list_cmd_downward_cascade PASSED [ 41%] tests/test_neo.py::test_context_only_token_scope[command_list_alias] PASSED [ 41%] tests/test_neo.py::test_context_only_token_scope[command_list_name] PASSED [ 41%] tests/test_neo.py::test_context_only_token_scope[command_list_usage] PASSED [ 42%] tests/test_neo.py::test_context_only_token_scope[current_file] PASSED [ 42%] tests/test_neo.py::test_context_only_token_scope[search_match] PASSED [ 42%] tests/test_neo.py::test_context_scope_excluded_from_every_list_cmd[list-clients] PASSED [ 42%] tests/test_neo.py::test_context_scope_excluded_from_every_list_cmd[list-panes] PASSED [ 42%] tests/test_neo.py::test_context_scope_excluded_from_every_list_cmd[list-sessions] PASSED [ 42%] tests/test_neo.py::test_context_scope_excluded_from_every_list_cmd[list-windows] PASSED [ 42%] tests/test_neo.py::test_context_tokens_absent_from_every_list_cmd_template[command_list_alias] PASSED [ 42%] tests/test_neo.py::test_context_tokens_absent_from_every_list_cmd_template[command_list_name] PASSED [ 42%] tests/test_neo.py::test_context_tokens_absent_from_every_list_cmd_template[command_list_usage] PASSED [ 42%] tests/test_neo.py::test_context_tokens_absent_from_every_list_cmd_template[current_file] PASSED [ 42%] tests/test_neo.py::test_context_tokens_absent_from_every_list_cmd_template[search_match] PASSED [ 43%] tests/test_neo.py::test_token_scope_unknown_for_unclassified_field PASSED [ 43%] tests/test_neo.py::test_every_obj_field_classifies_to_known_scope PASSED [ 43%] tests/test_options.py::test_options PASSED [ 43%] tests/test_options.py::test_options_server PASSED [ 43%] tests/test_options.py::test_options_session PASSED [ 43%] tests/test_options.py::test_options_window PASSED [ 43%] tests/test_options.py::test_options_pane PASSED [ 43%] tests/test_options.py::test_pane_options_declares_tmux_3_7_shared_fields[tree_mode_preview_format] PASSED [ 43%] tests/test_options.py::test_pane_options_declares_tmux_3_7_shared_fields[pane_active_border_style] PASSED [ 43%] tests/test_options.py::test_pane_options_declares_tmux_3_7_shared_fields[pane_border_style] PASSED [ 44%] tests/test_options.py::test_window_only_3_7_options_absent_from_pane[copy_mode_line_numbers] PASSED [ 44%] tests/test_options.py::test_window_only_3_7_options_absent_from_pane[copy_mode_line_number_style] PASSED [ 44%] tests/test_options.py::test_window_only_3_7_options_absent_from_pane[copy_mode_current_line_number_style] PASSED [ 44%] tests/test_options.py::test_window_only_3_7_options_absent_from_pane[tree_mode_preview_style] PASSED [ 44%] tests/test_options.py::test_window_only_3_7_options_absent_from_pane[window_pane_status_format] PASSED [ 44%] tests/test_options.py::test_window_only_3_7_options_absent_from_pane[window_pane_current_status_format] PASSED [ 44%] tests/test_options.py::test_options_grid PASSED [ 44%] tests/test_options.py::test_custom_options PASSED [ 44%] tests/test_options.py::test_terminal_features PASSED [ 44%] tests/test_options.py::test_terminal_overrides PASSED [ 44%] tests/test_options.py::test_terminal_overrides_multi_feature[two_flags-xterm*:smcup@:rmcup@-xterm*-expected_features0] PASSED [ 45%] tests/test_options.py::test_terminal_overrides_multi_feature[flag_and_keyval-xterm*:XT:Ms=clipboard-xterm*-expected_features1] PASSED [ 45%] tests/test_options.py::test_terminal_overrides_multi_feature[multiple_keyvals-screen*:Tc:RGB:setab=test-screen*-expected_features2] PASSED [ 45%] tests/test_options.py::test_terminal_overrides_multi_feature[integer_value-tmux*:colors=256:Tc-tmux*-expected_features3] PASSED [ 45%] tests/test_options.py::test_command_alias PASSED [ 45%] tests/test_options.py::test_user_keys PASSED [ 45%] tests/test_options.py::test_mocked_cmd_stdoutclass_fixture[terminal-features] PASSED [ 45%] tests/test_options.py::test_mocked_cmd_stdoutclass_fixture[command-alias] PASSED [ 45%] tests/test_options.py::test_show_option_pane_fixture[terminal-features] PASSED [ 45%] tests/test_options.py::test_show_option_pane_fixture[command-alias] PASSED [ 45%] tests/test_options.py::test_stable_baseline_options_and_hooks PASSED [ 46%] tests/test_options.py::test_high_level_api_expectations PASSED [ 46%] tests/test_options.py::test_complex_option_values PASSED [ 46%] tests/test_options.py::test_style_option_validation PASSED [ 46%] tests/test_options.py::test_option_error_handling PASSED [ 46%] tests/test_options.py::test_terminal_features_edge_cases PASSED [ 46%] tests/test_options.py::test_option_set_show_cycle[server_buffer_limit] PASSED [ 46%] tests/test_options.py::test_option_set_show_cycle[server_escape_time] PASSED [ 46%] tests/test_options.py::test_option_set_show_cycle[server_message_limit] PASSED [ 46%] tests/test_options.py::test_option_set_show_cycle[server_prompt_history_limit] PASSED [ 46%] tests/test_options.py::test_option_set_show_cycle[server_exit_empty] PASSED [ 46%] tests/test_options.py::test_option_set_show_cycle[server_exit_unattached] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[server_focus_events] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[server_extended_keys] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[server_set_clipboard] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[server_get_clipboard] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[server_default_terminal] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[server_editor] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[session_base_index] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[session_display_panes_time] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[session_display_time] PASSED [ 47%] tests/test_options.py::test_option_set_show_cycle[session_history_limit] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_lock_after_time] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_repeat_time] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_status_interval] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_status_left_length] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_status_right_length] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_destroy_unattached] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_mouse] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_renumber_windows] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_set_titles] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_focus_follows_mouse] PASSED [ 48%] tests/test_options.py::test_option_set_show_cycle[session_activity_action] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_bell_action] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_detach_on_destroy] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_silence_action] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_status_keys] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_status_justify] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_status_position] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_visual_activity] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_visual_bell] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_visual_silence] PASSED [ 49%] tests/test_options.py::test_option_set_show_cycle[session_prompt_command_cursor_style] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_default_command] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_status_left] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_status_right] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_message_format] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_status_style] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_status_left_style] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_status_right_style] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[session_message_style] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[window_pane_base_index] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[window_monitor_silence] PASSED [ 50%] tests/test_options.py::test_option_set_show_cycle[window_aggressive_resize] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_automatic_rename] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_monitor_activity] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_monitor_bell] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_wrap_search] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_clock_mode_style] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_mode_keys] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_pane_border_status] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_window_size] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_copy_mode_line_numbers] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_pane_border_format] PASSED [ 51%] tests/test_options.py::test_option_set_show_cycle[window_tree_mode_preview_format] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_window_pane_status_format] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_window_pane_current_status_format] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_mode_style] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_pane_border_style] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_pane_active_border_style] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_window_status_style] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_window_status_current_style] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_copy_mode_line_number_style] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_copy_mode_current_line_number_style] PASSED [ 52%] tests/test_options.py::test_option_set_show_cycle[window_tree_mode_preview_style] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_allow_rename] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_alternate_screen] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_scroll_on_clear] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_synchronize_panes] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_allow_passthrough] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_remain_on_exit] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_remain_on_exit_key] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_tree_mode_preview_format] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_window_style] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_window_active_style] PASSED [ 53%] tests/test_options.py::test_option_set_show_cycle[pane_pane_active_border_style] PASSED [ 54%] tests/test_options.py::test_option_set_show_cycle[pane_pane_border_style] PASSED [ 54%] tests/test_options.py::test_show_options_returns_expected_keys[server_global] PASSED [ 54%] tests/test_options.py::test_show_options_returns_expected_keys[server_global_inherited] PASSED [ 54%] tests/test_options.py::test_show_options_returns_expected_keys[session_global] PASSED [ 54%] tests/test_options.py::test_show_options_returns_expected_keys[session_global_inherited] PASSED [ 54%] tests/test_options.py::test_show_options_returns_expected_keys[window_global] PASSED [ 54%] tests/test_options.py::test_show_options_returns_expected_keys[window_global_inherited] PASSED [ 54%] tests/test_options.py::test_convert_values_sparse_array[boolean_on_off] PASSED [ 54%] tests/test_options.py::test_convert_values_sparse_array[numeric_conversion] PASSED [ 54%] tests/test_options.py::test_convert_values_sparse_array[mixed_values] PASSED [ 55%] tests/test_options.py::test_convert_values_sparse_array[sparse_indices] PASSED [ 55%] tests/test_options.py::test_convert_values_preserves_sparse_keys PASSED [ 55%] tests/test_options.py::test_show_option_g_parameter_emits_deprecation_warning PASSED [ 55%] tests/test_options.py::test_show_option_indexed_array[indexed_returns_value] PASSED [ 55%] tests/test_options.py::test_show_option_indexed_array[base_name_returns_sparse_array] PASSED [ 55%] tests/test_options.py::test_explode_arrays_preserves_inherited_marker[inherited_array_marker_preserved] PASSED [ 55%] tests/test_options.py::test_explode_arrays_preserves_inherited_marker[non_inherited_array_no_marker] PASSED [ 55%] tests/test_options.py::test_explode_arrays_preserves_inherited_marker[mixed_inherited_indices] PASSED [ 55%] tests/test_options.py::test_show_options_quiet PASSED [ 55%] tests/test_options.py::test_show_options_quiet_public PASSED [ 55%] tests/test_options.py::test_set_environment_hidden PASSED [ 56%] tests/test_options.py::test_set_environment_expand_format PASSED [ 56%] tests/test_pane.py::test_send_keys PASSED [ 56%] tests/test_pane.py::test_set_height PASSED [ 56%] tests/test_pane.py::test_set_width PASSED [ 56%] tests/test_pane.py::test_pane_split_window_zoom PASSED [ 56%] tests/test_pane.py::test_resize PASSED [ 56%] tests/test_pane.py::test_split_pane_size PASSED [ 56%] tests/test_pane.py::test_pane_context_manager PASSED [ 56%] tests/test_pane.py::test_split_start_directory[none_value] PASSED [ 56%] tests/test_pane.py::test_split_start_directory[empty_string] PASSED [ 57%] tests/test_pane.py::test_split_start_directory[user_path] PASSED [ 57%] tests/test_pane.py::test_split_start_directory[relative_path] PASSED [ 57%] tests/test_pane.py::test_split_start_directory_pathlib PASSED [ 57%] tests/test_pane.py::test_send_keys_flags[reset_terminal] PASSED [ 57%] tests/test_pane.py::test_send_keys_flags[repeat_count] PASSED [ 57%] tests/test_pane.py::test_send_keys_flags[hex_key_A] PASSED [ 57%] tests/test_pane.py::test_send_keys_flags[expand_formats] PASSED [ 57%] tests/test_pane.py::test_send_keys_flags[key_name_flag] PASSED [ 57%] tests/test_pane.py::test_send_keys_flag_only_reset_emits_clean_argv PASSED [ 57%] tests/test_pane.py::test_send_keys_flag_only_repeat_emits_dash_N PASSED [ 57%] tests/test_pane.py::test_send_keys_flag_only_requires_a_flag PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_dead] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_format] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_in_mode] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_input_off] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_last] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_marked] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_marked_set] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_mode] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_path] PASSED [ 58%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_pipe] PASSED [ 59%] tests/test_pane.py::test_pane_format_field_declared_and_hydrated[pane_synchronized] PASSED [ 59%] tests/test_pane.py::test_pane_synchronized_reflects_window_state PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[cursor_x] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[cursor_y] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[cursor_flag] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[mouse_all_flag] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[mouse_any_flag] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[mouse_button_flag] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[mouse_sgr_flag] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[mouse_standard_flag] PASSED [ 59%] tests/test_pane.py::test_pane_scope_override_field_hydrates[scroll_region_lower] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[scroll_region_upper] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[alternate_saved_x] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[alternate_saved_y] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[history_bytes] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[history_limit] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[history_size] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[insert_flag] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[keypad_cursor_flag] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[keypad_flag] PASSED [ 60%] tests/test_pane.py::test_pane_scope_override_field_hydrates[origin_flag] PASSED [ 61%] tests/test_pane.py::test_pane_scope_override_field_hydrates[wrap_flag] PASSED [ 61%] tests/test_pane.py::test_select_pane_direction PASSED [ 61%] tests/test_pane.py::test_select_pane_last PASSED [ 61%] tests/test_pane.py::test_select_pane_mark PASSED [ 61%] tests/test_pane.py::test_select_pane_disable_enable_input PASSED [ 61%] tests/test_pane.py::test_display_message_flags[format_string] PASSED [ 61%] tests/test_pane.py::test_display_message_flags[all_formats] PASSED [ 61%] tests/test_pane.py::test_display_message_flags[verbose] PASSED [ 61%] tests/test_pane.py::test_display_message_flags[no_expand] PASSED [ 61%] tests/test_pane.py::test_display_message_warns_on_tmux_error PASSED [ 61%] tests/test_pane.py::test_split_percentage PASSED [ 62%] tests/test_pane.py::test_split_percentage_size_mutual_exclusion PASSED [ 62%] tests/test_pane.py::test_send_prefix PASSED [ 62%] tests/test_pane.py::test_copy_mode PASSED [ 62%] tests/test_pane.py::test_copy_mode_source_pane PASSED [ 62%] tests/test_pane.py::test_copy_mode_page_down PASSED [ 62%] tests/test_pane.py::test_clock_mode PASSED [ 62%] tests/test_pane.py::test_chooser_smoke[choose_buffer] PASSED [ 62%] tests/test_pane.py::test_chooser_smoke[choose_client] PASSED [ 62%] tests/test_pane.py::test_chooser_smoke[choose_tree] PASSED [ 62%] tests/test_pane.py::test_chooser_smoke[customize_mode] PASSED [ 63%] tests/test_pane.py::test_choose_tree_with_flags PASSED [ 63%] tests/test_pane.py::test_find_window PASSED [ 63%] tests/test_pane.py::test_display_panes PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[basic] PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[dimensions] PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[position] PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[start_directory] PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[title_v33] PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[border_lines_v33] PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[style_v33] PASSED [ 63%] tests/test_pane.py::test_display_popup_flags[border_style_v33] PASSED [ 64%] tests/test_pane.py::test_display_popup_flags[environment_v33] PASSED [ 64%] tests/test_pane.py::test_display_popup_flags[no_border_v33] PASSED [ 64%] tests/test_pane.py::test_display_popup_flags[close_on_any_key_v36] PASSED [ 64%] tests/test_pane.py::test_display_popup_flags[no_keys_v36] PASSED [ 64%] tests/test_pane.py::test_display_popup_close_on_success PASSED [ 64%] tests/test_pane.py::test_display_popup_mutual_exclusion PASSED [ 64%] tests/test_pane.py::test_display_popup_close_existing PASSED [ 64%] tests/test_pane.py::test_display_popup_target_client PASSED [ 64%] tests/test_pane.py::test_paste_buffer PASSED [ 64%] tests/test_pane.py::test_pipe_pane PASSED [ 65%] tests/test_pane.py::test_respawn_pane_kill PASSED [ 65%] tests/test_pane.py::test_move_pane PASSED [ 65%] tests/test_pane.py::test_join_pane PASSED [ 65%] tests/test_pane.py::test_join_pane_horizontal PASSED [ 65%] tests/test_pane.py::test_break_pane_basic PASSED [ 65%] tests/test_pane.py::test_break_pane_with_name PASSED [ 65%] tests/test_pane.py::test_break_pane_no_name_uses_natural_name FAILED [ 65%] tests/test_pane.py::test_swap_pane PASSED [ 65%] tests/test_pane.py::test_swap_pane_move_up_down PASSED [ 65%] tests/test_pane.py::test_swap_pane_invalid_args[kwargs0-target or move_up] PASSED [ 65%] tests/test_pane.py::test_swap_pane_invalid_args[kwargs1-mutually exclusive] PASSED [ 66%] tests/test_pane.py::test_swap_pane_invalid_args[kwargs2-mutually exclusive] PASSED [ 66%] tests/test_pane.py::test_clear_history PASSED [ 66%] tests/test_pane.py::test_pane_reset_clears_history_and_sends_reset PASSED [ 66%] tests/test_pane.py::test_pane_reset_targets_non_active_pane PASSED [ 66%] tests/test_pane.py::test_pane_refresh_raises_when_pane_id_is_none PASSED [ 66%] tests/test_pane.py::test_split_empty PASSED [ 66%] tests/test_pane.py::test_split_3_7_flags[style] PASSED [ 66%] tests/test_pane.py::test_split_3_7_flags[active_border_style] PASSED [ 66%] tests/test_pane.py::test_split_3_7_flags[inactive_border_style] PASSED [ 66%] tests/test_pane.py::test_split_3_7_flags[message] PASSED [ 67%] tests/test_pane.py::test_split_3_7_flags[keep] PASSED [ 67%] tests/test_pane.py::test_split_preserves_empty_option_values[style] PASSED [ 67%] tests/test_pane.py::test_split_preserves_empty_option_values[active_border_style] PASSED [ 67%] tests/test_pane.py::test_split_preserves_empty_option_values[inactive_border_style] PASSED [ 67%] tests/test_pane.py::test_split_preserves_empty_option_values[message] PASSED [ 67%] tests/test_pane.py::test_paste_buffer_no_vis PASSED [ 67%] tests/test_pane.py::test_new_pane_floating PASSED [ 67%] tests/test_pane.py::test_new_pane_keep PASSED [ 67%] tests/test_pane.py::test_new_pane_preserves_empty_option_values[style] PASSED [ 67%] tests/test_pane.py::test_new_pane_preserves_empty_option_values[active_border_style] PASSED [ 67%] tests/test_pane.py::test_new_pane_preserves_empty_option_values[inactive_border_style] PASSED [ 68%] tests/test_pane.py::test_new_pane_preserves_empty_option_values[message] PASSED [ 68%] tests/test_pane.py::test_new_pane_error_tags_subcommand PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[basic_capture] PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[basic_multiline] PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_red] PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_green] PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_bold] PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[no_escape_sequences] PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_non_printable_basic] PASSED [ 68%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_non_printable_tab] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flags[join_wrapped_long_line] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flags[preserve_trailing_spaces] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flags[no_preserve_trailing] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flags[trim_trailing_basic] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flags[escape_sequences_with_join] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flags[join_with_preserve_trailing] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flags[all_flags_except_trim] PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_backward_compatible PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_start_end_with_flags PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_trim_trailing_warning PASSED [ 69%] tests/test_pane_capture_pane.py::test_capture_pane_flag_smoke[quiet] PASSED [ 70%] tests/test_pane_capture_pane.py::test_capture_pane_flag_smoke[alternate_screen] PASSED [ 70%] tests/test_pane_capture_pane.py::test_capture_pane_flag_smoke[mode_screen_v36] PASSED [ 70%] tests/test_pane_capture_pane.py::test_capture_pane_to_buffer PASSED [ 70%] tests/test_pane_capture_pane.py::test_capture_pane_pending_emits_dash_P PASSED [ 70%] tests/test_pane_capture_pane.py::test_capture_pane_pending_returns_list PASSED [ 70%] tests/test_pytest_plugin.py::test_plugin PASSED [ 70%] tests/test_pytest_plugin.py::test_test_server PASSED [ 70%] tests/test_pytest_plugin.py::test_test_server_with_config PASSED [ 70%] tests/test_pytest_plugin.py::test_test_server_cleanup PASSED [ 70%] tests/test_pytest_plugin.py::test_test_server_multiple PASSED [ 71%] tests/test_pytest_plugin.py::test_reap_test_server_unlinks_socket_file PASSED [ 71%] tests/test_pytest_plugin.py::test_reap_test_server_is_noop_when_socket_missing PASSED [ 71%] tests/test_pytest_plugin.py::test_reap_test_server_tolerates_none PASSED [ 71%] tests/test_resolution.py::test_linked_window_resolves_like_tmux PASSED [ 71%] tests/test_resolution.py::test_linked_pane_resolves_like_tmux PASSED [ 71%] tests/test_resolution.py::test_pane_session_follows_move_window PASSED [ 71%] tests/test_resolution.py::test_refresh_after_kill_raises_object_does_not_exist[window] PASSED [ 71%] tests/test_resolution.py::test_refresh_after_kill_raises_object_does_not_exist[pane] PASSED [ 71%] tests/test_resolution.py::test_missing_pane_on_live_server_raises_object_does_not_exist PASSED [ 71%] tests/test_resolution.py::test_dead_server_raises_libtmux_exception PASSED [ 71%] tests/test_resolution.py::test_multiply_linked_window_resolves_like_tmux[same_session_low_link_current] PASSED [ 72%] tests/test_resolution.py::test_multiply_linked_window_resolves_like_tmux[same_session_high_link_current] PASSED [ 72%] tests/test_resolution.py::test_multiply_linked_window_resolves_like_tmux[same_session_other_window_current] PASSED [ 72%] tests/test_resolution.py::test_multiply_linked_window_resolves_like_tmux[cross_session] PASSED [ 72%] tests/test_resolution.py::test_multiply_linked_window_resolves_like_tmux[grouped_session] PASSED [ 72%] tests/test_resolution.py::test_same_session_double_link_answers_the_low_index PASSED [ 72%] tests/test_resolution.py::test_pane_of_multiply_linked_window_agrees_with_its_window PASSED [ 72%] tests/test_resolution.py::test_server_collections_enumerate_winlinks[same_session_low_link_current] PASSED [ 72%] tests/test_resolution.py::test_server_collections_enumerate_winlinks[same_session_high_link_current] PASSED [ 72%] tests/test_resolution.py::test_server_collections_enumerate_winlinks[same_session_other_window_current] PASSED [ 72%] tests/test_resolution.py::test_server_collections_enumerate_winlinks[cross_session] PASSED [ 73%] tests/test_resolution.py::test_server_collections_enumerate_winlinks[grouped_session] PASSED [ 73%] tests/test_resolution.py::test_ambiguous_point_lookup_is_catchable_and_legible[same_session_low_link_current] PASSED [ 73%] tests/test_resolution.py::test_ambiguous_point_lookup_is_catchable_and_legible[same_session_high_link_current] PASSED [ 73%] tests/test_resolution.py::test_ambiguous_point_lookup_is_catchable_and_legible[same_session_other_window_current] PASSED [ 73%] tests/test_resolution.py::test_ambiguous_point_lookup_is_catchable_and_legible[cross_session] PASSED [ 73%] tests/test_resolution.py::test_ambiguous_point_lookup_is_catchable_and_legible[grouped_session] PASSED [ 73%] tests/test_resolution.py::test_point_lookup_by_id_is_the_way_out PASSED [ 73%] tests/test_resolution.py::test_linked_sessions_lists_each_holder_once PASSED [ 73%] tests/test_resolution.py::test_linked_sessions_returns_empty_after_server_kill PASSED [ 73%] tests/test_resolution.py::test_linked_sessions_returns_empty_when_session_snapshot_fails PASSED [ 73%] tests/test_resolution.py::test_linked_sessions_skips_holder_lost_between_snapshots PASSED [ 74%] tests/test_resolution.py::test_linked_sessions_uses_two_list_calls PASSED [ 74%] tests/test_server.py::test_has_session PASSED [ 74%] tests/test_server.py::test_socket_name PASSED [ 74%] tests/test_server.py::test_socket_path PASSED [ 74%] tests/test_server.py::test_socket_path_not_derived_from_socket_name PASSED [ 74%] tests/test_server.py::test_config PASSED [ 74%] tests/test_server.py::test_256_colors PASSED [ 74%] tests/test_server.py::test_88_colors PASSED [ 74%] tests/test_server.py::test_show_environment PASSED [ 74%] tests/test_server.py::test_getenv PASSED [ 75%] tests/test_server.py::test_show_environment_not_set PASSED [ 75%] tests/test_server.py::test_new_session PASSED [ 75%] tests/test_server.py::test_new_session_returns_populated_session PASSED [ 75%] tests/test_server.py::test_sessions_property_hydrates_cross_scope PASSED [ 75%] tests/test_server.py::test_windows_property_hydrates_active_pane PASSED [ 75%] tests/test_server.py::test_new_session_no_name PASSED [ 75%] tests/test_server.py::test_new_session_shell PASSED [ 75%] tests/test_server.py::test_new_session_shell_env PASSED [ 75%] tests/test_server.py::test_new_session_width_height SKIPPED (tmux 3.2 returns wrong width - test needs rework) [ 75%] tests/test_server.py::test_new_session_environmental_variables PASSED [ 75%] tests/test_server.py::test_no_server_sessions PASSED [ 76%] tests/test_server.py::test_no_server_attached_sessions PASSED [ 76%] tests/test_server.py::test_no_server_is_alive PASSED [ 76%] tests/test_server.py::test_with_server_is_alive PASSED [ 76%] tests/test_server.py::test_raise_if_dead_no_server_raises PASSED [ 76%] tests/test_server.py::test_raise_if_dead_does_not_raise_if_alive PASSED [ 76%] tests/test_server.py::test_on_init PASSED [ 76%] tests/test_server.py::test_socket_name_factory PASSED [ 76%] tests/test_server.py::test_socket_name_precedence PASSED [ 76%] tests/test_server.py::test_server_context_manager PASSED [ 76%] tests/test_server.py::test_new_session_start_directory[none_value] PASSED [ 76%] tests/test_server.py::test_new_session_start_directory[empty_string] PASSED [ 77%] tests/test_server.py::test_new_session_start_directory[user_path] PASSED [ 77%] tests/test_server.py::test_new_session_start_directory[relative_path] PASSED [ 77%] tests/test_server.py::test_new_session_start_directory_pathlib PASSED [ 77%] tests/test_server.py::test_tmux_bin_default PASSED [ 77%] tests/test_server.py::test_tmux_bin_custom_path PASSED [ 77%] tests/test_server.py::test_tmux_bin_invalid_path FAILED [ 77%] tests/test_server.py::test_tmux_bin_invalid_path_raise_if_dead FAILED [ 77%] tests/test_server.py::test_confirm_before[confirm_y] PASSED [ 77%] tests/test_server.py::test_confirm_before[default_yes_enter] PASSED [ 77%] tests/test_server.py::test_command_prompt[type_and_submit] PASSED [ 78%] tests/test_server.py::test_command_prompt[prefill_and_submit] PASSED [ 78%] tests/test_server.py::test_command_prompt_extra_flags[expand_format_v33] PASSED [ 78%] tests/test_server.py::test_command_prompt_extra_flags[literal_v36] PASSED [ 78%] tests/test_server.py::test_command_prompt_extra_flags[bspace_exit] PASSED [ 78%] tests/test_server.py::test_command_prompt_extra_flags[no_freeze] PASSED [ 78%] tests/test_server.py::test_display_menu_flags[basic] PASSED [ 78%] tests/test_server.py::test_display_menu_flags[with_title] PASSED [ 78%] tests/test_server.py::test_display_menu_flags[with_position] PASSED [ 78%] tests/test_server.py::test_display_menu_flags[with_starting_choice_v34] PASSED [ 78%] tests/test_server.py::test_display_menu_flags[with_border_lines_v34] PASSED [ 78%] tests/test_server.py::test_display_menu_flags[with_style_v34] PASSED [ 79%] tests/test_server.py::test_display_menu_flags[with_border_style_v34] PASSED [ 79%] tests/test_server.py::test_display_menu_flags[with_stay_open] PASSED [ 79%] tests/test_server.py::test_display_menu_flags[with_selected_style_v34] PASSED [ 79%] tests/test_server.py::test_display_menu_flags[with_mouse_v35] PASSED [ 79%] tests/test_server.py::test_lock_server PASSED [ 79%] tests/test_server.py::test_lock_client PASSED [ 79%] tests/test_server.py::test_refresh_client PASSED [ 79%] tests/test_server.py::test_refresh_client_request_clipboard PASSED [ 79%] tests/test_server.py::test_suspend_client PASSED [ 79%] tests/test_server.py::test_server_access_list PASSED [ 80%] tests/test_server.py::test_server_access_read_only_write_mutex PASSED [ 80%] tests/test_server.py::test_server_access_argv PASSED [ 80%] tests/test_server.py::test_start_server PASSED [ 80%] tests/test_server.py::test_bind_unbind_key PASSED [ 80%] tests/test_server.py::test_list_keys PASSED [ 80%] tests/test_server.py::test_list_keys_format PASSED [ 80%] tests/test_server.py::test_list_commands PASSED [ 80%] tests/test_server.py::test_show_messages PASSED [ 80%] tests/test_server.py::test_show_messages_terminals_jobs PASSED [ 80%] tests/test_server.py::test_show_prompt_history PASSED [ 80%] tests/test_server.py::test_clear_prompt_history PASSED [ 81%] tests/test_server.py::test_wait_for_set_flag PASSED [ 81%] tests/test_server.py::test_run_shell_basic PASSED [ 81%] tests/test_server.py::test_run_shell_background PASSED [ 81%] tests/test_server.py::test_run_shell_cwd PASSED [ 81%] tests/test_server.py::test_run_shell_show_stderr PASSED [ 81%] tests/test_server.py::test_run_shell_args PASSED [ 81%] tests/test_server.py::test_run_shell_cwd_warns_on_old_tmux PASSED [ 81%] tests/test_server.py::test_run_shell_show_stderr_warns_on_old_tmux PASSED [ 81%] tests/test_server.py::test_buffer_set_show[set_show_default] PASSED [ 81%] tests/test_server.py::test_buffer_set_show[set_show_named] PASSED [ 82%] tests/test_server.py::test_buffer_set_show[set_show_append] PASSED [ 82%] tests/test_server.py::test_buffer_delete PASSED [ 82%] tests/test_server.py::test_buffer_save_load PASSED [ 82%] tests/test_server.py::test_buffer_save_append PASSED [ 82%] tests/test_server.py::test_list_buffers PASSED [ 82%] tests/test_server.py::test_list_buffers_format_returns_raw_names PASSED [ 82%] tests/test_server.py::test_list_buffers_filter_pushes_predicate_into_tmux PASSED [ 82%] tests/test_server.py::test_server_search_sessions_filter PASSED [ 82%] tests/test_server.py::test_server_search_windows_filter PASSED [ 82%] tests/test_server.py::test_server_search_panes_filter_by_id PASSED [ 82%] tests/test_server.py::test_server_clients_returns_empty_on_tmux_error PASSED [ 83%] tests/test_server.py::test_server_search_sessions_propagates_errors PASSED [ 83%] tests/test_server.py::test_server_sessions_returns_empty_on_tmux_error PASSED [ 83%] tests/test_server.py::test_server_sessions_missing_socket_returns_empty PASSED [ 83%] tests/test_server.py::test_server_sessions_permission_error_returns_empty PASSED [ 83%] tests/test_server.py::test_if_shell_true PASSED [ 83%] tests/test_server.py::test_if_shell_false_with_else PASSED [ 83%] tests/test_server.py::test_source_file PASSED [ 83%] tests/test_server.py::test_source_file_quiet PASSED [ 83%] tests/test_server.py::test_list_clients PASSED [ 83%] tests/test_server.py::test_detach_client_target_client_spans_sessions PASSED [ 84%] tests/test_server.py::test_detach_client_no_target_uses_active PASSED [ 84%] tests/test_server.py::test_detach_all_clients_keep_client_spans_sessions PASSED [ 84%] tests/test_server.py::test_detach_all_clients_no_keep_preserves_one PASSED [ 84%] tests/test_server.py::test_new_session_client_flags PASSED [ 84%] tests/test_server.py::test_server_display_message_flags[version] PASSED [ 84%] tests/test_server.py::test_server_display_message_flags[socket_path_format_string] PASSED [ 84%] tests/test_server.py::test_server_display_message_flags[all_formats] PASSED [ 84%] tests/test_server.py::test_server_display_message_flags[no_expand_literal] PASSED [ 84%] tests/test_server.py::test_server_display_message_no_text_returns_none PASSED [ 84%] tests/test_server.py::test_server_display_message_target_client PASSED [ 84%] tests/test_server.py::test_server_display_message_warns_on_tmux_error PASSED [ 85%] tests/test_session.py::test_has_session PASSED [ 85%] 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 [ 85%] tests/test_session.py::test_set_show_options_single PASSED [ 85%] 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 [ 86%] tests/test_session.py::test_set_option_invalid PASSED [ 86%] tests/test_session.py::test_show_environment PASSED [ 86%] tests/test_session.py::test_set_show_environment_single PASSED [ 86%] tests/test_session.py::test_show_environment_not_set PASSED [ 86%] tests/test_session.py::test_remove_environment PASSED [ 86%] tests/test_session.py::test_unset_environment PASSED [ 86%] tests/test_session.py::test_periods_raise_bad_session_name[period_in_name] PASSED [ 87%] tests/test_session.py::test_periods_raise_bad_session_name[colon_in_name] PASSED [ 87%] tests/test_session.py::test_periods_raise_bad_session_name[valid_name] PASSED [ 87%] tests/test_session.py::test_cmd_inserts_session_id PASSED [ 87%] tests/test_session.py::test_new_window_with_environment[single_env_var] PASSED [ 87%] tests/test_session.py::test_new_window_with_environment[multiple_env_vars] PASSED [ 87%] tests/test_session.py::test_session_new_window_with_direction PASSED [ 87%] tests/test_session.py::test_session_context_manager PASSED [ 87%] tests/test_session.py::test_new_window_start_directory[none_value] PASSED [ 87%] tests/test_session.py::test_new_window_start_directory[empty_string] PASSED [ 87%] tests/test_session.py::test_new_window_start_directory[user_path] PASSED [ 88%] tests/test_session.py::test_new_window_start_directory[relative_path] PASSED [ 88%] tests/test_session.py::test_new_window_start_directory_pathlib PASSED [ 88%] tests/test_session.py::test_session_attach_does_not_fail_if_session_killed_during_attach[session_killed_during_attach_should_not_raise] PASSED [ 88%] tests/test_session.py::test_lock_session PASSED [ 88%] tests/test_session.py::test_detach_client_no_target_detaches_all_session_clients PASSED [ 88%] tests/test_session.py::test_last_window PASSED [ 88%] tests/test_session.py::test_next_window PASSED [ 88%] tests/test_session.py::test_previous_window PASSED [ 88%] tests/test_session.py::test_new_window_kill_existing PASSED [ 88%] tests/test_session.py::test_new_window_select_existing PASSED [ 88%] tests/test_session.py::test_session_last_window_exception_tags_subcommand PASSED [ 89%] tests/test_session.py::test_session_search_windows_filter PASSED [ 89%] tests/test_session.py::test_session_search_panes_filter_by_id PASSED [ 89%] tests/test_session.py::test_session_format_field_declared_and_hydrated[session_format] PASSED [ 89%] tests/test_session.py::test_session_format_field_declared_and_hydrated[session_group_attached_list] PASSED [ 89%] tests/test_session.py::test_session_format_field_declared_and_hydrated[session_group_many_attached] PASSED [ 89%] tests/test_session.py::test_session_format_field_declared_and_hydrated[session_grouped] PASSED [ 89%] tests/test_session.py::test_session_format_field_declared_and_hydrated[session_many_attached] PASSED [ 89%] tests/test_session.py::test_session_format_field_declared_and_hydrated[session_marked] PASSED [ 89%] tests/test_session.py::test_session_scope_override_field_hydrates[active_window_index] PASSED [ 89%] tests/test_session.py::test_session_scope_override_field_hydrates[last_window_index] PASSED [ 90%] tests/test_session.py::test_session_refresh_raises_when_session_id_is_none PASSED [ 90%] tests/test_session.py::test_kill_session_group 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 [ 90%] tests/test_version.py::test_version[minor_version] PASSED [ 90%] tests/test_version.py::test_version[patch_version] PASSED [ 90%] 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 [ 91%] tests/test_version.py::test_version[next_with_number] PASSED [ 91%] tests/test_version.py::test_version_compare[equal_simple] PASSED [ 91%] tests/test_version.py::test_version_compare[equal_with_minor] PASSED [ 91%] tests/test_version.py::test_version_compare[equal_with_patch] PASSED [ 91%] tests/test_version.py::test_version_compare[greater_than_alpha] PASSED [ 91%] tests/test_version.py::test_version_compare[greater_than_beta] PASSED [ 91%] tests/test_version.py::test_version_compare[less_than_patch] PASSED [ 92%] tests/test_version.py::test_version_compare[less_than_openbsd] PASSED [ 92%] tests/test_version.py::test_version_compare[less_than_equal_raises] PASSED [ 92%] tests/test_version.py::test_version_compare[beta_to_rc_compare] PASSED [ 92%] tests/test_window.py::test_select_window PASSED [ 92%] tests/test_window.py::test_fresh_window_data PASSED [ 92%] tests/test_window.py::test_newest_pane_data PASSED [ 92%] tests/test_window.py::test_active_pane PASSED [ 92%] tests/test_window.py::test_split PASSED [ 92%] tests/test_window.py::test_split_shell PASSED [ 92%] tests/test_window.py::test_split_horizontal PASSED [ 92%] tests/test_window.py::test_split_size PASSED [ 93%] tests/test_window.py::test_window_rename[rename_with_spaces] PASSED [ 93%] tests/test_window.py::test_window_rename[rename_with_escapes] PASSED [ 93%] tests/test_window.py::test_new_window_name_colon_period_accepted[colon] PASSED [ 93%] tests/test_window.py::test_new_window_name_colon_period_accepted[period] PASSED [ 93%] tests/test_window.py::test_kill_window PASSED [ 93%] tests/test_window.py::test_show_window_options PASSED [ 93%] tests/test_window.py::test_set_window_and_show_window_options PASSED [ 93%] tests/test_window.py::test_set_and_show_window_options PASSED [ 93%] tests/test_window.py::test_empty_window_option_returns_None PASSED [ 93%] tests/test_window.py::test_show_window_option PASSED [ 94%] tests/test_window.py::test_show_window_option_unknown PASSED [ 94%] tests/test_window.py::test_show_window_option_ambiguous PASSED [ 94%] tests/test_window.py::test_set_window_option_ambiguous PASSED [ 94%] tests/test_window.py::test_set_window_option_invalid PASSED [ 94%] tests/test_window.py::test_move_window PASSED [ 94%] tests/test_window.py::test_move_window_to_other_session PASSED [ 94%] tests/test_window.py::test_move_window_relative_returns_fresh_window[after-0] PASSED [ 94%] tests/test_window.py::test_move_window_relative_returns_fresh_window[before-1] PASSED [ 94%] tests/test_window.py::test_move_window_to_other_session_with_destination PASSED [ 94%] tests/test_window.py::test_select_layout_accepts_no_arg PASSED [ 94%] tests/test_window.py::test_empty_window_name PASSED [ 95%] tests/test_window.py::test_split_with_environment[single_env_var] PASSED [ 95%] tests/test_window.py::test_split_with_environment[multiple_env_vars] PASSED [ 95%] tests/test_window.py::test_split_window_zoom PASSED [ 95%] tests/test_window.py::test_resize PASSED [ 95%] tests/test_window.py::test_new_window_with_direction PASSED [ 95%] tests/test_window.py::test_window_context_manager PASSED [ 95%] tests/test_window.py::test_split_start_directory[none_value] PASSED [ 95%] tests/test_window.py::test_split_start_directory[empty_string] PASSED [ 95%] tests/test_window.py::test_split_start_directory[user_path] PASSED [ 95%] tests/test_window.py::test_split_start_directory[relative_path] PASSED [ 96%] tests/test_window.py::test_split_start_directory_pathlib PASSED [ 96%] tests/test_window.py::test_deprecated_window_methods_emit_warning[set_window_option] PASSED [ 96%] tests/test_window.py::test_deprecated_window_methods_emit_warning[show_window_options] PASSED [ 96%] tests/test_window.py::test_deprecated_window_methods_emit_warning[show_window_option] PASSED [ 96%] tests/test_window.py::test_select_layout_spread PASSED [ 96%] tests/test_window.py::test_select_layout_next_previous PASSED [ 96%] tests/test_window.py::test_last_pane PASSED [ 96%] tests/test_window.py::test_next_layout PASSED [ 96%] tests/test_window.py::test_previous_layout PASSED [ 96%] tests/test_window.py::test_select_layout_mutual_exclusion PASSED [ 96%] tests/test_window.py::test_link_unlink_window PASSED [ 97%] tests/test_window.py::test_rotate_window PASSED [ 97%] tests/test_window.py::test_respawn_window PASSED [ 97%] tests/test_window.py::test_swap_window PASSED [ 97%] tests/test_window.py::test_move_window_kill_target PASSED [ 97%] tests/test_window.py::test_move_window_renumber PASSED [ 97%] tests/test_window.py::test_move_window_no_select PASSED [ 97%] tests/test_window.py::test_window_display_message_flags[window_id] PASSED [ 97%] tests/test_window.py::test_window_display_message_flags[window_index_via_format_string] PASSED [ 97%] tests/test_window.py::test_window_display_message_flags[zoomed_flag_default_zero] PASSED [ 97%] tests/test_window.py::test_window_display_message_flags[no_expand_literal] PASSED [ 98%] tests/test_window.py::test_window_display_message_no_text_returns_none PASSED [ 98%] tests/test_window.py::test_window_display_message_target_client PASSED [ 98%] tests/test_window.py::test_window_display_message_warns_on_tmux_error PASSED [ 98%] tests/test_window.py::test_window_zoomed_flag_field_toggle PASSED [ 98%] tests/test_window.py::test_window_search_panes_filter_by_id PASSED [ 98%] tests/test_window.py::test_window_search_panes_no_filter_equivalent_to_property PASSED [ 98%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_active_clients_list] PASSED [ 98%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_active_sessions_list] PASSED [ 98%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_activity_flag] PASSED [ 98%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_bell_flag] PASSED [ 98%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_bigger] PASSED [ 99%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_end_flag] PASSED [ 99%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_flags] PASSED [ 99%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_format] PASSED [ 99%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_last_flag] PASSED [ 99%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_silence_flag] PASSED [ 99%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_start_flag] PASSED [ 99%] tests/test_window.py::test_window_format_field_declared_and_hydrated[window_visible_layout] PASSED [ 99%] tests/test_window.py::test_window_flags_field_returns_string PASSED [ 99%] tests/test_window.py::test_window_refresh_raises_when_window_id_is_none PASSED [ 99%] tests/test_window.py::test_new_pane PASSED [100%] =================================== FAILURES =================================== __________________ test_break_pane_no_name_uses_natural_name ___________________ session = Session($1 libtmux_jg983qdv) def test_break_pane_no_name_uses_natural_name(session: Session) -> None: """Pane.break_pane() without a name keeps tmux's default window name. The tmux 3.7 break-pane crash workaround injects a placeholder ``-n`` when no ``window_name`` is given. On tmux 3.7a/3.7b, where the crash is already fixed, that placeholder must not leak as the window name -- the broken window should keep tmux's own auto-name (here ``sleep``). """ window = session.new_window(window_name="test_break_natural") pane = window.active_pane assert pane is not None new_pane = pane.split(shell="sleep 123") broken = new_pane.break_pane() > assert broken.window_name == "sleep" E AssertionError: assert 'qemu-riscv64-static' == 'sleep' E E - sleep E + qemu-riscv64-static tests/test_pane.py:1363: AssertionError __________________________ test_tmux_bin_invalid_path __________________________ def test_tmux_bin_invalid_path() -> None: """Invalid tmux_bin raises TmuxCommandNotFound.""" from libtmux import exc s = Server(tmux_bin="/nonexistent/tmux") > with pytest.raises(exc.TmuxCommandNotFound): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E Failed: DID NOT RAISE tests/test_server.py:506: Failed ___________________ test_tmux_bin_invalid_path_raise_if_dead ___________________ def test_tmux_bin_invalid_path_raise_if_dead() -> None: """Invalid tmux_bin raises TmuxCommandNotFound in raise_if_dead().""" from libtmux import exc s = Server(tmux_bin="/nonexistent/tmux") with pytest.raises(exc.TmuxCommandNotFound): > s.raise_if_dead() tests/test_server.py:516: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test_dir/usr/lib/python3.14/site-packages/libtmux/server.py:330: in raise_if_dead subprocess.check_call([resolved, *cmd_args]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['/nonexistent/tmux', 'list-sessions'],), kwargs = {} retcode = 127, cmd = ['/nonexistent/tmux', 'list-sessions'] def check_call(*popenargs, **kwargs): """Run command with arguments. Wait for command to complete. If the exit code was zero then return, otherwise raise CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute. The arguments are the same as for the call function. Example: check_call(["ls", "-l"]) """ retcode = call(*popenargs, **kwargs) if retcode: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] > raise CalledProcessError(retcode, cmd) E subprocess.CalledProcessError: Command '['/nonexistent/tmux', 'list-sessions']' returned non-zero exit status 127. /usr/lib/python3.14/subprocess.py:420: CalledProcessError =========================== short test summary info ============================ FAILED tests/test_pane.py::test_break_pane_no_name_uses_natural_name - AssertionError: assert 'qemu-riscv64-static' == 'sleep' - sleep + qemu-riscv64-static FAILED tests/test_server.py::test_tmux_bin_invalid_path - Failed: DID NOT RAISE FAILED tests/test_server.py::test_tmux_bin_invalid_path_raise_if_dead - subprocess.CalledProcessError: Command '['/nonexistent/tmux', 'list-sessions']' returned non-zero exit status 127. ==== 3 failed, 1048 passed, 1 skipped, 10 deselected in 1084.21s (0:18:04) ===== ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-1/build receiving incremental file list python-libtmux-0.62.0-1-riscv64-build.log python-libtmux-0.62.0-1-riscv64-check.log sent 62 bytes received 12,212 bytes 4,909.60 bytes/sec total size is 95,845 speedup is 7.81