[INFO] fetching crate php-lsp 0.1.54...
[INFO] testing php-lsp-0.1.54 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] extracting crate php-lsp 0.1.54 into /workspace/builds/worker-7-tc2/source
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate php-lsp 0.1.54
[INFO] finished tweaking crates.io crate php-lsp 0.1.54
[INFO] tweaked toml for crates.io crate php-lsp 0.1.54 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate php-lsp 0.1.54 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate php-lsp 0.1.54 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3b8de19b3b72ee2484edb3605c26e8ffedef31adaa692a6a0ec3587d1075040f
[INFO] running `Command { std: "docker" "start" "-a" "3b8de19b3b72ee2484edb3605c26e8ffedef31adaa692a6a0ec3587d1075040f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b8de19b3b72ee2484edb3605c26e8ffedef31adaa692a6a0ec3587d1075040f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b8de19b3b72ee2484edb3605c26e8ffedef31adaa692a6a0ec3587d1075040f", kill_on_drop: false }`
[INFO] [stdout] 3b8de19b3b72ee2484edb3605c26e8ffedef31adaa692a6a0ec3587d1075040f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c057f7f30c8184cff0b98160769e9e2c672649c30206c41e4376e441bfd6a0fb
[INFO] running `Command { std: "docker" "start" "-a" "c057f7f30c8184cff0b98160769e9e2c672649c30206c41e4376e441bfd6a0fb", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling php-rs-parser v0.6.2
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling supports-unicode v3.0.0
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling mir-analyzer v0.4.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling hybrid-array v0.4.10
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tower-lsp-macros v0.9.0
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling php-ast v0.6.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mir-types v0.4.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling php-lexer v0.6.2
[INFO] [stderr]    Compiling tokio v1.51.1
[INFO] [stderr]    Compiling mir-issues v0.4.1
[INFO] [stderr]    Compiling mir-codebase v0.4.1
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling lsp-types v0.94.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-lsp v0.20.0
[INFO] [stderr]    Compiling php-lsp v0.1.54 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "c057f7f30c8184cff0b98160769e9e2c672649c30206c41e4376e441bfd6a0fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c057f7f30c8184cff0b98160769e9e2c672649c30206c41e4376e441bfd6a0fb", kill_on_drop: false }`
[INFO] [stdout] c057f7f30c8184cff0b98160769e9e2c672649c30206c41e4376e441bfd6a0fb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d8b0b2816d519c8642b195e52007e890e45177728d5a6c014d5bb15ab9e5f52
[INFO] running `Command { std: "docker" "start" "-a" "5d8b0b2816d519c8642b195e52007e890e45177728d5a6c014d5bb15ab9e5f52", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling dissimilar v1.0.11
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling expect-test v1.5.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling php-ast v0.6.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling mir-types v0.4.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio v1.51.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling php-lexer v0.6.2
[INFO] [stderr]    Compiling mir-issues v0.4.1
[INFO] [stderr]    Compiling mir-codebase v0.4.1
[INFO] [stderr]    Compiling php-rs-parser v0.6.2
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling lsp-types v0.94.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling mir-analyzer v0.4.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-lsp v0.20.0
[INFO] [stderr]    Compiling php-lsp v0.1.54 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "5d8b0b2816d519c8642b195e52007e890e45177728d5a6c014d5bb15ab9e5f52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d8b0b2816d519c8642b195e52007e890e45177728d5a6c014d5bb15ab9e5f52", kill_on_drop: false }`
[INFO] [stdout] 5d8b0b2816d519c8642b195e52007e890e45177728d5a6c014d5bb15ab9e5f52
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0a280ba1e67854afe3fab4263e1605450cdbec8d3f9f2c28c068a7a0da2ce11f
[INFO] running `Command { std: "docker" "start" "-a" "0a280ba1e67854afe3fab4263e1605450cdbec8d3f9f2c28c068a7a0da2ce11f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/php_lsp-8a164cd684f62b83)
[INFO] [stdout] 
[INFO] [stdout] running 767 tests
[INFO] [stdout] test ast::tests::offset_to_position_second_line ... ok
[INFO] [stdout] test ast::tests::offset_to_position_first_line ... ok
[INFO] [stdout] test ast::tests::offset_to_position_multibyte_utf16 ... ok
[INFO] [stdout] test ast::tests::str_offset_content_fallback_for_different_allocation ... ok
[INFO] [stdout] test ast::tests::offset_to_position_crlf_start_of_line ... ok
[INFO] [stdout] test ast::tests::offset_to_position_crlf_multiline ... ok
[INFO] [stdout] test ast::tests::str_offset_finds_substr ... ok
[INFO] [stdout] test autoload::tests::constraint_major_only_without_minor ... ok
[INFO] [stdout] test ast::tests::parses_empty_source ... ok
[INFO] [stdout] test autoload::tests::constraint_empty_string_returns_none ... ok
[INFO] [stdout] test autoload::tests::constraint_wildcard_returns_none ... ok
[INFO] [stdout] test ast::tests::str_offset_unrelated_content_returns_zero ... ok
[INFO] [stdout] test autoload::tests::empty_map_resolves_nothing ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_range ... ok
[INFO] [stdout] test autoload::tests::detect_platform_version_returns_none_when_no_platform_config ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_caret ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_gte ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_platform_config ... ok
[INFO] [stdout] test ast::tests::parses_function ... ok
[INFO] [stdout] test autoload::tests::detect_version_or_constraint_three_clauses ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_wildcard ... ok
[INFO] [stdout] test autoload::tests::detect_version_or_constraint_unsorted ... ok
[INFO] [stdout] test autoload::tests::autoload_dev_entries_are_included ... ok
[INFO] [stdout] test autoload::tests::detect_version_returns_none_when_no_composer_json ... ok
[INFO] [stdout] test ast::tests::offset_to_position_crlf_does_not_count_cr_in_column ... ok
[INFO] [stdout] test autoload::tests::psr4_exact_prefix_still_resolves ... ok
[INFO] [stdout] test autoload::tests::platform_version_major_only_returns_none ... ok
[INFO] [stdout] test autoload::tests::resolve_unsupported_old_version_is_returned_from_require ... ok
[INFO] [stdout] test autoload::tests::detect_version_returns_none_when_no_php_entry ... ok
[INFO] [stdout] test autoload::tests::resolve_platform_beats_require ... ok
[INFO] [stdout] test autoload::tests::psr4_prefix_does_not_match_longer_namespace ... ok
[INFO] [stdout] test autoload::tests::loads_empty_when_composer_json_absent ... ok
[INFO] [stdout] test autoload::tests::leading_backslash_is_stripped ... ok
[INFO] [stdout] test autoload::tests::detect_version_or_constraint_picks_highest ... ok
[INFO] [stdout] test autoload::tests::resolve_explicit_overrides_composer ... ok
[INFO] [stdout] test autoload::tests::longer_prefix_wins_over_shorter ... ok
[INFO] [stdout] test autoload::tests::resolves_class_from_composer_json ... ok
[INFO] [stdout] test autoload::tests::returns_none_when_file_does_not_exist ... ok
[INFO] [stdout] test autoload::tests::resolve_tilde_constraint ... ok
[INFO] [stdout] test autoload::tests::resolve_require_used_as_last_resort ... ok
[INFO] [stdout] test autoload::tests::resolve_default_when_no_composer_json_and_no_roots ... ok
[INFO] [stdout] test backend::integration::code_lens_returned_for_function ... ok
[INFO] [stdout] test backend::integration::implementation_finds_concrete_class ... ok
[INFO] [stdout] test backend::integration::definition_for_class_returns_location ... ok
[INFO] [stdout] test backend::integration::hover_on_opened_document ... ok
[INFO] [stdout] test backend::integration::references_on_method_decl_excludes_cross_file_free_function ... ok
[INFO] [stdout] test backend::integration::references_on_method_decl_returns_method_refs_not_function_refs ... ok
[INFO] [stdout] test backend::integration::document_symbols_lists_functions_and_classes ... ok
[INFO] [stdout] test backend::integration::document_highlight_marks_occurrences ... ok
[INFO] [stdout] test backend::tests::build_use_import_edit_inserts_after_existing_use ... ok
[INFO] [stdout] test backend::tests::build_use_import_edit_inserts_after_php_tag ... ok
[INFO] [stdout] test backend::tests::cursor_on_enum_method_decl_returns_true ... ok
[INFO] [stdout] test backend::tests::cursor_on_free_function_decl_returns_false ... ok
[INFO] [stdout] test backend::tests::cursor_on_interface_method_decl_returns_true ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_call_site_returns_false ... ok
[INFO] [stdout] test backend::integration::completion_after_initialize ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_decl_in_unbraced_namespace_returns_true ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_decl_name_returns_true ... ok
[INFO] [stdout] test backend::tests::cursor_on_trait_method_decl_returns_true ... ok
[INFO] [stdout] test backend::tests::defer_actions_strips_edit_and_adds_data ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_can_disable_individual_flags ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_defaults_all_enabled ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_from_empty_object_uses_defaults ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_from_non_object_uses_defaults ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_master_switch_disables_all ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_existing_use ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_namespace ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_namespace_and_use ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_php_open_tag ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_empty_file ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_at_start_of_property ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_on_standalone_identifier ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_out_of_bounds_line ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_with_method_call ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_without_arrow ... ok
[INFO] [stdout] test backend::tests::lsp_config_default_is_empty ... ok
[INFO] [stdout] test backend::tests::lsp_config_ignores_missing_fields ... ok
[INFO] [stdout] test backend::tests::lsp_config_parses_diagnostics_section ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_decl_in_braced_namespace_returns_true ... ok
[INFO] [stdout] test backend::tests::lsp_config_parses_exclude_paths ... ok
[INFO] [stdout] test backend::tests::lsp_config_parses_php_version ... ok
[INFO] [stdout] test backend::tests::position_to_offset_first_line ... ok
[INFO] [stdout] test backend::tests::position_to_offset_line_boundary_returns_none ... ok
[INFO] [stdout] test backend::tests::position_to_offset_second_line ... ok
[INFO] [stdout] test backend::tests::undefined_class_name_extracted_from_message ... ok
[INFO] [stdout] test backend::tests::php_file_op_matches_php_files ... ok
[INFO] [stdout] test call_hierarchy::tests::incoming_calls_cross_file ... ok
[INFO] [stdout] test call_hierarchy::tests::incoming_calls_empty_when_no_callers ... ok
[INFO] [stdout] test call_hierarchy::tests::incoming_calls_finds_callers ... ok
[INFO] [stdout] test backend::tests::undefined_function_message_not_matched_by_extraction ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_cross_file ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_deduplicates_same_callee ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_empty_for_function_with_no_calls ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_from_enum_method ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_from_for_init_and_update ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_finds_callees ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_finds_function_declaration ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_finds_enum_method_declaration ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_returns_none_for_empty_docs ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_returns_none_for_unknown ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_finds_method_declaration ... ok
[INFO] [stdout] test code_lens::tests::docblock_test_annotation_triggers_run_test_lens ... ok
[INFO] [stdout] test call_hierarchy::tests::range_contains_excludes_exact_end_position ... ok
[INFO] [stdout] test code_lens::tests::emits_implementations_lens_for_interface ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_class_declaration ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_enum_declaration ... ok
[INFO] [stdout] test code_lens::tests::emits_implementations_lens_for_abstract_class ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_enum_method ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_interface ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_top_level_function ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_trait_declaration ... ok
[INFO] [stdout] test code_lens::tests::emits_overrides_lens_for_overriding_method ... ok
[INFO] [stdout] test code_lens::tests::emits_trait_usages_lens_counts_classes_using_trait ... ok
[INFO] [stdout] test code_lens::tests::emits_trait_usages_lens_with_zero_when_unused ... ok
[INFO] [stdout] test code_lens::tests::emits_run_test_lens_for_test_method ... ok
[INFO] [stdout] test code_lens::tests::no_run_test_lens_for_regular_method ... ok
[INFO] [stdout] test code_lens::tests::fqn_test_attribute_triggers_run_test_lens ... ok
[INFO] [stdout] test code_lens::tests::ref_count_includes_call_sites ... ok
[INFO] [stdout] test code_lens::tests::run_test_lens_has_correct_command ... ok
[INFO] [stdout] test code_lens::tests::ref_count_lens_shows_zero_for_unused ... ok
[INFO] [stdout] test code_lens::tests::trait_usages_lens_counts_across_multiple_docs ... ok
[INFO] [stdout] test code_lens::tests::test_attribute_triggers_run_test_lens ... ok
[INFO] [stdout] test completion::tests::all_keyword_items_have_keyword_kind ... ok
[INFO] [stdout] test completion::tests::array_destructuring_short_syntax_produces_variables ... ok
[INFO] [stdout] test completion::tests::array_destructuring_variables_have_variable_kind ... ok
[INFO] [stdout] test completion::tests::arrow_trigger_does_not_complete_on_unknown_receiver ... ok
[INFO] [stdout] test completion::tests::arrow_trigger_returns_only_methods ... ok
[INFO] [stdout] test completion::tests::attribute_bracket_cross_ns_gets_use_insertion ... ok
[INFO] [stdout] test completion::tests::attribute_bracket_same_ns_no_use_insertion ... ok
[INFO] [stdout] test completion::tests::attribute_bracket_suggests_classes ... ok
[INFO] [stdout] test completion::tests::array_destructuring_respects_cursor_line_scope ... ok
[INFO] [stdout] test completion::tests::backed_enum_arrow_completion_includes_value_property ... ok
[INFO] [stdout] test completion::tests::backslash_prefix_suggests_matching_classes ... ok
[INFO] [stdout] test completion::tests::builtin_functions_get_snippet ... ok
[INFO] [stdout] test completion::tests::class_constant_appears_in_completions ... ok
[INFO] [stdout] test completion::tests::class_property_appears_in_completions ... ok
[INFO] [stdout] test completion::tests::colon_trigger_returns_static_members ... ok
[INFO] [stdout] test completion::tests::builtins_appear_in_default_completions ... ok
[INFO] [stdout] test completion::tests::constructor_chain_arrow_completion ... ok
[INFO] [stdout] test completion::tests::cross_file_symbols_appear_in_default_completions ... ok
[INFO] [stdout] test completion::tests::cross_file_variables_not_included_in_default_completions ... ok
[INFO] [stdout] test completion::tests::dollar_trigger_returns_only_variables ... ok
[INFO] [stdout] test completion::tests::enum_arrow_completion_includes_name_property ... ok
[INFO] [stdout] test completion::tests::extracts_class_method_names ... ok
[INFO] [stdout] test completion::tests::extracts_function_parameters_as_variables ... ok
[INFO] [stdout] test completion::tests::cross_file_class_gets_use_insertion ... ok
[INFO] [stdout] test completion::tests::extracts_interface_name ... ok
[INFO] [stdout] test completion::tests::extracts_top_level_class_name ... ok
[INFO] [stdout] test completion::tests::extracts_symbols_inside_namespace ... ok
[INFO] [stdout] test completion::tests::extracts_top_level_function_name ... ok
[INFO] [stdout] test completion::tests::function_with_params_gets_snippet ... ok
[INFO] [stdout] test backend::integration::initialize_returns_server_capabilities ... ok
[INFO] [stdout] test completion::tests::function_without_params_gets_plain_call ... ok
[INFO] [stdout] test completion::tests::include_path_completions_dir_entries_have_folder_kind ... ok
[INFO] [stdout] test backend::integration::references_finds_all_usages_of_function ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_double_dot_prefix ... ok
[INFO] [stdout] test completion::tests::include_path_completions_insert_text_includes_directory_prefix ... ok
[INFO] [stdout] test completion::tests::include_path_completions_lists_relative_directory ... ok
[INFO] [stdout] test completion::tests::include_path_completions_is_empty_for_non_existent_directory ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_empty_for_bare_quote ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_none_for_absolute_path ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_none_for_non_include_line ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_relative_dot_slash ... ok
[INFO] [stdout] test completion::tests::inherited_methods_appear_in_arrow_completion ... ok
[INFO] [stdout] test completion::tests::keywords_list_is_non_empty ... ok
[INFO] [stdout] test completion::tests::instanceof_narrowing_provides_arrow_completions ... ok
[INFO] [stdout] test completion::tests::keywords_contain_common_php_keywords ... ok
[INFO] [stdout] test completion::tests::magic_constants_have_constant_kind ... ok
[INFO] [stdout] test completion::tests::magic_constants_all_present ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_none_for_stream_wrapper ... ok
[INFO] [stdout] test completion::tests::magic_methods_suggested_in_class_body ... ok
[INFO] [stdout] test completion::tests::none_trigger_returns_keywords_functions_classes ... ok
[INFO] [stdout] test completion::tests::nullsafe_arrow_triggers_member_completions ... ok
[INFO] [stdout] test completion::tests::pure_enum_arrow_completion_has_no_value_property ... ok
[INFO] [stdout] test completion::tests::resolve_attribute_class_extracts_name ... ok
[INFO] [stdout] test completion::tests::resolve_attribute_class_fqn_extracts_short_name ... ok
[INFO] [stdout] test completion::tests::readonly_property_has_detail_tag ... ok
[INFO] [stdout] test completion::tests::param_named_arg_completion ... ok
[INFO] [stdout] test completion::tests::resolve_attribute_class_returns_none_for_regular_call ... ok
[INFO] [stdout] test completion::tests::snapshot_keyword_completions_present ... ok
[INFO] [stdout] test completion::tests::snapshot_arrow_completions_for_typed_var ... ok
[INFO] [stdout] test completion::tests::snapshot_symbol_completions_for_function_with_params ... ok
[INFO] [stdout] test completion::tests::snapshot_symbol_completions_for_simple_class ... ok
[INFO] [stdout] test completion::tests::static_trigger_shows_only_static_members ... ok
[INFO] [stdout] test completion::tests::superglobals_appear_on_dollar_trigger ... ok
[INFO] [stdout] test completion::tests::union_type_param_completes_both_classes ... ok
[INFO] [stdout] test completion::tests::match_arm_suggests_enum_cases ... ok
[INFO] [stdout] test completion::tests::superglobals_appear_in_default_completions ... ok
[INFO] [stdout] test completion::tests::same_namespace_class_gets_no_use_insertion ... ok
[INFO] [stdout] test completion::tests::use_statement_suggests_fqns ... ok
[INFO] [stdout] test declaration::tests::cross_file_interface_declaration ... ok
[INFO] [stdout] test completion::tests::variables_after_cursor_not_suggested ... ok
[INFO] [stdout] test declaration::tests::falls_back_to_definition_for_concrete_function ... ok
[INFO] [stdout] test completion::tests::variable_assignment_produces_variable_item ... ok
[INFO] [stdout] test declaration::tests::finds_abstract_method_declaration ... ok
[INFO] [stdout] test declaration::tests::finds_interface_name_declaration ... ok
[INFO] [stdout] test declaration::tests::finds_interface_method_declaration ... ok
[INFO] [stdout] test definition::tests::current_file_takes_priority_over_other_docs ... ok
[INFO] [stdout] test definition::tests::finds_class_definition_in_other_document ... ok
[INFO] [stdout] test declaration::tests::returns_none_for_unknown_word ... ok
[INFO] [stdout] test declaration::tests::finds_enum_method_declaration ... ok
[INFO] [stdout] test definition::tests::finds_function_definition_in_other_document ... ok
[INFO] [stdout] test definition::tests::goto_definition_property ... ok
[INFO] [stdout] test definition::tests::goto_definition_class_constant ... ok
[INFO] [stdout] test definition::tests::jumps_to_class_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_class_method_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_enum_case_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_enum_method_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_enum_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_function_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_interface_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_symbol_inside_namespace ... ok
[INFO] [stdout] test definition::tests::jumps_to_trait_definition ... ok
[INFO] [stdout] test diagnostics::tests::probe_zero_width_spans ... ok
[INFO] [stdout] test diagnostics::tests::valid_php_produces_no_diagnostics ... ok
[INFO] [stdout] test diagnostics::tests::syntax_error_produces_diagnostic ... ok
[INFO] [stdout] test docblock::tests::advanced_type_generic_array ... ok
[INFO] [stdout] test docblock::tests::advanced_type_non_empty_string ... ok
[INFO] [stdout] test definition::tests::variable_goto_definition_jumps_to_first_occurrence ... ok
[INFO] [stdout] test backend::integration::declaration_returns_location_for_abstract_method ... ok
[INFO] [stdout] test docblock::tests::find_docblock_returns_none_without_docblock ... ok
[INFO] [stdout] test docblock::tests::find_docblock_from_ast ... ok
[INFO] [stdout] test docblock::tests::method_tag_extracts_return_type ... ok
[INFO] [stdout] test docblock::tests::not_deprecated_when_tag_absent ... ok
[INFO] [stdout] test docblock::tests::multiple_params ... ok
[INFO] [stdout] test docblock::tests::param_and_return_descriptions_preserved ... ok
[INFO] [stdout] test docblock::tests::param_without_description_parses_correctly ... ok
[INFO] [stdout] test docblock::tests::parses_callable_param ... ok
[INFO] [stdout] test docblock::tests::parses_deprecated_without_message ... ok
[INFO] [stdout] test docblock::tests::parses_description ... ok
[INFO] [stdout] test docblock::tests::parses_link_tag ... ok
[INFO] [stdout] test docblock::tests::parses_method_tag ... ok
[INFO] [stdout] test docblock::tests::parses_mixin_tag ... ok
[INFO] [stdout] test docblock::tests::parses_multiple_throws ... ok
[INFO] [stdout] test docblock::tests::parses_param_tag ... ok
[INFO] [stdout] test docblock::tests::parses_phpstan_type_alias ... ok
[INFO] [stdout] test docblock::tests::parses_property_read_tag ... ok
[INFO] [stdout] test docblock::tests::parses_deprecated_with_message ... ok
[INFO] [stdout] test docblock::tests::parses_property_tag ... ok
[INFO] [stdout] test docblock::tests::parses_psalm_type_alias ... ok
[INFO] [stdout] test docblock::tests::parses_return_tag ... ok
[INFO] [stdout] test docblock::tests::parses_see_tag ... ok
[INFO] [stdout] test docblock::tests::parses_static_method_tag ... ok
[INFO] [stdout] test docblock::tests::parses_template_tag ... ok
[INFO] [stdout] test docblock::tests::parses_template_with_bound ... ok
[INFO] [stdout] test docblock::tests::parses_throws_tag ... ok
[INFO] [stdout] test docblock::tests::parses_var_tag ... ok
[INFO] [stdout] test docblock::tests::parses_var_tag_with_description ... ok
[INFO] [stdout] test docblock::tests::phpstan_return_alias_parsed_as_return ... ok
[INFO] [stdout] test docblock::tests::phpstan_var_alias_parsed_as_var ... ok
[INFO] [stdout] test docblock::tests::psalm_param_alias_parsed_as_param ... ok
[INFO] [stdout] test docblock::tests::psalm_return_alias_parsed_as_return ... ok
[INFO] [stdout] test docblock::tests::psalm_var_alias_parsed_as_var ... ok
[INFO] [stdout] test docblock::tests::throws_description_preserved ... ok
[INFO] [stdout] test docblock::tests::to_markdown_includes_description_and_return ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_deprecated_banner ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_mixin ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_see ... ok
[INFO] [stdout] test docblock::tests::phpstan_param_alias_parsed_as_param ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_template ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_throws ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_type_alias ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_var_type ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_var_type_with_description ... ok
[INFO] [stdout] test docblock::tests::union_type_param_parsed ... ok
[INFO] [stdout] test document_highlight::tests::highlight_ranges_span_word_length ... ok
[INFO] [stdout] test document_highlight::tests::highlights_function_declaration_and_calls ... ok
[INFO] [stdout] test document_highlight::tests::highlights_method_calls ... ok
[INFO] [stdout] test document_highlight::tests::highlights_return_correct_count_and_lines ... ok
[INFO] [stdout] test document_highlight::tests::highlights_variable_in_scope ... ok
[INFO] [stdout] test document_highlight::tests::no_highlights_beyond_line_end ... ok
[INFO] [stdout] test document_highlight::tests::returns_empty_for_unknown_word ... ok
[INFO] [stdout] test document_highlight::tests::highlights_class_name ... ok
[INFO] [stdout] test document_highlight::tests::variable_highlight_does_not_cross_scope ... ok
[INFO] [stdout] test document_link::tests::docblock_at_link_produces_link ... ok
[INFO] [stdout] test document_link::tests::docblock_link_position_correct_after_multibyte_chars ... ok
[INFO] [stdout] test document_link::tests::docblock_see_produces_link ... ok
[INFO] [stdout] test document_link::tests::non_http_see_is_ignored ... ok
[INFO] [stdout] test document_store::tests::all_docs_includes_indexed_files ... ok
[INFO] [stdout] test document_store::tests::close_clears_text_but_keeps_doc ... ok
[INFO] [stdout] test document_store::tests::close_nonexistent_uri_is_safe ... ok
[INFO] [stdout] test document_store::tests::close_twice_does_not_duplicate_lru_entry ... ok
[INFO] [stdout] test document_store::tests::eviction_skips_open_files_and_evicts_next_indexed ... ok
[INFO] [stdout] test document_store::tests::eviction_removes_oldest_indexed_file ... ok
[INFO] [stdout] test document_store::tests::get_returns_none_for_unknown_uri ... ok
[INFO] [stdout] test backend::integration::inlay_hints_returned_for_function_call ... ok
[INFO] [stdout] test document_store::tests::index_does_not_overwrite_open_file ... ok
[INFO] [stdout] test document_store::tests::index_stores_doc_without_text ... ok
[INFO] [stdout] test document_store::tests::open_caches_diagnostics_for_invalid_file ... ok
[INFO] [stdout] test document_store::tests::open_then_get_returns_text ... ok
[INFO] [stdout] test document_store::tests::other_docs_excludes_current_uri ... ok
[INFO] [stdout] test document_store::tests::remove_deletes_entry ... ok
[INFO] [stdout] test extract_action::tests::empty_selection_produces_no_action ... ok
[INFO] [stdout] test document_store::tests::update_replaces_text ... ok
[INFO] [stdout] test extract_action::tests::expression_selection_produces_extract_action ... ok
[INFO] [stdout] test extract_action::tests::extract_preserves_indentation ... ok
[INFO] [stdout] test extract_action::tests::selected_text_correct_with_multibyte_prefix ... ok
[INFO] [stdout] test extract_constant_action::tests::derive_name_empty_string_fallback ... ok
[INFO] [stdout] test extract_constant_action::tests::derive_name_from_url_string ... ok
[INFO] [stdout] test extract_constant_action::tests::derive_name_leading_digit_prefixed ... ok
[INFO] [stdout] test extract_constant_action::tests::empty_selection_returns_empty ... ok
[INFO] [stdout] test extract_constant_action::tests::file_scope_insert_does_not_jump_past_code ... ok
[INFO] [stdout] test extract_constant_action::tests::float_literal_at_file_scope ... ok
[INFO] [stdout] test extract_constant_action::tests::integer_literal_at_file_scope ... ok
[INFO] [stdout] test extract_constant_action::tests::literal_after_interface_falls_to_file_scope ... ok
[INFO] [stdout] test extract_constant_action::tests::literal_inside_interface_uses_unqualified_const ... ok
[INFO] [stdout] test extract_constant_action::tests::literal_inside_trait_uses_private_const ... ok
[INFO] [stdout] test extract_constant_action::tests::non_literal_selection_returns_empty ... ok
[INFO] [stdout] test extract_constant_action::tests::string_literal_in_class_scope ... ok
[INFO] [stdout] test extract_method_action::tests::basic_extraction_void_no_params ... ok
[INFO] [stdout] test extract_method_action::tests::extraction_inside_static_method_uses_self_prefix ... ok
[INFO] [stdout] test extract_method_action::tests::extraction_passes_outer_variable_as_parameter ... ok
[INFO] [stdout] test extract_method_action::tests::extraction_returns_variable_used_after_selection ... ok
[INFO] [stdout] test extract_method_action::tests::single_line_selection_produces_no_action ... ok
[INFO] [stdout] test extract_method_action::tests::selection_outside_class_produces_no_action ... ok
[INFO] [stdout] test file_rename::tests::delete_does_not_match_partial ... ok
[INFO] [stdout] test file_rename::tests::delete_removes_whole_use_line ... ok
[INFO] [stdout] test file_rename::tests::delete_with_leading_backslash ... ok
[INFO] [stdout] test file_rename::tests::does_not_replace_partial_match ... ok
[INFO] [stdout] test file_rename::tests::delete_spans_multiple_files ... ok
[INFO] [stdout] test file_rename::tests::ignores_non_use_lines ... ok
[INFO] [stdout] test file_rename::tests::no_edits_when_fqn_unchanged ... ok
[INFO] [stdout] test file_rename::tests::edits_span_multiple_files ... ok
[INFO] [stdout] test file_rename::tests::rename_character_positions_correct_with_multibyte_fqn ... ok
[INFO] [stdout] test file_rename::tests::replaces_simple_use_statement ... ok
[INFO] [stdout] test file_rename::tests::replaces_use_with_alias ... ok
[INFO] [stdout] test file_rename::tests::replaces_use_with_leading_backslash ... ok
[INFO] [stdout] test folding::tests::enum_method_is_folded ... ok
[INFO] [stdout] test folding::tests::folds_braced_namespace ... ok
[INFO] [stdout] test folding::tests::folds_consecutive_use_statements ... ok
[INFO] [stdout] test folding::tests::folds_class_and_its_method ... ok
[INFO] [stdout] test folding::tests::folds_if_statement ... ok
[INFO] [stdout] test folding::tests::folds_interface ... ok
[INFO] [stdout] test folding::tests::folds_multiline_doc_comment ... ok
[INFO] [stdout] test folding::tests::folds_region_endregion ... ok
[INFO] [stdout] test folding::tests::folds_top_level_function ... ok
[INFO] [stdout] test folding::tests::folds_trait_and_its_method ... ok
[INFO] [stdout] test folding::tests::folds_try_catch ... ok
[INFO] [stdout] test folding::tests::nested_folds_both_returned ... ok
[INFO] [stdout] test folding::tests::no_folds_for_empty_file ... ok
[INFO] [stdout] test folding::tests::single_line_construct_produces_no_fold ... ok
[INFO] [stdout] test folding::tests::single_line_function_not_folded ... ok
[INFO] [stdout] test folding::tests::folds_foreach_statement ... ok
[INFO] [stdout] test formatting::tests::format_document_returns_edit_or_none ... ok
[INFO] [stdout] test formatting::tests::format_range_does_not_panic_on_empty_source ... ok
[INFO] [stdout] test formatting::tests::format_range_end_char_is_utf16_not_bytes ... ok
[INFO] [stdout] test formatting::tests::unchanged_source_returns_none ... ok
[INFO] [stdout] test generate_action::tests::generates_getters_and_setters ... ok
[INFO] [stdout] test generate_action::tests::no_constructor_action_for_class_without_properties ... ok
[INFO] [stdout] test generate_action::tests::no_constructor_action_when_constructor_exists ... ok
[INFO] [stdout] test generate_action::tests::skips_existing_getter_setter ... ok
[INFO] [stdout] test hover::tests::cross_file_hover_finds_class_in_other_doc ... ok
[INFO] [stdout] test hover::tests::function_with_no_params_no_return_shows_no_colon ... ok
[INFO] [stdout] test hover::tests::hover_at_column_beyond_line_length_returns_none ... ok
[INFO] [stdout] test hover::tests::hover_on_builtin_class_shows_stub_info ... ok
[INFO] [stdout] test hover::tests::hover_on_builtin_function_returns_signature ... ok
[INFO] [stdout] test hover::tests::hover_on_catch_variable_shows_exception_class ... ok
[INFO] [stdout] test hover::tests::hover_on_class_name_returns_class_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_class_with_extends_shows_parent ... ok
[INFO] [stdout] test hover::tests::hover_on_class_with_implements_shows_interfaces ... ok
[INFO] [stdout] test hover::tests::hover_on_enum_case_shows_case_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_enum_returns_enum_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_enum_with_implements_shows_interface ... ok
[INFO] [stdout] test backend::integration::definition_returns_location_for_function ... ok
[INFO] [stdout] test backend::integration::references_with_exclude_declaration ... ok
[INFO] [stdout] test hover::tests::hover_on_nullsafe_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_function_name_returns_signature ... ok
[INFO] [stdout] test hover::tests::hover_on_promoted_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_promoted_property_shows_only_its_param_docblock ... ok
[INFO] [stdout] test hover::tests::hover_on_promoted_property_with_no_param_docblock_shows_type_only ... ok
[INFO] [stdout] test hover::tests::hover_on_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_property_with_var_tag_and_description ... ok
[INFO] [stdout] test hover::tests::hover_on_property_with_var_tag_shows_type_annotation ... ok
[INFO] [stdout] test extract_action::tests::simple_variable_selection_produces_no_action ... ok
[INFO] [stdout] test hover::tests::hover_on_interface_returns_interface_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_property_shows_docblock ... ok
[INFO] [stdout] test hover::tests::hover_on_trait_method_returns_signature ... ok
[INFO] [stdout] test hover::tests::hover_on_this_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_trait_returns_trait_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_static_var_with_new_shows_class ... ok
[INFO] [stdout] test hover::tests::hover_on_use_alias_shows_fqn ... ok
[INFO] [stdout] test hover::tests::hover_on_unknown_word_returns_none ... ok
[INFO] [stdout] test hover::tests::hover_on_static_var_with_array_default_shows_array ... ok
[INFO] [stdout] test hover::tests::hover_unknown_symbol_returns_none ... ok
[INFO] [stdout] test hover::tests::hover_on_variable_shows_type ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_backed_enum_case_shows_value ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_const_float_value ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_with_extends ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_enum_class_const ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_const_infers_type_from_value ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_const_with_type_hint ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_function_with_return_type ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_interface_const_shows_type_and_value ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_interface ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_method ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_simple_function ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_trait ... ok
[INFO] [stdout] test hover::tests::word_at_extracts_from_middle_of_identifier ... ok
[INFO] [stdout] test implement_action::tests::generates_action_for_abstract_class_method ... ok
[INFO] [stdout] test implement_action::tests::generates_action_for_unimplemented_interface_method ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_trait_const_shows_type_and_value ... ok
[INFO] [stdout] test implement_action::tests::no_action_when_all_methods_implemented ... ok
[INFO] [stdout] test implement_action::tests::resolves_interface_through_use_import ... ok
[INFO] [stdout] test implementation::tests::enum_implementing_interface_is_found ... ok
[INFO] [stdout] test implement_action::tests::stub_body_throws_runtime_exception ... ok
[INFO] [stdout] test implementation::tests::finds_class_extending_parent ... ok
[INFO] [stdout] test implementation::tests::finds_across_multiple_docs ... ok
[INFO] [stdout] test implementation::tests::finds_class_implementing_interface ... ok
[INFO] [stdout] test implementation::tests::goto_implementation_uses_cursor_word ... ok
[INFO] [stdout] test implementation::tests::no_implementations_for_unknown_name ... ok
[INFO] [stdout] test implementation::tests::class_implementing_multiple_interfaces ... ok
[INFO] [stdout] test inlay_hints::tests::arrow_function_variable_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::arrow_function_with_declared_return_type_emits_hint ... ok
[INFO] [stdout] test inlay_hints::tests::calls_inside_enum_method_body_get_hints ... ok
[INFO] [stdout] test inlay_hints::tests::calls_inside_trait_method_body_get_hints ... ok
[INFO] [stdout] test inlay_hints::tests::closure_variable_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::constructor_promoted_properties_get_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::emits_hint_for_single_param_call ... ok
[INFO] [stdout] test inlay_hints::tests::enum_method_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::emits_hints_for_multiple_params ... ok
[INFO] [stdout] test inlay_hints::tests::fewer_args_than_params_emits_hints_for_provided_args_only ... ok
[INFO] [stdout] test backend::integration::did_change_updates_document ... ok
[INFO] [stdout] test inlay_hints::tests::for_loop_init_and_update_get_hints ... ok
[INFO] [stdout] test inlay_hints::tests::foreach_no_hint_when_type_unknown ... ok
[INFO] [stdout] test inlay_hints::tests::foreach_value_variable_gets_type_hint ... ok
[INFO] [stdout] test inlay_hints::tests::function_call_inside_closure_body_gets_hints ... ok
[INFO] [stdout] test inlay_hints::tests::hint_kind_is_parameter ... ok
[INFO] [stdout] test inlay_hints::tests::hint_position_is_at_argument_start ... ok
[INFO] [stdout] test inlay_hints::tests::hint_positions_for_multiple_args ... ok
[INFO] [stdout] test inlay_hints::tests::arrow_function_without_declared_return_type_no_hint ... ok
[INFO] [stdout] test inlay_hints::tests::method_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::more_args_than_params_emits_hints_only_for_known_params ... ok
[INFO] [stdout] test inlay_hints::tests::hints_outside_range_excluded ... ok
[INFO] [stdout] test inlay_hints::tests::new_expression_no_hints_without_constructor ... ok
[INFO] [stdout] test inlay_hints::tests::no_hints_for_unknown_function ... ok
[INFO] [stdout] test inlay_hints::tests::no_hints_for_zero_param_call ... ok
[INFO] [stdout] test inlay_hints::tests::no_return_type_hint_for_void ... ok
[INFO] [stdout] test inlay_hints::tests::return_type_hint_for_assignment ... ok
[INFO] [stdout] test inlay_hints::tests::skips_named_arguments ... ok
[INFO] [stdout] test inlay_hints::tests::trait_method_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::variadic_param_after_regular_params_hints ... ok
[INFO] [stdout] test inlay_hints::tests::variadic_param_hints_for_all_extra_args ... ok
[INFO] [stdout] test inline_action::tests::action_kind_is_refactor_inline ... ok
[INFO] [stdout] test inline_action::tests::inlines_single_usage ... ok
[INFO] [stdout] test inline_action::tests::no_action_when_cursor_not_on_variable ... ok
[INFO] [stdout] test inline_action::tests::no_action_when_no_assignment_found ... ok
[INFO] [stdout] test inline_value::tests::excludes_lines_outside_range ... ok
[INFO] [stdout] test inline_value::tests::finds_variables_in_range ... ok
[INFO] [stdout] test inline_value::tests::skips_this ... ok
[INFO] [stdout] test inline_value::tests::skips_variable_variables ... ok
[INFO] [stdout] test moniker::tests::bare_class_name ... ok
[INFO] [stdout] test moniker::tests::empty_position_returns_none ... ok
[INFO] [stdout] test moniker::tests::namespaced_class ... ok
[INFO] [stdout] test inlay_hints::tests::hints_for_function_inside_namespace ... ok
[INFO] [stdout] test moniker::tests::unknown_word_returns_bare_name ... ok
[INFO] [stdout] test moniker::tests::imported_name_resolves_via_use_statement ... ok
[INFO] [stdout] test moniker::tests::use_alias_resolves_to_fqn ... ok
[INFO] [stdout] test moniker::tests::variable_returns_none ... ok
[INFO] [stdout] test on_type_format::tests::close_brace_aligns_to_opening ... ok
[INFO] [stdout] test on_type_format::tests::close_brace_already_aligned_no_edit ... ok
[INFO] [stdout] test on_type_format::tests::close_brace_nested_block ... ok
[INFO] [stdout] test on_type_format::tests::new_line_after_open_brace_indents ... ok
[INFO] [stdout] test on_type_format::tests::new_line_copies_base_indent ... ok
[INFO] [stdout] test on_type_format::tests::new_line_no_edit_when_already_correct ... ok
[INFO] [stdout] test on_type_format::tests::new_line_uses_tabs_when_configured ... ok
[INFO] [stdout] test on_type_format::tests::unknown_trigger_returns_no_edits ... ok
[INFO] [stdout] test organize_imports::tests::action_kind_is_source_organize_imports ... ok
[INFO] [stdout] test organize_imports::tests::aliased_import_kept_with_alias_syntax ... ok
[INFO] [stdout] test organize_imports::tests::aliased_import_uses_alias_for_usage_check ... ok
[INFO] [stdout] test organize_imports::tests::already_sorted_single_import_returns_none ... ok
[INFO] [stdout] test organize_imports::tests::duplicate_use_statements_are_deduplicated ... ok
[INFO] [stdout] test organize_imports::tests::no_use_statements_returns_none ... ok
[INFO] [stdout] test organize_imports::tests::unsorted_imports_are_sorted ... ok
[INFO] [stdout] test organize_imports::tests::unused_import_is_removed ... ok
[INFO] [stdout] test organize_imports::tests::use_function_and_const_sorted_and_grouped ... ok
[INFO] [stdout] test organize_imports::tests::use_function_only_no_class_imports ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_enum_method ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_method_without_params ... ok
[INFO] [stdout] test backend::integration::folding_ranges_returned_for_class ... ok
[INFO] [stdout] test definition::tests::returns_none_for_unknown_word ... ok
[INFO] [stdout] test phpdoc_action::tests::no_action_for_trait_method_with_existing_docblock ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_undocumented_function ... ok
[INFO] [stdout] test phpdoc_action::tests::no_action_when_cursor_not_on_function ... ok
[INFO] [stdout] test phpdoc_action::tests::no_action_when_docblock_exists ... ok
[INFO] [stdout] test phpdoc_action::tests::preserves_indentation ... ok
[INFO] [stdout] test phpstorm_meta::tests::parses_simple_override ... ok
[INFO] [stdout] test phpstorm_meta::tests::no_match_returns_none ... ok
[INFO] [stdout] test phpstorm_meta::tests::parses_string_literal_key ... ok
[INFO] [stdout] test phpstorm_meta::tests::wildcard_fallback ... ok
[INFO] [stdout] test promote_action::tests::no_action_when_already_promoted ... ok
[INFO] [stdout] test promote_action::tests::no_action_when_no_constructor ... ok
[INFO] [stdout] test promote_action::tests::no_action_when_no_matching_assignment ... ok
[INFO] [stdout] test promote_action::tests::promotes_multiple_properties ... ok
[INFO] [stdout] test docblock::tests::empty_docblock_gives_defaults ... ok
[INFO] [stdout] test docblock::tests::nullable_type_param_parsed ... ok
[INFO] [stdout] test generate_action::tests::generates_constructor_for_class_with_properties ... ok
[INFO] [stdout] test implement_action::tests::use_import_resolution_picks_correct_interface_over_same_short_name ... ok
[INFO] [stdout] test inlay_hints::tests::new_expression_gets_constructor_param_hints ... ok
[INFO] [stdout] test moniker::tests::uniqueness_is_workspace ... ok
[INFO] [stdout] test on_type_format::tests::new_line_at_top_level_no_edit ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_trait_method ... ok
[INFO] [stdout] test references::tests::class_kind_finds_new_expression ... ok
[INFO] [stdout] test references::tests::class_kind_finds_extends_and_implements ... ok
[INFO] [stdout] test references::tests::class_declaration_span_points_to_name_not_keyword ... ok
[INFO] [stdout] test references::tests::declaration_excluded_when_flag_false ... ok
[INFO] [stdout] test references::tests::find_references_returns_correct_lines ... ok
[INFO] [stdout] test references::tests::declaration_filter_finds_method_inside_same_named_class ... ok
[INFO] [stdout] test references::tests::finds_reference_in_class_property_default ... ok
[INFO] [stdout] test references::tests::finds_function_call_reference ... ok
[INFO] [stdout] test references::tests::finds_reference_in_for_init_and_update ... ok
[INFO] [stdout] test references::tests::finds_reference_in_nested_function_call ... ok
[INFO] [stdout] test references::tests::finds_references_across_multiple_docs ... ok
[INFO] [stdout] test references::tests::finds_use_statement_reference ... ok
[INFO] [stdout] test references::tests::function_kind_does_not_include_interface_method_declaration ... ok
[INFO] [stdout] test promote_action::tests::promotes_readonly_property ... ok
[INFO] [stdout] test references::tests::function_declaration_span_points_to_name_not_keyword ... ok
[INFO] [stdout] test references::tests::finds_reference_inside_if_body ... ok
[INFO] [stdout] test promote_action::tests::promotes_simple_private_property ... ok
[INFO] [stdout] test references::tests::class_kind_finds_type_hint ... ok
[INFO] [stdout] test references::tests::finds_method_call_reference ... ok
[INFO] [stdout] test references::tests::finds_new_expression_reference ... ok
[INFO] [stdout] test references::tests::finds_reference_inside_enum_method_body ... ok
[INFO] [stdout] test references::tests::function_kind_skips_method_call_with_same_name ... ok
[INFO] [stdout] test references::tests::include_declaration_adds_def_site ... ok
[INFO] [stdout] test references::tests::interface_method_declaration_excluded_with_kind_none_flag_false ... ok
[INFO] [stdout] test references::tests::function_kind_with_include_declaration_does_not_return_method_call ... ok
[INFO] [stdout] test references::tests::partial_match_not_included ... ok
[INFO] [stdout] test references::tests::interface_method_declaration_included_when_flag_true ... ok
[INFO] [stdout] test references::tests::method_kind_skips_free_function_call_with_same_name ... ok
[INFO] [stdout] test references::tests::method_kind_with_include_declaration_does_not_return_free_function ... ok
[INFO] [stdout] test rename::tests::prepare_rename_allows_variables ... ok
[INFO] [stdout] test references::tests::interface_method_declaration_included_with_kind_none ... ok
[INFO] [stdout] test references::tests::method_declaration_span_points_to_name_not_keyword ... ok
[INFO] [stdout] test rename::tests::prepare_rename_rejects_fqn ... ok
[INFO] [stdout] test rename::tests::prepare_rename_returns_word_range ... ok
[INFO] [stdout] test rename::tests::rename_across_files ... ok
[INFO] [stdout] test rename::tests::rename_does_not_match_partial_words ... ok
[INFO] [stdout] test rename::tests::rename_includes_declaration_site ... ok
[INFO] [stdout] test rename::tests::rename_property_works_across_files ... ok
[INFO] [stdout] test rename::tests::rename_property_renames_declaration_and_accesses ... ok
[INFO] [stdout] test rename::tests::rename_replaces_all_occurrences_in_single_file ... ok
[INFO] [stdout] test rename::tests::rename_variable_does_not_cross_function_boundary ... ok
[INFO] [stdout] test selection_range::tests::contains_handles_multiline_range_end ... ok
[INFO] [stdout] test selection_range::tests::cursor_outside_all_nodes_returns_file_range_only ... ok
[INFO] [stdout] test selection_range::tests::empty_file_returns_file_range ... ok
[INFO] [stdout] test selection_range::tests::file_range_end_character_is_actual_line_length_not_u32_max ... ok
[INFO] [stdout] test selection_range::tests::chain_is_ordered_innermost_to_outermost ... ok
[INFO] [stdout] test rename::tests::rename_updates_use_statement ... ok
[INFO] [stdout] test rename::tests::rename_variable_within_function ... ok
[INFO] [stdout] test selection_range::tests::cursor_in_method_body_includes_method_and_class_ranges ... ok
[INFO] [stdout] test selection_range::tests::cursor_in_function_body_includes_function_range ... ok
[INFO] [stdout] test selection_range::tests::returns_one_result_per_position ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_function_warning_has_correct_message ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_class_emits_warning ... ok
[INFO] [stdout] test selection_range::tests::multiple_positions_are_independent ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_declaration_range_on_correct_line ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_call_nested_in_argument_is_detected ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_method_in_enum_is_detected ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_diagnostic_has_warning_severity ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_method_call_emits_warning ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_function_declaration_range_spans_name ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_method_in_trait_is_detected ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_function_call_emits_warning ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_interface_declaration ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_interface_range_spans_name ... ok
[INFO] [stdout] test semantic_diagnostics::tests::namespace_scoped_duplicate_not_flagged ... ok
[INFO] [stdout] test semantic_diagnostics::tests::no_duplicate_for_unique_declarations ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_declaration_range_spans_full_name ... ok
[INFO] [stdout] test semantic_diagnostics::tests::to_lsp_diagnostic_sets_code_to_issue_kind_name ... ok
[INFO] [stdout] test selection_range::tests::contains_excludes_exact_end_position ... ok
[INFO] [stdout] test semantic_diagnostics::tests::unbraced_namespace_duplicate_in_same_namespace_is_flagged ... ok
[INFO] [stdout] test semantic_tokens::tests::abstract_method_has_abstract_modifier ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_trait_declaration ... ok
[INFO] [stdout] test semantic_tokens::tests::attribute_name_with_multibyte_chars_uses_utf16_length ... ok
[INFO] [stdout] test semantic_tokens::tests::class_declaration_emits_class_token ... ok
[INFO] [stdout] test semantic_tokens::tests::deprecated_function_has_deprecated_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::attribute_name_emits_class_token ... ok
[INFO] [stdout] test semantic_diagnostics::tests::unbraced_namespace_classes_with_same_name_not_flagged ... ok
[INFO] [stdout] test semantic_tokens::tests::empty_file_produces_no_tokens ... ok
[INFO] [stdout] test semantic_tokens::tests::float_literal_emits_number_token ... ok
[INFO] [stdout] test semantic_tokens::tests::enum_declaration_emits_class_token ... ok
[INFO] [stdout] test semantic_tokens::tests::function_call_emits_function_token_without_declaration ... ok
[INFO] [stdout] test semantic_tokens::tests::for_loop_init_and_update_expressions_are_tokenized ... ok
[INFO] [stdout] test semantic_tokens::tests::function_declaration_emits_function_token_with_declaration_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::deprecated_method_has_deprecated_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::keyword_type_hint_on_param_emits_type_token ... ok
[INFO] [stdout] test semantic_tokens::tests::legend_has_correct_token_count ... ok
[INFO] [stdout] test semantic_tokens::tests::interface_declaration_emits_interface_token ... ok
[INFO] [stdout] test semantic_tokens::tests::method_call_emits_method_token_without_declaration ... ok
[INFO] [stdout] test semantic_tokens::tests::method_declaration_emits_method_token ... ok
[INFO] [stdout] test semantic_tokens::tests::named_type_hint_with_multibyte_chars_uses_utf16_length ... ok
[INFO] [stdout] test semantic_tokens::tests::multiline_comment_emits_comment_tokens ... ok
[INFO] [stdout] test semantic_tokens::tests::namespace_contents_are_tokenized ... ok
[INFO] [stdout] test semantic_tokens::tests::parameter_emits_parameter_token ... ok
[INFO] [stdout] test semantic_tokens::tests::parameter_token_includes_dollar_sign ... ok
[INFO] [stdout] test semantic_tokens::tests::method_return_type_emits_type_token ... ok
[INFO] [stdout] test semantic_tokens::tests::single_line_comment_emits_comment_token ... ok
[INFO] [stdout] test semantic_tokens::tests::static_method_has_static_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::string_literal_emits_string_token ... ok
[INFO] [stdout] test semantic_tokens::tests::non_deprecated_function_has_no_deprecated_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::property_emits_property_token ... ok
[INFO] [stdout] test semantic_tokens::tests::tokens_are_delta_encoded_in_order ... ok
[INFO] [stdout] test semantic_tokens::tests::string_literal_with_multibyte_chars_uses_utf16_length ... ok
[INFO] [stdout] test semantic_tokens::tests::integer_literal_emits_number_token ... ok
[INFO] [stdout] test semantic_tokens::tests::property_type_hint_emits_type_token ... ok
[INFO] [stdout] test semantic_tokens::tests::named_type_hint_on_param_emits_type_token ... ok
[INFO] [stdout] test signature_help::tests::active_parameter_tracks_comma ... ok
[INFO] [stdout] test semantic_tokens::tests::variable_expression_emits_variable_token ... ok
[INFO] [stdout] test signature_help::tests::builtin_sigs_are_sorted ... ok
[INFO] [stdout] test semantic_tokens::tests::variable_with_multibyte_name_uses_utf16_length ... ok
[INFO] [stdout] test signature_help::tests::default_values_shown_in_signature ... ok
[INFO] [stdout] test signature_help::tests::method_call_signature_via_function_lookup ... ok
[INFO] [stdout] test signature_help::tests::nested_call_shows_outer_signature ... ok
[INFO] [stdout] test signature_help::tests::param_description_shown_in_parameter_info ... ok
[INFO] [stdout] test signature_help::tests::returns_signature_for_builtin_function ... ok
[INFO] [stdout] test signature_help::tests::returns_none_outside_call ... ok
[INFO] [stdout] test signature_help::tests::trait_method_signature_is_found ... ok
[INFO] [stdout] test stubs::tests::datetime_has_format_method ... ok
[INFO] [stdout] test signature_help::tests::returns_none_for_unknown_function ... ok
[INFO] [stdout] test stubs::tests::exception_has_get_message ... ok
[INFO] [stdout] test stubs::tests::generator_has_send_method ... ok
[INFO] [stdout] test stubs::tests::pdo_has_fetch_assoc_constant ... ok
[INFO] [stdout] test signature_help::tests::enum_method_signature_is_found ... ok
[INFO] [stdout] test symbols::tests::class_constants_are_constant_children ... ok
[INFO] [stdout] test symbols::tests::class_has_class_kind_with_method_children ... ok
[INFO] [stdout] test symbols::tests::class_properties_are_property_children ... ok
[INFO] [stdout] test symbols::tests::deprecated_class_sets_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::deprecated_function_sets_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::deprecated_method_sets_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::function_has_function_kind_and_signature_detail ... ok
[INFO] [stdout] test symbols::tests::function_parameters_are_variable_children ... ok
[INFO] [stdout] test symbols::tests::enum_symbol_has_correct_kind ... ok
[INFO] [stdout] test symbols::tests::function_symbol_has_correct_range ... ok
[INFO] [stdout] test stubs::tests::pdo_has_prepare_method ... ok
[INFO] [stdout] test symbols::tests::interface_constants_are_constant_children ... ok
[INFO] [stdout] test symbols::tests::interface_has_interface_kind ... ok
[INFO] [stdout] test signature_help::tests::returns_signature_for_known_function ... ok
[INFO] [stdout] test stubs::tests::unknown_class_returns_none ... ok
[INFO] [stdout] test symbols::tests::interface_without_constants_has_no_children ... ok
[INFO] [stdout] test symbols::tests::kind_filter_class_excludes_functions ... ok
[INFO] [stdout] test symbols::tests::parse_kind_filter_no_prefix_returns_none ... ok
[INFO] [stdout] test symbols::tests::non_deprecated_function_has_no_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::parse_kind_filter_extracts_class_prefix ... ok
[INFO] [stdout] test symbols::tests::symbols_inside_namespace_are_returned ... ok
[INFO] [stdout] test symbols::tests::range_start_lte_selection_range_start ... ok
[INFO] [stdout] test type_action::tests::mixed_for_if_return_in_method ... ok
[INFO] [stdout] test symbols::tests::trait_has_class_kind ... ok
[INFO] [stdout] test type_action::tests::action_title_contains_type ... ok
[INFO] [stdout] test symbols::tests::kind_filter_fn_excludes_classes ... ok
[INFO] [stdout] test type_action::tests::offers_mixed_for_function_with_value_return ... ok
[INFO] [stdout] test symbols::tests::trait_methods_are_method_children ... ok
[INFO] [stdout] test type_action::tests::offers_mixed_for_method_with_value_return ... ok
[INFO] [stdout] test type_action::tests::offers_void_for_function_with_no_return ... ok
[INFO] [stdout] test type_action::tests::offers_void_for_method_with_no_return ... ok
[INFO] [stdout] test type_action::tests::skips_constructor ... ok
[INFO] [stdout] test symbols::tests::no_kind_prefix_returns_all_kinds ... ok
[INFO] [stdout] test type_action::tests::void_for_function_returning_void_explicitly ... ok
[INFO] [stdout] test symbols::tests::partial_ast_on_parse_error_returns_valid_symbols ... ok
[INFO] [stdout] test type_action::tests::no_action_when_cursor_not_on_function ... ok
[INFO] [stdout] test type_action::tests::void_inserted_after_close_paren ... ok
[INFO] [stdout] test type_action::tests::no_action_when_return_type_exists ... ok
[INFO] [stdout] test type_definition::tests::resolves_variable_type_to_class ... ok
[INFO] [stdout] test type_definition::tests::cross_file_type_definition ... ok
[INFO] [stdout] test type_definition::tests::resolves_enum_typed_param ... ok
[INFO] [stdout] test type_definition::tests::returns_none_for_non_variable_without_type ... ok
[INFO] [stdout] test type_definition::tests::unknown_variable_returns_none ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_class_using_trait ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_class ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_interface ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_implementing_class ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_implementing_enum ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_enum ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_returns_parent_class ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_returns_implemented_interfaces ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_returns_none_for_unknown ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_of_enum_returns_implemented_interfaces ... ok
[INFO] [stdout] test type_map::tests::class_with_trait_use_lists_trait ... ok
[INFO] [stdout] test type_map::tests::array_map_with_typed_closure_populates_element_type ... ok
[INFO] [stdout] test type_map::tests::backed_enum_exposes_value_and_factory_methods ... ok
[INFO] [stdout] test type_map::tests::closure_bind_maps_this_to_obj_class ... ok
[INFO] [stdout] test type_map::tests::closure_bind_to_maps_this_to_obj_class ... ok
[INFO] [stdout] test type_map::tests::closure_use_var_inner_assignment_does_not_override_outer_type ... ok
[INFO] [stdout] test type_map::tests::closure_use_var_type_is_available_inside_body ... ok
[INFO] [stdout] test type_map::tests::constructor_promoted_params_appear_as_properties ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_trait_with_class_kind ... ok
[INFO] [stdout] test type_definition::tests::resolves_interface_type ... ok
[INFO] [stdout] test type_definition::tests::resolves_trait_typed_param ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_cross_file ... ok
[INFO] [stdout] test type_map::tests::docblock_method_appears_in_members ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_of_top_level_is_empty ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_typed_param ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_assignment_inside_trait_method ... ok
[INFO] [stdout] test type_map::tests::instanceof_narrows_fqn_to_short_name ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_new_expression ... ok
[INFO] [stdout] test type_map::tests::foreach_propagates_array_map_element_type ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_assignment_inside_enum_method ... ok
[INFO] [stdout] test type_map::tests::docblock_property_appears_in_members ... ok
[INFO] [stdout] test type_map::tests::enum_cases_appear_as_constants ... ok
[INFO] [stdout] test type_map::tests::is_enum_false_for_class ... ok
[INFO] [stdout] test type_map::tests::instanceof_narrows_variable_type ... ok
[INFO] [stdout] test type_map::tests::enum_instance_members_include_name ... ok
[INFO] [stdout] test type_map::tests::later_assignment_overwrites ... ok
[INFO] [stdout] test type_map::tests::method_chain_return_type_from_ast_hint ... ok
[INFO] [stdout] test type_map::tests::method_chain_return_type_from_docblock ... ok
[INFO] [stdout] test type_map::tests::is_backed_enum_string ... ok
[INFO] [stdout] test type_map::tests::multiple_assignments ... ok
[INFO] [stdout] test type_map::tests::members_of_class_finds_methods ... ok
[INFO] [stdout] test type_map::tests::members_of_class_includes_parent_field ... ok
[INFO] [stdout] test type_map::tests::null_coalesce_assign_infers_type ... ok
[INFO] [stdout] test type_map::tests::not_null_check_preserves_existing_type ... ok
[INFO] [stdout] test type_map::tests::is_enum_pure ... ok
[INFO] [stdout] test type_map::tests::members_of_unknown_class_is_empty ... ok
[INFO] [stdout] test type_map::tests::nullable_param_resolves_to_class ... ok
[INFO] [stdout] test type_map::tests::parent_class_name_finds_parent ... ok
[INFO] [stdout] test type_map::tests::null_assignment_does_not_overwrite_class ... ok
[INFO] [stdout] test type_map::tests::parent_class_name_returns_none_for_top_level ... ok
[INFO] [stdout] test type_map::tests::param_docblock_type_inferred ... ok
[INFO] [stdout] test type_map::tests::trait_members_are_collected ... ok
[INFO] [stdout] test type_map::tests::self_return_type_resolves_to_class ... ok
[INFO] [stdout] test type_map::tests::union_type_param_maps_both_classes ... ok
[INFO] [stdout] test type_map::tests::param_docblock_does_not_override_ast_hint ... ok
[INFO] [stdout] test type_map::tests::unknown_variable_returns_none ... ok
[INFO] [stdout] test type_map::tests::var_docblock_does_not_map_primitive_types ... ok
[INFO] [stdout] test type_map::tests::promoted_readonly_params_appear_in_readonly_properties ... ok
[INFO] [stdout] test type_map::tests::var_nullable_docblock_maps_to_class ... ok
[INFO] [stdout] test type_map::tests::var_docblock_with_explicit_varname_infers_type ... ok
[INFO] [stdout] test type_map::tests::var_docblock_without_varname_infers_from_assignment ... ok
[INFO] [stdout] test type_map::tests::static_return_type_resolves_to_class ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_ascii ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_multibyte_bmp ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_past_end_clamps ... ok
[INFO] [stdout] test type_map::tests::var_union_docblock_maps_first_class ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_and_back_roundtrip ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_surrogate_pair ... ok
[INFO] [stdout] test util::tests::utf16_offset_to_byte_surrogate_pair ... ok
[INFO] [stdout] test util::tests::word_at_last_line_with_trailing_newline ... ok
[INFO] [stdout] test walk::tests::collect_scope_finds_var_inside_function ... ok
[INFO] [stdout] test walk::tests::collect_scope_top_level_when_no_function ... ok
[INFO] [stdout] test util::tests::is_php_builtin_asin_recognized ... ok
[INFO] [stdout] test walk::tests::class_refs_finds_type_hint_in_function_param ... ok
[INFO] [stdout] test walk::tests::method_refs_only_matches_method_calls_not_free_functions ... ok
[INFO] [stdout] test walk::tests::class_refs_does_not_match_free_function_with_same_name ... ok
[INFO] [stdout] test walk::tests::function_refs_only_matches_free_calls_not_methods ... ok
[INFO] [stdout] test walk::tests::property_refs_finds_nullsafe_access ... ok
[INFO] [stdout] test util::tests::word_at_crlf_line_endings ... ok
[INFO] [stdout] test walk::tests::refs_finds_function_declaration_and_call ... ok
[INFO] [stdout] test walk::tests::refs_finds_method_declaration_inside_class ... ok
[INFO] [stdout] test walk::tests::method_refs_finds_nullsafe_method_call ... ok
[INFO] [stdout] test walk::tests::refs_without_use_misses_use_import ... ok
[INFO] [stdout] test walk::tests::refs_with_use_includes_use_import ... ok
[INFO] [stdout] test walk::tests::refs_returns_empty_for_unknown_name ... ok
[INFO] [stdout] test walk::tests::var_refs_does_not_cross_closure_boundary ... ok
[INFO] [stdout] test walk::tests::property_refs_finds_declaration_and_access ... ok
[INFO] [stdout] test walk::tests::refs_finds_class_declaration_and_new ... ok
[INFO] [stdout] test walk::tests::var_refs_finds_variable_in_assignment_and_echo ... ok
[INFO] [stdout] test walk::tests::var_refs_respects_function_scope_boundary ... ok
[INFO] [stdout] test walk::tests::var_refs_traverses_if_while_for_foreach ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_extending_class ... ok
[INFO] [stdout] test util::tests::utf16_offset_to_byte_ascii ... ok
[INFO] [stdout] test walk::tests::class_refs_finds_new_and_extends ... ok
[INFO] [stdout] test backend::integration::selection_range_expands_from_position ... ok
[INFO] [stdout] test backend::integration::shutdown_responds_correctly ... ok
[INFO] [stdout] test backend::integration::rename_function_produces_workspace_edit ... ok
[INFO] [stdout] test backend::integration::type_definition_for_typed_variable ... ok
[INFO] [stdout] test backend::integration::semantic_tokens_full_returned ... ok
[INFO] [stdout] test backend::integration::signature_help_inside_function_call ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 767 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.91s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/php_lsp-d470852296e272fe)
[INFO] [stdout] 
[INFO] [stdout] running 767 tests
[INFO] [stdout] test ast::tests::offset_to_position_crlf_does_not_count_cr_in_column ... ok
[INFO] [stdout] test ast::tests::parses_function ... ok
[INFO] [stdout] test ast::tests::parses_empty_source ... ok
[INFO] [stdout] test ast::tests::offset_to_position_first_line ... ok
[INFO] [stdout] test ast::tests::offset_to_position_crlf_multiline ... ok
[INFO] [stdout] test ast::tests::str_offset_content_fallback_for_different_allocation ... ok
[INFO] [stdout] test ast::tests::offset_to_position_crlf_start_of_line ... ok
[INFO] [stdout] test ast::tests::str_offset_finds_substr ... ok
[INFO] [stdout] test ast::tests::offset_to_position_multibyte_utf16 ... ok
[INFO] [stdout] test autoload::tests::autoload_dev_entries_are_included ... ok
[INFO] [stdout] test ast::tests::offset_to_position_second_line ... ok
[INFO] [stdout] test ast::tests::str_offset_unrelated_content_returns_zero ... ok
[INFO] [stdout] test autoload::tests::constraint_empty_string_returns_none ... ok
[INFO] [stdout] test autoload::tests::constraint_major_only_without_minor ... ok
[INFO] [stdout] test autoload::tests::constraint_wildcard_returns_none ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_platform_config ... ok
[INFO] [stdout] test autoload::tests::detect_platform_version_returns_none_when_no_platform_config ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_caret ... ok
[INFO] [stdout] test autoload::tests::detect_version_or_constraint_unsorted ... ok
[INFO] [stdout] test autoload::tests::loads_empty_when_composer_json_absent ... ok
[INFO] [stdout] test autoload::tests::detect_version_or_constraint_three_clauses ... ok
[INFO] [stdout] test autoload::tests::leading_backslash_is_stripped ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_gte ... ok
[INFO] [stdout] test autoload::tests::empty_map_resolves_nothing ... ok
[INFO] [stdout] test autoload::tests::detect_version_or_constraint_picks_highest ... ok
[INFO] [stdout] test autoload::tests::psr4_exact_prefix_still_resolves ... ok
[INFO] [stdout] test autoload::tests::psr4_prefix_does_not_match_longer_namespace ... ok
[INFO] [stdout] test autoload::tests::longer_prefix_wins_over_shorter ... ok
[INFO] [stdout] test autoload::tests::detect_version_returns_none_when_no_php_entry ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_range ... ok
[INFO] [stdout] test autoload::tests::platform_version_major_only_returns_none ... ok
[INFO] [stdout] test autoload::tests::detect_version_from_require_wildcard ... ok
[INFO] [stdout] test autoload::tests::detect_version_returns_none_when_no_composer_json ... ok
[INFO] [stdout] test autoload::tests::resolves_class_from_composer_json ... ok
[INFO] [stdout] test autoload::tests::returns_none_when_file_does_not_exist ... ok
[INFO] [stdout] test autoload::tests::resolve_tilde_constraint ... ok
[INFO] [stdout] test autoload::tests::resolve_platform_beats_require ... ok
[INFO] [stdout] test autoload::tests::resolve_unsupported_old_version_is_returned_from_require ... ok
[INFO] [stdout] test autoload::tests::resolve_explicit_overrides_composer ... ok
[INFO] [stdout] test autoload::tests::resolve_require_used_as_last_resort ... ok
[INFO] [stdout] test autoload::tests::resolve_default_when_no_composer_json_and_no_roots ... ok
[INFO] [stdout] test backend::integration::initialize_returns_server_capabilities ... ok
[INFO] [stdout] test backend::integration::definition_for_class_returns_location ... ok
[INFO] [stdout] test backend::integration::folding_ranges_returned_for_class ... ok
[INFO] [stdout] test backend::integration::hover_on_opened_document ... ok
[INFO] [stdout] test backend::integration::document_symbols_lists_functions_and_classes ... ok
[INFO] [stdout] test backend::integration::inlay_hints_returned_for_function_call ... ok
[INFO] [stdout] test backend::integration::code_lens_returned_for_function ... ok
[INFO] [stdout] test backend::integration::references_finds_all_usages_of_function ... ok
[INFO] [stdout] test backend::integration::references_on_method_decl_excludes_cross_file_free_function ... ok
[INFO] [stdout] test backend::tests::build_use_import_edit_inserts_after_existing_use ... ok
[INFO] [stdout] test backend::tests::cursor_on_enum_method_decl_returns_true ... ok
[INFO] [stdout] test backend::tests::build_use_import_edit_inserts_after_php_tag ... ok
[INFO] [stdout] test backend::tests::cursor_on_interface_method_decl_returns_true ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_call_site_returns_false ... ok
[INFO] [stdout] test backend::tests::cursor_on_free_function_decl_returns_false ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_decl_in_unbraced_namespace_returns_true ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_decl_name_returns_true ... ok
[INFO] [stdout] test backend::tests::cursor_on_trait_method_decl_returns_true ... ok
[INFO] [stdout] test backend::tests::defer_actions_strips_edit_and_adds_data ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_can_disable_individual_flags ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_defaults_all_enabled ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_from_empty_object_uses_defaults ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_from_non_object_uses_defaults ... ok
[INFO] [stdout] test backend::tests::diagnostics_config_master_switch_disables_all ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_existing_use ... ok
[INFO] [stdout] test backend::tests::cursor_on_method_decl_in_braced_namespace_returns_true ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_namespace_and_use ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_namespace ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_after_php_open_tag ... ok
[INFO] [stdout] test backend::tests::find_use_insert_line_empty_file ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_at_start_of_property ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_on_standalone_identifier ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_out_of_bounds_line ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_without_arrow ... ok
[INFO] [stdout] test backend::tests::is_after_arrow_with_method_call ... ok
[INFO] [stdout] test backend::tests::lsp_config_default_is_empty ... ok
[INFO] [stdout] test backend::tests::lsp_config_ignores_missing_fields ... ok
[INFO] [stdout] test backend::tests::lsp_config_parses_diagnostics_section ... ok
[INFO] [stdout] test backend::tests::lsp_config_parses_exclude_paths ... ok
[INFO] [stdout] test backend::tests::php_file_op_matches_php_files ... ok
[INFO] [stdout] test backend::tests::position_to_offset_first_line ... ok
[INFO] [stdout] test backend::tests::position_to_offset_line_boundary_returns_none ... ok
[INFO] [stdout] test backend::tests::position_to_offset_second_line ... ok
[INFO] [stdout] test backend::tests::lsp_config_parses_php_version ... ok
[INFO] [stdout] test backend::tests::undefined_function_message_not_matched_by_extraction ... ok
[INFO] [stdout] test call_hierarchy::tests::incoming_calls_cross_file ... ok
[INFO] [stdout] test call_hierarchy::tests::incoming_calls_empty_when_no_callers ... ok
[INFO] [stdout] test call_hierarchy::tests::incoming_calls_finds_callers ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_cross_file ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_deduplicates_same_callee ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_empty_for_function_with_no_calls ... ok
[INFO] [stdout] test backend::tests::undefined_class_name_extracted_from_message ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_finds_callees ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_from_enum_method ... ok
[INFO] [stdout] test call_hierarchy::tests::outgoing_calls_from_for_init_and_update ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_finds_function_declaration ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_finds_method_declaration ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_returns_none_for_empty_docs ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_returns_none_for_unknown ... ok
[INFO] [stdout] test call_hierarchy::tests::range_contains_excludes_exact_end_position ... ok
[INFO] [stdout] test code_lens::tests::docblock_test_annotation_triggers_run_test_lens ... ok
[INFO] [stdout] test code_lens::tests::emits_implementations_lens_for_abstract_class ... ok
[INFO] [stdout] test code_lens::tests::emits_implementations_lens_for_interface ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_class_declaration ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_enum_declaration ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_enum_method ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_interface ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_top_level_function ... ok
[INFO] [stdout] test code_lens::tests::emits_lens_for_trait_declaration ... ok
[INFO] [stdout] test code_lens::tests::emits_overrides_lens_for_overriding_method ... ok
[INFO] [stdout] test code_lens::tests::emits_run_test_lens_for_test_method ... ok
[INFO] [stdout] test code_lens::tests::emits_trait_usages_lens_counts_classes_using_trait ... ok
[INFO] [stdout] test code_lens::tests::emits_trait_usages_lens_with_zero_when_unused ... ok
[INFO] [stdout] test backend::integration::declaration_returns_location_for_abstract_method ... ok
[INFO] [stdout] test code_lens::tests::fqn_test_attribute_triggers_run_test_lens ... ok
[INFO] [stdout] test code_lens::tests::no_run_test_lens_for_regular_method ... ok
[INFO] [stdout] test code_lens::tests::ref_count_includes_call_sites ... ok
[INFO] [stdout] test code_lens::tests::ref_count_lens_shows_zero_for_unused ... ok
[INFO] [stdout] test code_lens::tests::run_test_lens_has_correct_command ... ok
[INFO] [stdout] test code_lens::tests::test_attribute_triggers_run_test_lens ... ok
[INFO] [stdout] test completion::tests::all_keyword_items_have_keyword_kind ... ok
[INFO] [stdout] test code_lens::tests::trait_usages_lens_counts_across_multiple_docs ... ok
[INFO] [stdout] test completion::tests::array_destructuring_short_syntax_produces_variables ... ok
[INFO] [stdout] test completion::tests::array_destructuring_variables_have_variable_kind ... ok
[INFO] [stdout] test completion::tests::array_destructuring_respects_cursor_line_scope ... ok
[INFO] [stdout] test completion::tests::arrow_trigger_does_not_complete_on_unknown_receiver ... ok
[INFO] [stdout] test completion::tests::arrow_trigger_returns_only_methods ... ok
[INFO] [stdout] test completion::tests::attribute_bracket_cross_ns_gets_use_insertion ... ok
[INFO] [stdout] test completion::tests::attribute_bracket_suggests_classes ... ok
[INFO] [stdout] test completion::tests::attribute_bracket_same_ns_no_use_insertion ... ok
[INFO] [stdout] test completion::tests::backslash_prefix_suggests_matching_classes ... ok
[INFO] [stdout] test completion::tests::builtin_functions_get_snippet ... ok
[INFO] [stdout] test completion::tests::builtins_appear_in_default_completions ... ok
[INFO] [stdout] test completion::tests::class_constant_appears_in_completions ... ok
[INFO] [stdout] test completion::tests::class_property_appears_in_completions ... ok
[INFO] [stdout] test completion::tests::colon_trigger_returns_static_members ... ok
[INFO] [stdout] test completion::tests::backed_enum_arrow_completion_includes_value_property ... ok
[INFO] [stdout] test completion::tests::constructor_chain_arrow_completion ... ok
[INFO] [stdout] test completion::tests::cross_file_class_gets_use_insertion ... ok
[INFO] [stdout] test completion::tests::cross_file_symbols_appear_in_default_completions ... ok
[INFO] [stdout] test completion::tests::cross_file_variables_not_included_in_default_completions ... ok
[INFO] [stdout] test completion::tests::enum_arrow_completion_includes_name_property ... ok
[INFO] [stdout] test completion::tests::extracts_class_method_names ... ok
[INFO] [stdout] test completion::tests::extracts_function_parameters_as_variables ... ok
[INFO] [stdout] test backend::integration::did_change_updates_document ... ok
[INFO] [stdout] test completion::tests::extracts_interface_name ... ok
[INFO] [stdout] test completion::tests::extracts_symbols_inside_namespace ... ok
[INFO] [stdout] test completion::tests::extracts_top_level_function_name ... ok
[INFO] [stdout] test completion::tests::function_with_params_gets_snippet ... ok
[INFO] [stdout] test completion::tests::function_without_params_gets_plain_call ... ok
[INFO] [stdout] test completion::tests::include_path_completions_dir_entries_have_folder_kind ... ok
[INFO] [stdout] test completion::tests::include_path_completions_insert_text_includes_directory_prefix ... ok
[INFO] [stdout] test completion::tests::include_path_completions_is_empty_for_non_existent_directory ... ok
[INFO] [stdout] test completion::tests::include_path_completions_lists_relative_directory ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_double_dot_prefix ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_empty_for_bare_quote ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_none_for_absolute_path ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_none_for_non_include_line ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_none_for_stream_wrapper ... ok
[INFO] [stdout] test completion::tests::include_path_prefix_returns_relative_dot_slash ... ok
[INFO] [stdout] test completion::tests::inherited_methods_appear_in_arrow_completion ... ok
[INFO] [stdout] test completion::tests::instanceof_narrowing_provides_arrow_completions ... ok
[INFO] [stdout] test completion::tests::keywords_contain_common_php_keywords ... ok
[INFO] [stdout] test completion::tests::keywords_list_is_non_empty ... ok
[INFO] [stdout] test completion::tests::magic_constants_all_present ... ok
[INFO] [stdout] test completion::tests::magic_constants_have_constant_kind ... ok
[INFO] [stdout] test completion::tests::extracts_top_level_class_name ... ok
[INFO] [stdout] test completion::tests::match_arm_suggests_enum_cases ... ok
[INFO] [stdout] test completion::tests::none_trigger_returns_keywords_functions_classes ... ok
[INFO] [stdout] test completion::tests::magic_methods_suggested_in_class_body ... ok
[INFO] [stdout] test backend::integration::document_highlight_marks_occurrences ... ok
[INFO] [stdout] test completion::tests::param_named_arg_completion ... ok
[INFO] [stdout] test completion::tests::nullsafe_arrow_triggers_member_completions ... ok
[INFO] [stdout] test completion::tests::readonly_property_has_detail_tag ... ok
[INFO] [stdout] test completion::tests::resolve_attribute_class_extracts_name ... ok
[INFO] [stdout] test completion::tests::resolve_attribute_class_returns_none_for_regular_call ... ok
[INFO] [stdout] test completion::tests::resolve_attribute_class_fqn_extracts_short_name ... ok
[INFO] [stdout] test completion::tests::same_namespace_class_gets_no_use_insertion ... ok
[INFO] [stdout] test call_hierarchy::tests::prepare_finds_enum_method_declaration ... ok
[INFO] [stdout] test completion::tests::pure_enum_arrow_completion_has_no_value_property ... ok
[INFO] [stdout] test completion::tests::snapshot_arrow_completions_for_typed_var ... ok
[INFO] [stdout] test completion::tests::snapshot_symbol_completions_for_function_with_params ... ok
[INFO] [stdout] test completion::tests::snapshot_keyword_completions_present ... ok
[INFO] [stdout] test completion::tests::static_trigger_shows_only_static_members ... ok
[INFO] [stdout] test completion::tests::superglobals_appear_on_dollar_trigger ... ok
[INFO] [stdout] test completion::tests::union_type_param_completes_both_classes ... ok
[INFO] [stdout] test completion::tests::superglobals_appear_in_default_completions ... ok
[INFO] [stdout] test completion::tests::variables_after_cursor_not_suggested ... ok
[INFO] [stdout] test completion::tests::use_statement_suggests_fqns ... ok
[INFO] [stdout] test completion::tests::variable_assignment_produces_variable_item ... ok
[INFO] [stdout] test declaration::tests::falls_back_to_definition_for_concrete_function ... ok
[INFO] [stdout] test declaration::tests::finds_abstract_method_declaration ... ok
[INFO] [stdout] test declaration::tests::cross_file_interface_declaration ... ok
[INFO] [stdout] test declaration::tests::finds_enum_method_declaration ... ok
[INFO] [stdout] test declaration::tests::finds_interface_method_declaration ... ok
[INFO] [stdout] test declaration::tests::finds_interface_name_declaration ... ok
[INFO] [stdout] test definition::tests::current_file_takes_priority_over_other_docs ... ok
[INFO] [stdout] test declaration::tests::returns_none_for_unknown_word ... ok
[INFO] [stdout] test definition::tests::finds_class_definition_in_other_document ... ok
[INFO] [stdout] test definition::tests::finds_function_definition_in_other_document ... ok
[INFO] [stdout] test definition::tests::goto_definition_class_constant ... ok
[INFO] [stdout] test definition::tests::jumps_to_class_method_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_class_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_enum_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_enum_case_definition ... ok
[INFO] [stdout] test completion::tests::snapshot_symbol_completions_for_simple_class ... ok
[INFO] [stdout] test definition::tests::jumps_to_enum_method_definition ... ok
[INFO] [stdout] test definition::tests::jumps_to_symbol_inside_namespace ... ok
[INFO] [stdout] test definition::tests::jumps_to_trait_definition ... ok
[INFO] [stdout] test definition::tests::returns_none_for_unknown_word ... ok
[INFO] [stdout] test definition::tests::variable_goto_definition_jumps_to_first_occurrence ... ok
[INFO] [stdout] test diagnostics::tests::probe_zero_width_spans ... ok
[INFO] [stdout] test diagnostics::tests::syntax_error_produces_diagnostic ... ok
[INFO] [stdout] test diagnostics::tests::valid_php_produces_no_diagnostics ... ok
[INFO] [stdout] test docblock::tests::advanced_type_generic_array ... ok
[INFO] [stdout] test docblock::tests::advanced_type_non_empty_string ... ok
[INFO] [stdout] test definition::tests::jumps_to_interface_definition ... ok
[INFO] [stdout] test docblock::tests::empty_docblock_gives_defaults ... ok
[INFO] [stdout] test docblock::tests::find_docblock_returns_none_without_docblock ... ok
[INFO] [stdout] test docblock::tests::method_tag_extracts_return_type ... ok
[INFO] [stdout] test docblock::tests::multiple_params ... ok
[INFO] [stdout] test docblock::tests::not_deprecated_when_tag_absent ... ok
[INFO] [stdout] test docblock::tests::nullable_type_param_parsed ... ok
[INFO] [stdout] test docblock::tests::param_and_return_descriptions_preserved ... ok
[INFO] [stdout] test docblock::tests::param_without_description_parses_correctly ... ok
[INFO] [stdout] test docblock::tests::parses_callable_param ... ok
[INFO] [stdout] test docblock::tests::find_docblock_from_ast ... ok
[INFO] [stdout] test docblock::tests::parses_deprecated_with_message ... ok
[INFO] [stdout] test docblock::tests::parses_deprecated_without_message ... ok
[INFO] [stdout] test docblock::tests::parses_description ... ok
[INFO] [stdout] test docblock::tests::parses_method_tag ... ok
[INFO] [stdout] test docblock::tests::parses_mixin_tag ... ok
[INFO] [stdout] test docblock::tests::parses_multiple_throws ... ok
[INFO] [stdout] test docblock::tests::parses_param_tag ... ok
[INFO] [stdout] test docblock::tests::parses_phpstan_type_alias ... ok
[INFO] [stdout] test docblock::tests::parses_property_read_tag ... ok
[INFO] [stdout] test docblock::tests::parses_property_tag ... ok
[INFO] [stdout] test backend::integration::references_with_exclude_declaration ... ok
[INFO] [stdout] test docblock::tests::parses_psalm_type_alias ... ok
[INFO] [stdout] test docblock::tests::parses_return_tag ... ok
[INFO] [stdout] test docblock::tests::parses_static_method_tag ... ok
[INFO] [stdout] test docblock::tests::parses_template_tag ... ok
[INFO] [stdout] test docblock::tests::parses_see_tag ... ok
[INFO] [stdout] test docblock::tests::parses_template_with_bound ... ok
[INFO] [stdout] test docblock::tests::parses_throws_tag ... ok
[INFO] [stdout] test docblock::tests::parses_link_tag ... ok
[INFO] [stdout] test docblock::tests::parses_var_tag ... ok
[INFO] [stdout] test docblock::tests::parses_var_tag_with_description ... ok
[INFO] [stdout] test docblock::tests::phpstan_return_alias_parsed_as_return ... ok
[INFO] [stdout] test docblock::tests::phpstan_var_alias_parsed_as_var ... ok
[INFO] [stdout] test docblock::tests::psalm_param_alias_parsed_as_param ... ok
[INFO] [stdout] test docblock::tests::psalm_return_alias_parsed_as_return ... ok
[INFO] [stdout] test docblock::tests::phpstan_param_alias_parsed_as_param ... ok
[INFO] [stdout] test docblock::tests::psalm_var_alias_parsed_as_var ... ok
[INFO] [stdout] test definition::tests::jumps_to_function_definition ... ok
[INFO] [stdout] test definition::tests::goto_definition_property ... ok
[INFO] [stdout] test completion::tests::dollar_trigger_returns_only_variables ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_mixin ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_see ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_type_alias ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_var_type ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_var_type_with_description ... ok
[INFO] [stdout] test docblock::tests::union_type_param_parsed ... ok
[INFO] [stdout] test document_highlight::tests::highlight_ranges_span_word_length ... ok
[INFO] [stdout] test document_highlight::tests::highlights_class_name ... ok
[INFO] [stdout] test document_highlight::tests::highlights_function_declaration_and_calls ... ok
[INFO] [stdout] test docblock::tests::throws_description_preserved ... ok
[INFO] [stdout] test document_highlight::tests::highlights_method_calls ... ok
[INFO] [stdout] test document_highlight::tests::highlights_return_correct_count_and_lines ... ok
[INFO] [stdout] test document_highlight::tests::highlights_variable_in_scope ... ok
[INFO] [stdout] test document_highlight::tests::returns_empty_for_unknown_word ... ok
[INFO] [stdout] test document_highlight::tests::variable_highlight_does_not_cross_scope ... ok
[INFO] [stdout] test document_link::tests::docblock_at_link_produces_link ... ok
[INFO] [stdout] test document_link::tests::docblock_link_position_correct_after_multibyte_chars ... ok
[INFO] [stdout] test document_link::tests::docblock_see_produces_link ... ok
[INFO] [stdout] test document_link::tests::non_http_see_is_ignored ... ok
[INFO] [stdout] test document_store::tests::all_docs_includes_indexed_files ... ok
[INFO] [stdout] test document_store::tests::close_clears_text_but_keeps_doc ... ok
[INFO] [stdout] test document_store::tests::close_nonexistent_uri_is_safe ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_throws ... ok
[INFO] [stdout] test document_highlight::tests::no_highlights_beyond_line_end ... ok
[INFO] [stdout] test document_store::tests::close_twice_does_not_duplicate_lru_entry ... ok
[INFO] [stdout] test document_store::tests::eviction_skips_open_files_and_evicts_next_indexed ... ok
[INFO] [stdout] test document_store::tests::get_returns_none_for_unknown_uri ... ok
[INFO] [stdout] test document_store::tests::eviction_removes_oldest_indexed_file ... ok
[INFO] [stdout] test document_store::tests::open_caches_diagnostics_for_invalid_file ... ok
[INFO] [stdout] test document_store::tests::index_does_not_overwrite_open_file ... ok
[INFO] [stdout] test document_store::tests::open_then_get_returns_text ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_template ... ok
[INFO] [stdout] test docblock::tests::to_markdown_shows_deprecated_banner ... ok
[INFO] [stdout] test docblock::tests::to_markdown_includes_description_and_return ... ok
[INFO] [stdout] test document_store::tests::update_replaces_text ... ok
[INFO] [stdout] test document_store::tests::other_docs_excludes_current_uri ... ok
[INFO] [stdout] test document_store::tests::remove_deletes_entry ... ok
[INFO] [stdout] test extract_action::tests::empty_selection_produces_no_action ... ok
[INFO] [stdout] test extract_action::tests::expression_selection_produces_extract_action ... ok
[INFO] [stdout] test extract_action::tests::extract_preserves_indentation ... ok
[INFO] [stdout] test extract_action::tests::selected_text_correct_with_multibyte_prefix ... ok
[INFO] [stdout] test extract_action::tests::simple_variable_selection_produces_no_action ... ok
[INFO] [stdout] test extract_constant_action::tests::derive_name_empty_string_fallback ... ok
[INFO] [stdout] test extract_constant_action::tests::derive_name_from_url_string ... ok
[INFO] [stdout] test extract_constant_action::tests::derive_name_leading_digit_prefixed ... ok
[INFO] [stdout] test extract_constant_action::tests::empty_selection_returns_empty ... ok
[INFO] [stdout] test extract_constant_action::tests::file_scope_insert_does_not_jump_past_code ... ok
[INFO] [stdout] test extract_constant_action::tests::integer_literal_at_file_scope ... ok
[INFO] [stdout] test extract_constant_action::tests::literal_after_interface_falls_to_file_scope ... ok
[INFO] [stdout] test extract_constant_action::tests::float_literal_at_file_scope ... ok
[INFO] [stdout] test extract_constant_action::tests::literal_inside_interface_uses_unqualified_const ... ok
[INFO] [stdout] test extract_constant_action::tests::literal_inside_trait_uses_private_const ... ok
[INFO] [stdout] test extract_constant_action::tests::non_literal_selection_returns_empty ... ok
[INFO] [stdout] test document_store::tests::index_stores_doc_without_text ... ok
[INFO] [stdout] test extract_constant_action::tests::string_literal_in_class_scope ... ok
[INFO] [stdout] test extract_method_action::tests::extraction_inside_static_method_uses_self_prefix ... ok
[INFO] [stdout] test extract_method_action::tests::basic_extraction_void_no_params ... ok
[INFO] [stdout] test extract_method_action::tests::extraction_passes_outer_variable_as_parameter ... ok
[INFO] [stdout] test extract_method_action::tests::extraction_returns_variable_used_after_selection ... ok
[INFO] [stdout] test extract_method_action::tests::selection_outside_class_produces_no_action ... ok
[INFO] [stdout] test extract_method_action::tests::single_line_selection_produces_no_action ... ok
[INFO] [stdout] test file_rename::tests::delete_removes_whole_use_line ... ok
[INFO] [stdout] test file_rename::tests::delete_does_not_match_partial ... ok
[INFO] [stdout] test file_rename::tests::does_not_replace_partial_match ... ok
[INFO] [stdout] test file_rename::tests::delete_spans_multiple_files ... ok
[INFO] [stdout] test file_rename::tests::edits_span_multiple_files ... ok
[INFO] [stdout] test file_rename::tests::ignores_non_use_lines ... ok
[INFO] [stdout] test file_rename::tests::no_edits_when_fqn_unchanged ... ok
[INFO] [stdout] test file_rename::tests::delete_with_leading_backslash ... ok
[INFO] [stdout] test file_rename::tests::rename_character_positions_correct_with_multibyte_fqn ... ok
[INFO] [stdout] test file_rename::tests::replaces_simple_use_statement ... ok
[INFO] [stdout] test file_rename::tests::replaces_use_with_alias ... ok
[INFO] [stdout] test file_rename::tests::replaces_use_with_leading_backslash ... ok
[INFO] [stdout] test folding::tests::folds_class_and_its_method ... ok
[INFO] [stdout] test folding::tests::folds_foreach_statement ... ok
[INFO] [stdout] test folding::tests::folds_braced_namespace ... ok
[INFO] [stdout] test folding::tests::folds_consecutive_use_statements ... ok
[INFO] [stdout] test folding::tests::folds_interface ... ok
[INFO] [stdout] test folding::tests::folds_region_endregion ... ok
[INFO] [stdout] test folding::tests::folds_try_catch ... ok
[INFO] [stdout] test folding::tests::nested_folds_both_returned ... ok
[INFO] [stdout] test folding::tests::folds_top_level_function ... ok
[INFO] [stdout] test folding::tests::folds_multiline_doc_comment ... ok
[INFO] [stdout] test folding::tests::single_line_construct_produces_no_fold ... ok
[INFO] [stdout] test folding::tests::folds_trait_and_its_method ... ok
[INFO] [stdout] test folding::tests::no_folds_for_empty_file ... ok
[INFO] [stdout] test formatting::tests::format_range_end_char_is_utf16_not_bytes ... ok
[INFO] [stdout] test formatting::tests::format_range_does_not_panic_on_empty_source ... ok
[INFO] [stdout] test folding::tests::enum_method_is_folded ... ok
[INFO] [stdout] test generate_action::tests::generates_constructor_for_class_with_properties ... ok
[INFO] [stdout] test folding::tests::folds_if_statement ... ok
[INFO] [stdout] test generate_action::tests::no_constructor_action_for_class_without_properties ... ok
[INFO] [stdout] test formatting::tests::unchanged_source_returns_none ... ok
[INFO] [stdout] test generate_action::tests::generates_getters_and_setters ... ok
[INFO] [stdout] test folding::tests::single_line_function_not_folded ... ok
[INFO] [stdout] test hover::tests::hover_at_column_beyond_line_length_returns_none ... ok
[INFO] [stdout] test hover::tests::function_with_no_params_no_return_shows_no_colon ... ok
[INFO] [stdout] test generate_action::tests::no_constructor_action_when_constructor_exists ... ok
[INFO] [stdout] test hover::tests::hover_on_builtin_class_shows_stub_info ... ok
[INFO] [stdout] test hover::tests::hover_on_builtin_function_returns_signature ... ok
[INFO] [stdout] test hover::tests::hover_on_catch_variable_shows_exception_class ... ok
[INFO] [stdout] test generate_action::tests::skips_existing_getter_setter ... ok
[INFO] [stdout] test hover::tests::hover_on_class_name_returns_class_sig ... ok
[INFO] [stdout] test hover::tests::cross_file_hover_finds_class_in_other_doc ... ok
[INFO] [stdout] test hover::tests::hover_on_class_with_extends_shows_parent ... ok
[INFO] [stdout] test formatting::tests::format_document_returns_edit_or_none ... ok
[INFO] [stdout] test hover::tests::hover_on_enum_case_shows_case_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_enum_returns_enum_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_function_name_returns_signature ... ok
[INFO] [stdout] test hover::tests::hover_on_class_with_implements_shows_interfaces ... ok
[INFO] [stdout] test hover::tests::hover_on_nullsafe_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_promoted_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_promoted_property_shows_only_its_param_docblock ... ok
[INFO] [stdout] test hover::tests::hover_on_interface_returns_interface_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_enum_with_implements_shows_interface ... ok
[INFO] [stdout] test hover::tests::hover_on_promoted_property_with_no_param_docblock_shows_type_only ... ok
[INFO] [stdout] test hover::tests::hover_on_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_property_with_var_tag_and_description ... ok
[INFO] [stdout] test hover::tests::hover_on_static_var_with_new_shows_class ... ok
[INFO] [stdout] test hover::tests::hover_on_property_with_var_tag_shows_type_annotation ... ok
[INFO] [stdout] test hover::tests::hover_on_this_property_shows_type ... ok
[INFO] [stdout] test hover::tests::hover_on_trait_method_returns_signature ... ok
[INFO] [stdout] test hover::tests::hover_on_static_var_with_array_default_shows_array ... ok
[INFO] [stdout] test hover::tests::hover_on_property_shows_docblock ... ok
[INFO] [stdout] test hover::tests::hover_on_trait_returns_trait_sig ... ok
[INFO] [stdout] test hover::tests::hover_on_use_alias_shows_fqn ... ok
[INFO] [stdout] test hover::tests::hover_on_variable_shows_type ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_backed_enum_case_shows_value ... ok
[INFO] [stdout] test hover::tests::hover_unknown_symbol_returns_none ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_const_float_value ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_const_infers_type_from_value ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class ... ok
[INFO] [stdout] test hover::tests::hover_on_unknown_word_returns_none ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_const_with_type_hint ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_enum_class_const ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_function_with_return_type ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_class_with_extends ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_interface ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_interface_const_shows_type_and_value ... ok
[INFO] [stdout] test hover::tests::word_at_extracts_from_middle_of_identifier ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_method ... ok
[INFO] [stdout] test implement_action::tests::generates_action_for_abstract_class_method ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_simple_function ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_trait ... ok
[INFO] [stdout] test hover::tests::snapshot_hover_trait_const_shows_type_and_value ... ok
[INFO] [stdout] test implement_action::tests::generates_action_for_unimplemented_interface_method ... ok
[INFO] [stdout] test implement_action::tests::stub_body_throws_runtime_exception ... ok
[INFO] [stdout] test implementation::tests::enum_implementing_interface_is_found ... ok
[INFO] [stdout] test implementation::tests::finds_across_multiple_docs ... ok
[INFO] [stdout] test implement_action::tests::no_action_when_all_methods_implemented ... ok
[INFO] [stdout] test implementation::tests::finds_class_implementing_interface ... ok
[INFO] [stdout] test implementation::tests::goto_implementation_uses_cursor_word ... ok
[INFO] [stdout] test implementation::tests::no_implementations_for_unknown_name ... ok
[INFO] [stdout] test inlay_hints::tests::arrow_function_variable_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::arrow_function_with_declared_return_type_emits_hint ... ok
[INFO] [stdout] test inlay_hints::tests::arrow_function_without_declared_return_type_no_hint ... ok
[INFO] [stdout] test implement_action::tests::resolves_interface_through_use_import ... ok
[INFO] [stdout] test implement_action::tests::use_import_resolution_picks_correct_interface_over_same_short_name ... ok
[INFO] [stdout] test inlay_hints::tests::calls_inside_trait_method_body_get_hints ... ok
[INFO] [stdout] test implementation::tests::class_implementing_multiple_interfaces ... ok
[INFO] [stdout] test inlay_hints::tests::closure_variable_call_gets_param_hints ... ok
[INFO] [stdout] test implementation::tests::finds_class_extending_parent ... ok
[INFO] [stdout] test inlay_hints::tests::calls_inside_enum_method_body_get_hints ... ok
[INFO] [stdout] test inlay_hints::tests::emits_hints_for_multiple_params ... ok
[INFO] [stdout] test inlay_hints::tests::fewer_args_than_params_emits_hints_for_provided_args_only ... ok
[INFO] [stdout] test inlay_hints::tests::constructor_promoted_properties_get_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::enum_method_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::for_loop_init_and_update_get_hints ... ok
[INFO] [stdout] test inlay_hints::tests::foreach_value_variable_gets_type_hint ... ok
[INFO] [stdout] test inlay_hints::tests::foreach_no_hint_when_type_unknown ... ok
[INFO] [stdout] test inlay_hints::tests::hint_kind_is_parameter ... ok
[INFO] [stdout] test inlay_hints::tests::function_call_inside_closure_body_gets_hints ... ok
[INFO] [stdout] test inlay_hints::tests::hint_position_is_at_argument_start ... ok
[INFO] [stdout] test inlay_hints::tests::hints_for_function_inside_namespace ... ok
[INFO] [stdout] test inlay_hints::tests::emits_hint_for_single_param_call ... ok
[INFO] [stdout] test inlay_hints::tests::hint_positions_for_multiple_args ... ok
[INFO] [stdout] test inlay_hints::tests::hints_outside_range_excluded ... ok
[INFO] [stdout] test inlay_hints::tests::method_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::more_args_than_params_emits_hints_only_for_known_params ... ok
[INFO] [stdout] test inlay_hints::tests::new_expression_gets_constructor_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::new_expression_no_hints_without_constructor ... ok
[INFO] [stdout] test inlay_hints::tests::no_hints_for_zero_param_call ... ok
[INFO] [stdout] test inlay_hints::tests::no_return_type_hint_for_void ... ok
[INFO] [stdout] test inlay_hints::tests::return_type_hint_for_assignment ... ok
[INFO] [stdout] test inlay_hints::tests::skips_named_arguments ... ok
[INFO] [stdout] test inlay_hints::tests::trait_method_call_gets_param_hints ... ok
[INFO] [stdout] test inlay_hints::tests::variadic_param_after_regular_params_hints ... ok
[INFO] [stdout] test inlay_hints::tests::variadic_param_hints_for_all_extra_args ... ok
[INFO] [stdout] test inline_action::tests::action_kind_is_refactor_inline ... ok
[INFO] [stdout] test inline_action::tests::inlines_single_usage ... ok
[INFO] [stdout] test inline_action::tests::no_action_when_cursor_not_on_variable ... ok
[INFO] [stdout] test inline_action::tests::no_action_when_no_assignment_found ... ok
[INFO] [stdout] test inline_value::tests::excludes_lines_outside_range ... ok
[INFO] [stdout] test inline_value::tests::finds_variables_in_range ... ok
[INFO] [stdout] test inline_value::tests::skips_this ... ok
[INFO] [stdout] test inline_value::tests::skips_variable_variables ... ok
[INFO] [stdout] test inlay_hints::tests::no_hints_for_unknown_function ... ok
[INFO] [stdout] test moniker::tests::bare_class_name ... ok
[INFO] [stdout] test moniker::tests::imported_name_resolves_via_use_statement ... ok
[INFO] [stdout] test moniker::tests::namespaced_class ... ok
[INFO] [stdout] test moniker::tests::unknown_word_returns_bare_name ... ok
[INFO] [stdout] test moniker::tests::use_alias_resolves_to_fqn ... ok
[INFO] [stdout] test moniker::tests::uniqueness_is_workspace ... ok
[INFO] [stdout] test on_type_format::tests::close_brace_aligns_to_opening ... ok
[INFO] [stdout] test moniker::tests::variable_returns_none ... ok
[INFO] [stdout] test on_type_format::tests::close_brace_nested_block ... ok
[INFO] [stdout] test on_type_format::tests::close_brace_already_aligned_no_edit ... ok
[INFO] [stdout] test on_type_format::tests::new_line_at_top_level_no_edit ... ok
[INFO] [stdout] test on_type_format::tests::new_line_after_open_brace_indents ... ok
[INFO] [stdout] test on_type_format::tests::new_line_copies_base_indent ... ok
[INFO] [stdout] test on_type_format::tests::new_line_no_edit_when_already_correct ... ok
[INFO] [stdout] test on_type_format::tests::new_line_uses_tabs_when_configured ... ok
[INFO] [stdout] test on_type_format::tests::unknown_trigger_returns_no_edits ... ok
[INFO] [stdout] test organize_imports::tests::action_kind_is_source_organize_imports ... ok
[INFO] [stdout] test organize_imports::tests::aliased_import_kept_with_alias_syntax ... ok
[INFO] [stdout] test organize_imports::tests::already_sorted_single_import_returns_none ... ok
[INFO] [stdout] test organize_imports::tests::aliased_import_uses_alias_for_usage_check ... ok
[INFO] [stdout] test organize_imports::tests::no_use_statements_returns_none ... ok
[INFO] [stdout] test organize_imports::tests::unsorted_imports_are_sorted ... ok
[INFO] [stdout] test organize_imports::tests::unused_import_is_removed ... ok
[INFO] [stdout] test organize_imports::tests::use_function_and_const_sorted_and_grouped ... ok
[INFO] [stdout] test organize_imports::tests::duplicate_use_statements_are_deduplicated ... ok
[INFO] [stdout] test moniker::tests::empty_position_returns_none ... ok
[INFO] [stdout] test organize_imports::tests::use_function_only_no_class_imports ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_enum_method ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_trait_method ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_method_without_params ... ok
[INFO] [stdout] test phpdoc_action::tests::generates_action_for_undocumented_function ... ok
[INFO] [stdout] test phpdoc_action::tests::no_action_when_cursor_not_on_function ... ok
[INFO] [stdout] test phpdoc_action::tests::no_action_for_trait_method_with_existing_docblock ... ok
[INFO] [stdout] test phpdoc_action::tests::no_action_when_docblock_exists ... ok
[INFO] [stdout] test phpdoc_action::tests::preserves_indentation ... ok
[INFO] [stdout] test phpstorm_meta::tests::parses_simple_override ... ok
[INFO] [stdout] test phpstorm_meta::tests::no_match_returns_none ... ok
[INFO] [stdout] test phpstorm_meta::tests::parses_string_literal_key ... ok
[INFO] [stdout] test promote_action::tests::no_action_when_already_promoted ... ok
[INFO] [stdout] test phpstorm_meta::tests::wildcard_fallback ... ok
[INFO] [stdout] test promote_action::tests::no_action_when_no_constructor ... ok
[INFO] [stdout] test promote_action::tests::no_action_when_no_matching_assignment ... ok
[INFO] [stdout] test promote_action::tests::promotes_multiple_properties ... ok
[INFO] [stdout] test promote_action::tests::promotes_readonly_property ... ok
[INFO] [stdout] test promote_action::tests::promotes_simple_private_property ... ok
[INFO] [stdout] test references::tests::class_declaration_span_points_to_name_not_keyword ... ok
[INFO] [stdout] test references::tests::class_kind_finds_extends_and_implements ... ok
[INFO] [stdout] test references::tests::class_kind_finds_new_expression ... ok
[INFO] [stdout] test references::tests::class_kind_finds_type_hint ... ok
[INFO] [stdout] test references::tests::declaration_excluded_when_flag_false ... ok
[INFO] [stdout] test references::tests::declaration_filter_finds_method_inside_same_named_class ... ok
[INFO] [stdout] test references::tests::find_references_returns_correct_lines ... ok
[INFO] [stdout] test references::tests::finds_function_call_reference ... ok
[INFO] [stdout] test references::tests::finds_method_call_reference ... ok
[INFO] [stdout] test references::tests::finds_new_expression_reference ... ok
[INFO] [stdout] test references::tests::finds_reference_in_class_property_default ... ok
[INFO] [stdout] test references::tests::finds_reference_in_for_init_and_update ... ok
[INFO] [stdout] test references::tests::finds_reference_in_nested_function_call ... ok
[INFO] [stdout] test references::tests::finds_reference_inside_enum_method_body ... ok
[INFO] [stdout] test references::tests::finds_reference_inside_if_body ... ok
[INFO] [stdout] test references::tests::finds_references_across_multiple_docs ... ok
[INFO] [stdout] test references::tests::finds_use_statement_reference ... ok
[INFO] [stdout] test references::tests::function_declaration_span_points_to_name_not_keyword ... ok
[INFO] [stdout] test references::tests::function_kind_does_not_include_interface_method_declaration ... ok
[INFO] [stdout] test references::tests::function_kind_skips_method_call_with_same_name ... ok
[INFO] [stdout] test references::tests::function_kind_with_include_declaration_does_not_return_method_call ... ok
[INFO] [stdout] test references::tests::include_declaration_adds_def_site ... ok
[INFO] [stdout] test references::tests::interface_method_declaration_included_when_flag_true ... ok
[INFO] [stdout] test references::tests::interface_method_declaration_excluded_with_kind_none_flag_false ... ok
[INFO] [stdout] test references::tests::interface_method_declaration_included_with_kind_none ... ok
[INFO] [stdout] test references::tests::method_declaration_span_points_to_name_not_keyword ... ok
[INFO] [stdout] test references::tests::method_kind_with_include_declaration_does_not_return_free_function ... ok
[INFO] [stdout] test references::tests::partial_match_not_included ... ok
[INFO] [stdout] test rename::tests::prepare_rename_allows_variables ... ok
[INFO] [stdout] test rename::tests::prepare_rename_rejects_fqn ... ok
[INFO] [stdout] test rename::tests::prepare_rename_returns_word_range ... ok
[INFO] [stdout] test references::tests::method_kind_skips_free_function_call_with_same_name ... ok
[INFO] [stdout] test rename::tests::rename_does_not_match_partial_words ... ok
[INFO] [stdout] test rename::tests::rename_includes_declaration_site ... ok
[INFO] [stdout] test rename::tests::rename_property_renames_declaration_and_accesses ... ok
[INFO] [stdout] test rename::tests::rename_property_works_across_files ... ok
[INFO] [stdout] test rename::tests::rename_across_files ... ok
[INFO] [stdout] test rename::tests::rename_replaces_all_occurrences_in_single_file ... ok
[INFO] [stdout] test rename::tests::rename_updates_use_statement ... ok
[INFO] [stdout] test rename::tests::rename_variable_does_not_cross_function_boundary ... ok
[INFO] [stdout] test rename::tests::rename_variable_within_function ... ok
[INFO] [stdout] test selection_range::tests::chain_is_ordered_innermost_to_outermost ... ok
[INFO] [stdout] test selection_range::tests::contains_excludes_exact_end_position ... ok
[INFO] [stdout] test selection_range::tests::contains_handles_multiline_range_end ... ok
[INFO] [stdout] test selection_range::tests::cursor_in_function_body_includes_function_range ... ok
[INFO] [stdout] test selection_range::tests::cursor_outside_all_nodes_returns_file_range_only ... ok
[INFO] [stdout] test selection_range::tests::cursor_in_method_body_includes_method_and_class_ranges ... ok
[INFO] [stdout] test selection_range::tests::empty_file_returns_file_range ... ok
[INFO] [stdout] test selection_range::tests::file_range_end_character_is_actual_line_length_not_u32_max ... ok
[INFO] [stdout] test selection_range::tests::multiple_positions_are_independent ... ok
[INFO] [stdout] test selection_range::tests::returns_one_result_per_position ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_function_call_emits_warning ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_function_warning_has_correct_message ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_method_call_emits_warning ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_class_emits_warning ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_method_in_enum_is_detected ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_method_in_trait_is_detected ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_declaration_range_on_correct_line ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_declaration_range_spans_full_name ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_diagnostic_has_warning_severity ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_interface_range_spans_name ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_function_declaration_range_spans_name ... ok
[INFO] [stdout] test semantic_diagnostics::tests::no_duplicate_for_unique_declarations ... ok
[INFO] [stdout] test semantic_diagnostics::tests::unbraced_namespace_classes_with_same_name_not_flagged ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_trait_declaration ... ok
[INFO] [stdout] test semantic_tokens::tests::abstract_method_has_abstract_modifier ... ok
[INFO] [stdout] test semantic_diagnostics::tests::namespace_scoped_duplicate_not_flagged ... ok
[INFO] [stdout] test semantic_diagnostics::tests::to_lsp_diagnostic_sets_code_to_issue_kind_name ... ok
[INFO] [stdout] test semantic_diagnostics::tests::duplicate_interface_declaration ... ok
[INFO] [stdout] test semantic_diagnostics::tests::unbraced_namespace_duplicate_in_same_namespace_is_flagged ... ok
[INFO] [stdout] test semantic_tokens::tests::attribute_name_with_multibyte_chars_uses_utf16_length ... ok
[INFO] [stdout] test semantic_tokens::tests::attribute_name_emits_class_token ... ok
[INFO] [stdout] test semantic_diagnostics::tests::deprecated_call_nested_in_argument_is_detected ... ok
[INFO] [stdout] test semantic_tokens::tests::deprecated_function_has_deprecated_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::class_declaration_emits_class_token ... ok
[INFO] [stdout] test semantic_tokens::tests::deprecated_method_has_deprecated_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::empty_file_produces_no_tokens ... ok
[INFO] [stdout] test semantic_tokens::tests::enum_declaration_emits_class_token ... ok
[INFO] [stdout] test semantic_tokens::tests::float_literal_emits_number_token ... ok
[INFO] [stdout] test semantic_tokens::tests::for_loop_init_and_update_expressions_are_tokenized ... ok
[INFO] [stdout] test semantic_tokens::tests::function_call_emits_function_token_without_declaration ... ok
[INFO] [stdout] test semantic_tokens::tests::function_declaration_emits_function_token_with_declaration_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::integer_literal_emits_number_token ... ok
[INFO] [stdout] test semantic_tokens::tests::interface_declaration_emits_interface_token ... ok
[INFO] [stdout] test semantic_tokens::tests::keyword_type_hint_on_param_emits_type_token ... ok
[INFO] [stdout] test semantic_tokens::tests::method_declaration_emits_method_token ... ok
[INFO] [stdout] test semantic_tokens::tests::multiline_comment_emits_comment_tokens ... ok
[INFO] [stdout] test semantic_tokens::tests::legend_has_correct_token_count ... ok
[INFO] [stdout] test semantic_tokens::tests::named_type_hint_on_param_emits_type_token ... ok
[INFO] [stdout] test semantic_tokens::tests::method_return_type_emits_type_token ... ok
[INFO] [stdout] test semantic_tokens::tests::named_type_hint_with_multibyte_chars_uses_utf16_length ... ok
[INFO] [stdout] test semantic_tokens::tests::namespace_contents_are_tokenized ... ok
[INFO] [stdout] test semantic_tokens::tests::non_deprecated_function_has_no_deprecated_modifier ... ok
[INFO] [stdout] test semantic_tokens::tests::parameter_token_includes_dollar_sign ... ok
[INFO] [stdout] test semantic_tokens::tests::method_call_emits_method_token_without_declaration ... ok
[INFO] [stdout] test semantic_tokens::tests::parameter_emits_parameter_token ... ok
[INFO] [stdout] test semantic_tokens::tests::property_emits_property_token ... ok
[INFO] [stdout] test semantic_tokens::tests::property_type_hint_emits_type_token ... ok
[INFO] [stdout] test backend::integration::references_on_method_decl_returns_method_refs_not_function_refs ... ok
[INFO] [stdout] test semantic_tokens::tests::string_literal_emits_string_token ... ok
[INFO] [stdout] test semantic_tokens::tests::single_line_comment_emits_comment_token ... ok
[INFO] [stdout] test semantic_tokens::tests::static_method_has_static_modifier ... ok
[INFO] [stdout] test backend::integration::implementation_finds_concrete_class ... ok
[INFO] [stdout] test semantic_tokens::tests::string_literal_with_multibyte_chars_uses_utf16_length ... ok
[INFO] [stdout] test semantic_tokens::tests::variable_expression_emits_variable_token ... ok
[INFO] [stdout] test semantic_tokens::tests::tokens_are_delta_encoded_in_order ... ok
[INFO] [stdout] test semantic_tokens::tests::variable_with_multibyte_name_uses_utf16_length ... ok
[INFO] [stdout] test signature_help::tests::active_parameter_tracks_comma ... ok
[INFO] [stdout] test signature_help::tests::builtin_sigs_are_sorted ... ok
[INFO] [stdout] test signature_help::tests::default_values_shown_in_signature ... ok
[INFO] [stdout] test signature_help::tests::enum_method_signature_is_found ... ok
[INFO] [stdout] test signature_help::tests::nested_call_shows_outer_signature ... ok
[INFO] [stdout] test signature_help::tests::method_call_signature_via_function_lookup ... ok
[INFO] [stdout] test backend::integration::definition_returns_location_for_function ... ok
[INFO] [stdout] test signature_help::tests::returns_none_outside_call ... ok
[INFO] [stdout] test signature_help::tests::returns_none_for_unknown_function ... ok
[INFO] [stdout] test signature_help::tests::param_description_shown_in_parameter_info ... ok
[INFO] [stdout] test signature_help::tests::returns_signature_for_builtin_function ... ok
[INFO] [stdout] test signature_help::tests::trait_method_signature_is_found ... ok
[INFO] [stdout] test stubs::tests::datetime_has_format_method ... ok
[INFO] [stdout] test signature_help::tests::returns_signature_for_known_function ... ok
[INFO] [stdout] test stubs::tests::exception_has_get_message ... ok
[INFO] [stdout] test stubs::tests::generator_has_send_method ... ok
[INFO] [stdout] test stubs::tests::pdo_has_fetch_assoc_constant ... ok
[INFO] [stdout] test stubs::tests::pdo_has_prepare_method ... ok
[INFO] [stdout] test stubs::tests::unknown_class_returns_none ... ok
[INFO] [stdout] test symbols::tests::class_constants_are_constant_children ... ok
[INFO] [stdout] test symbols::tests::class_has_class_kind_with_method_children ... ok
[INFO] [stdout] test symbols::tests::class_properties_are_property_children ... ok
[INFO] [stdout] test symbols::tests::deprecated_class_sets_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::deprecated_function_sets_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::deprecated_method_sets_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::enum_symbol_has_correct_kind ... ok
[INFO] [stdout] test symbols::tests::function_has_function_kind_and_signature_detail ... ok
[INFO] [stdout] test symbols::tests::function_parameters_are_variable_children ... ok
[INFO] [stdout] test symbols::tests::function_symbol_has_correct_range ... ok
[INFO] [stdout] test symbols::tests::interface_constants_are_constant_children ... ok
[INFO] [stdout] test symbols::tests::interface_without_constants_has_no_children ... ok
[INFO] [stdout] test symbols::tests::kind_filter_class_excludes_functions ... ok
[INFO] [stdout] test symbols::tests::kind_filter_fn_excludes_classes ... ok
[INFO] [stdout] test symbols::tests::parse_kind_filter_extracts_class_prefix ... ok
[INFO] [stdout] test symbols::tests::partial_ast_on_parse_error_returns_valid_symbols ... ok
[INFO] [stdout] test symbols::tests::parse_kind_filter_no_prefix_returns_none ... ok
[INFO] [stdout] test symbols::tests::trait_has_class_kind ... ok
[INFO] [stdout] test symbols::tests::interface_has_interface_kind ... ok
[INFO] [stdout] test symbols::tests::non_deprecated_function_has_no_deprecated_field ... ok
[INFO] [stdout] test symbols::tests::trait_methods_are_method_children ... ok
[INFO] [stdout] test type_action::tests::action_title_contains_type ... ok
[INFO] [stdout] test type_action::tests::mixed_for_if_return_in_method ... ok
[INFO] [stdout] test type_action::tests::no_action_when_cursor_not_on_function ... ok
[INFO] [stdout] test symbols::tests::range_start_lte_selection_range_start ... ok
[INFO] [stdout] test symbols::tests::no_kind_prefix_returns_all_kinds ... ok
[INFO] [stdout] test backend::integration::completion_after_initialize ... ok
[INFO] [stdout] test symbols::tests::symbols_inside_namespace_are_returned ... ok
[INFO] [stdout] test type_action::tests::void_inserted_after_close_paren ... ok
[INFO] [stdout] test type_action::tests::offers_mixed_for_function_with_value_return ... ok
[INFO] [stdout] test type_action::tests::no_action_when_return_type_exists ... ok
[INFO] [stdout] test type_definition::tests::cross_file_type_definition ... ok
[INFO] [stdout] test type_definition::tests::resolves_enum_typed_param ... ok
[INFO] [stdout] test type_action::tests::offers_mixed_for_method_with_value_return ... ok
[INFO] [stdout] test type_action::tests::offers_void_for_function_with_no_return ... ok
[INFO] [stdout] test type_action::tests::skips_constructor ... ok
[INFO] [stdout] test type_definition::tests::resolves_interface_type ... ok
[INFO] [stdout] test type_action::tests::offers_void_for_method_with_no_return ... ok
[INFO] [stdout] test type_action::tests::void_for_function_returning_void_explicitly ... ok
[INFO] [stdout] test type_definition::tests::resolves_variable_type_to_class ... ok
[INFO] [stdout] test type_definition::tests::resolves_trait_typed_param ... ok
[INFO] [stdout] test type_definition::tests::unknown_variable_returns_none ... ok
[INFO] [stdout] test type_definition::tests::returns_none_for_non_variable_without_type ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_class ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_enum ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_interface ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_finds_trait_with_class_kind ... ok
[INFO] [stdout] test type_hierarchy::tests::prepare_returns_none_for_unknown ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_cross_file ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_extending_class ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_implementing_class ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_implementing_enum ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_of_enum_returns_implemented_interfaces ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_of_top_level_is_empty ... ok
[INFO] [stdout] test type_map::tests::closure_bind_to_maps_this_to_obj_class ... ok
[INFO] [stdout] test type_map::tests::closure_use_var_inner_assignment_does_not_override_outer_type ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_returns_implemented_interfaces ... ok
[INFO] [stdout] test type_map::tests::backed_enum_exposes_value_and_factory_methods ... ok
[INFO] [stdout] test type_map::tests::class_with_trait_use_lists_trait ... ok
[INFO] [stdout] test type_map::tests::closure_bind_maps_this_to_obj_class ... ok
[INFO] [stdout] test type_map::tests::docblock_property_appears_in_members ... ok
[INFO] [stdout] test type_map::tests::enum_instance_members_include_name ... ok
[INFO] [stdout] test type_map::tests::foreach_propagates_array_map_element_type ... ok
[INFO] [stdout] test type_map::tests::enum_cases_appear_as_constants ... ok
[INFO] [stdout] test type_map::tests::constructor_promoted_params_appear_as_properties ... ok
[INFO] [stdout] test type_hierarchy::tests::supertypes_returns_parent_class ... ok
[INFO] [stdout] test type_map::tests::closure_use_var_type_is_available_inside_body ... ok
[INFO] [stdout] test type_map::tests::docblock_method_appears_in_members ... ok
[INFO] [stdout] test type_map::tests::array_map_with_typed_closure_populates_element_type ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_assignment_inside_enum_method ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_new_expression ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_assignment_inside_trait_method ... ok
[INFO] [stdout] test type_map::tests::infers_type_from_typed_param ... ok
[INFO] [stdout] test type_map::tests::instanceof_narrows_fqn_to_short_name ... ok
[INFO] [stdout] test type_map::tests::is_backed_enum_string ... ok
[INFO] [stdout] test type_map::tests::is_enum_false_for_class ... ok
[INFO] [stdout] test type_map::tests::is_enum_pure ... ok
[INFO] [stdout] test type_map::tests::members_of_class_includes_parent_field ... ok
[INFO] [stdout] test type_map::tests::later_assignment_overwrites ... ok
[INFO] [stdout] test type_map::tests::members_of_class_finds_methods ... ok
[INFO] [stdout] test type_map::tests::instanceof_narrows_variable_type ... ok
[INFO] [stdout] test type_map::tests::members_of_unknown_class_is_empty ... ok
[INFO] [stdout] test type_map::tests::method_chain_return_type_from_ast_hint ... ok
[INFO] [stdout] test type_map::tests::null_assignment_does_not_overwrite_class ... ok
[INFO] [stdout] test type_map::tests::not_null_check_preserves_existing_type ... ok
[INFO] [stdout] test type_map::tests::nullable_param_resolves_to_class ... ok
[INFO] [stdout] test type_map::tests::multiple_assignments ... ok
[INFO] [stdout] test type_map::tests::null_coalesce_assign_infers_type ... ok
[INFO] [stdout] test type_map::tests::param_docblock_type_inferred ... ok
[INFO] [stdout] test type_map::tests::param_docblock_does_not_override_ast_hint ... ok
[INFO] [stdout] test type_map::tests::static_return_type_resolves_to_class ... ok
[INFO] [stdout] test type_map::tests::parent_class_name_returns_none_for_top_level ... ok
[INFO] [stdout] test type_map::tests::union_type_param_maps_both_classes ... ok
[INFO] [stdout] test type_map::tests::trait_members_are_collected ... ok
[INFO] [stdout] test type_map::tests::promoted_readonly_params_appear_in_readonly_properties ... ok
[INFO] [stdout] test type_map::tests::self_return_type_resolves_to_class ... ok
[INFO] [stdout] test type_map::tests::unknown_variable_returns_none ... ok
[INFO] [stdout] test type_map::tests::parent_class_name_finds_parent ... ok
[INFO] [stdout] test type_map::tests::var_docblock_with_explicit_varname_infers_type ... ok
[INFO] [stdout] test type_map::tests::var_docblock_does_not_map_primitive_types ... ok
[INFO] [stdout] test type_map::tests::var_docblock_without_varname_infers_from_assignment ... ok
[INFO] [stdout] test type_map::tests::var_union_docblock_maps_first_class ... ok
[INFO] [stdout] test type_map::tests::var_nullable_docblock_maps_to_class ... ok
[INFO] [stdout] test type_map::tests::method_chain_return_type_from_docblock ... ok
[INFO] [stdout] test util::tests::utf16_offset_to_byte_ascii ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_surrogate_pair ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_multibyte_bmp ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_past_end_clamps ... ok
[INFO] [stdout] test util::tests::is_php_builtin_asin_recognized ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_and_back_roundtrip ... ok
[INFO] [stdout] test util::tests::byte_to_utf16_ascii ... ok
[INFO] [stdout] test util::tests::utf16_offset_to_byte_surrogate_pair ... ok
[INFO] [stdout] test util::tests::word_at_crlf_line_endings ... ok
[INFO] [stdout] test util::tests::word_at_last_line_with_trailing_newline ... ok
[INFO] [stdout] test walk::tests::class_refs_does_not_match_free_function_with_same_name ... ok
[INFO] [stdout] test walk::tests::class_refs_finds_type_hint_in_function_param ... ok
[INFO] [stdout] test walk::tests::collect_scope_top_level_when_no_function ... ok
[INFO] [stdout] test walk::tests::function_refs_only_matches_free_calls_not_methods ... ok
[INFO] [stdout] test walk::tests::method_refs_finds_nullsafe_method_call ... ok
[INFO] [stdout] test walk::tests::method_refs_only_matches_method_calls_not_free_functions ... ok
[INFO] [stdout] test walk::tests::property_refs_finds_declaration_and_access ... ok
[INFO] [stdout] test walk::tests::property_refs_finds_nullsafe_access ... ok
[INFO] [stdout] test walk::tests::refs_finds_function_declaration_and_call ... ok
[INFO] [stdout] test walk::tests::refs_finds_method_declaration_inside_class ... ok
[INFO] [stdout] test walk::tests::refs_finds_class_declaration_and_new ... ok
[INFO] [stdout] test walk::tests::refs_with_use_includes_use_import ... ok
[INFO] [stdout] test walk::tests::var_refs_does_not_cross_closure_boundary ... ok
[INFO] [stdout] test walk::tests::refs_without_use_misses_use_import ... ok
[INFO] [stdout] test walk::tests::refs_returns_empty_for_unknown_name ... ok
[INFO] [stdout] test walk::tests::var_refs_respects_function_scope_boundary ... ok
[INFO] [stdout] test walk::tests::var_refs_finds_variable_in_assignment_and_echo ... ok
[INFO] [stdout] test walk::tests::var_refs_traverses_if_while_for_foreach ... ok
[INFO] [stdout] test walk::tests::collect_scope_finds_var_inside_function ... ok
[INFO] [stdout] test walk::tests::class_refs_finds_new_and_extends ... ok
[INFO] [stdout] test type_hierarchy::tests::subtypes_finds_class_using_trait ... ok
[INFO] [stdout] test backend::integration::shutdown_responds_correctly ... ok
[INFO] [stdout] test backend::integration::selection_range_expands_from_position ... ok
[INFO] [stdout] test backend::integration::type_definition_for_typed_variable ... ok
[INFO] [stdout] test backend::integration::rename_function_produces_workspace_edit ... ok
[INFO] [stdout] test backend::integration::semantic_tokens_full_returned ... ok
[INFO] [stdout] test backend::integration::signature_help_inside_function_call ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 767 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.69s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests php_lsp
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0a280ba1e67854afe3fab4263e1605450cdbec8d3f9f2c28c068a7a0da2ce11f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a280ba1e67854afe3fab4263e1605450cdbec8d3f9f2c28c068a7a0da2ce11f", kill_on_drop: false }`
[INFO] [stdout] 0a280ba1e67854afe3fab4263e1605450cdbec8d3f9f2c28c068a7a0da2ce11f
