[INFO] fetching crate xcstrings-mcp 3.0.0...
[INFO] testing xcstrings-mcp-3.0.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate xcstrings-mcp 3.0.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate xcstrings-mcp 3.0.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate xcstrings-mcp 3.0.0
[INFO] tweaked toml for crates.io crate xcstrings-mcp 3.0.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate xcstrings-mcp 3.0.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate xcstrings-mcp 3.0.0 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b
[INFO] running `Command { std: "docker" "start" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling ref-cast v1.0.27
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling clap_lex v1.1.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling rmcp v3.4.0
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling uuid v1.26.1
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling smallvec v1.16.1
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling tinyvec v1.13.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling unicode-script v0.5.8
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling ref-cast-impl v1.0.27
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]    Compiling rmcp-macros v3.4.0
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling clap_complete v4.6.11
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling quick-xml v0.42.0
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling schemars v1.2.2
[INFO] [stderr]    Compiling xcstrings-mcp v3.0.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> Cargo.toml:31:15
[INFO] [stderr]    |
[INFO] [stderr] 31 | [dependencies.regex]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `xcstrings-mcp` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s
[INFO] running `Command { std: "docker" "inspect" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.57
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling zerocopy-derive v0.8.57
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.23
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling crossbeam-deque v0.8.8
[INFO] [stderr]    Compiling find-msvc-tools v0.1.13
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling cc v1.4.7
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling num-integer v0.1.47
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling unicode-general-category v1.1.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling fluent-uri v0.4.1
[INFO] [stderr]    Compiling schemars v1.2.2
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.17.0
[INFO] [stderr]    Compiling rmcp v3.4.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling micromap v0.3.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling referencing v0.56.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling jsonschema-value v0.56.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling fancy-regex v0.19.2
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling console v0.16.6
[INFO] [stderr]    Compiling jsonschema-regex v0.56.0
[INFO] [stderr]    Compiling data-encoding v2.11.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling jsonschema v0.56.0
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling insta v1.48.0
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling xcstrings-mcp v3.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3m 10s
[INFO] running `Command { std: "docker" "inspect" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/xcstrings-mcp/ce5ecb2e862c8a31/out/xcstrings_mcp-ce5ecb2e862c8a31)
[INFO] [stdout] 
[INFO] [stdout] running 431 tests
[INFO] [stdout] test error::tests::error_display ... ok
[INFO] [stdout] test error::tests::error_converts_to_mcp_error ... ok
[INFO] [stdout] test error::tests::key_not_found_display ... ok
[INFO] [stdout] test error::tests::strings_parse_display_includes_line_and_message ... ok
[INFO] [stdout] test error::tests::key_already_exists_display ... ok
[INFO] [stdout] test error::tests::stringsdict_parse_display_includes_message ... ok
[INFO] [stdout] test guidance_operation::tests::absent_policy_is_explicit_without_unavailable_warning ... ok
[INFO] [stdout] test io::fs::tests::test_bom_stripping ... ok
[INFO] [stdout] test io::fs::tests::test_default_impl ... ok
[INFO] [stdout] test guidance_operation::tests::corrupt_policy_keeps_exact_revision_and_reports_unavailable ... ok
[INFO] [stdout] test guidance_operation::tests::loaded_snapshot_does_not_mix_rules_after_policy_changes ... ok
[INFO] [stdout] test guidance_operation::tests::staged_and_existing_leaf_checks_use_same_policy_and_preserve_catalog ... ok
[INFO] [stdout] test io::fs::tests::test_path_traversal_rejected ... ok
[INFO] [stdout] test io::fs::tests::test_file_too_large ... ok
[INFO] [stdout] test io::atomic_write::tests::injected_replace_failure_after_temp_creation_cleans_temp_and_preserves_target ... ok
[INFO] [stdout] test io::fs::tests::test_read_bytes_roundtrip ... ok
[INFO] [stdout] test io::fs::tests::test_file_not_found ... ok
[INFO] [stdout] test io::fs::tests::test_read_bytes_file_not_found ... ok
[INFO] [stdout] test io::fs::tests::test_validate_path_no_parent ... ok
[INFO] [stdout] test io::fs::tests::test_atomic_write_no_orphans ... ok
[INFO] [stdout] test io::fs::tests::test_read_bytes_file_too_large ... ok
[INFO] [stdout] test io::fs::tests::test_validate_path_parent_not_exists ... ok
[INFO] [stdout] test io::guard_contract_tests::memory_store_obeys_guarded_write_contract ... ok
[INFO] [stdout] test model::specifier::tests::extracts_only_definite_arguments ... ok
[INFO] [stdout] test model::specifier::tests::percent_escape_is_not_an_argument ... ok
[INFO] [stdout] test model::xcstrings::tests::extraction_state_known_values_roundtrip ... ok
[INFO] [stdout] test model::xcstrings::tests::extraction_state_unknown_value_roundtrip ... ok
[INFO] [stdout] test io::fs::tests::test_modified_time ... ok
[INFO] [stdout] test model::xcstrings::tests::translation_state_unknown_roundtrip ... ok
[INFO] [stdout] test model::xcstrings::tests::parse_simple_fixture ... ok
[INFO] [stdout] test model::xcstrings::tests::translation_state_known_values_roundtrip ... ok
[INFO] [stdout] test io::fs::tests::test_exists ... ok
[INFO] [stdout] test io::fs::tests::test_read_write_roundtrip ... ok
[INFO] [stdout] test io::fs::tests::test_write_creates_file ... ok
[INFO] [stdout] test io::fs::tests::test_write_uses_sidecar_instead_of_replaceable_target_lock ... ok
[INFO] [stdout] test io::guard_contract_tests::filesystem_store_obeys_guarded_write_contract ... ok
[INFO] [stdout] test prompts::tests::add_language_without_file_path ... ok
[INFO] [stdout] test prompts::tests::add_language_with_file_path ... ok
[INFO] [stdout] test prompts::tests::cleanup_stale_returns_content ... ok
[INFO] [stdout] test prompts::tests::review_translations_returns_content ... ok
[INFO] [stdout] test prompts::tests::translate_batch_default_count ... ok
[INFO] [stdout] test prompts::tests::extract_strings_returns_content ... ok
[INFO] [stdout] test prompts::tests::cleanup_stale_without_file_path ... ok
[INFO] [stdout] test prompts::tests::localization_audit_returns_content ... ok
[INFO] [stdout] test prompts::tests::fix_validation_errors_returns_content ... ok
[INFO] [stdout] test prompts::tests::full_translate_returns_content ... ok
[INFO] [stdout] test service::context::tests::test_existing_translations_included ... ok
[INFO] [stdout] test service::context::tests::test_flat_keys_no_dots ... ok
[INFO] [stdout] test service::context::tests::test_key_not_in_file_returns_empty ... ok
[INFO] [stdout] test service::context::tests::test_prefix_match_returns_closest ... ok
[INFO] [stdout] test service::coverage::tests::all_translated_gives_100_percent ... ok
[INFO] [stdout] test service::context::tests::test_no_prefix_match_alphabetical ... ok
[INFO] [stdout] test service::context::tests::test_count_limits_output ... ok
[INFO] [stdout] test service::coverage::tests::should_translate_false_excluded ... ok
[INFO] [stdout] test service::creator::tests::add_keys_comment_preserved ... ok
[INFO] [stdout] test service::coverage::tests::empty_file_returns_zeroes ... ok
[INFO] [stdout] test service::coverage::tests::empty_variations_are_incomplete ... ok
[INFO] [stdout] test service::coverage::tests::locale_in_some_keys_only ... ok
[INFO] [stdout] test service::coverage::tests::multiple_locales_sorted_alphabetically ... ok
[INFO] [stdout] test service::coverage::tests::partial_translation_correct_percentage ... ok
[INFO] [stdout] test service::creator::tests::add_keys_duplicate_skip ... ok
[INFO] [stdout] test service::creator::tests::update_comments_nonexistent_key_skipped ... ok
[INFO] [stdout] test service::creator::tests::update_comments_updates_existing ... ok
[INFO] [stdout] test service::creator::tests::create_empty_file_empty_source_language ... ok
[INFO] [stdout] test service::creator::tests::create_empty_file_valid ... ok
[INFO] [stdout] test service::diff::tests::changed_source_text_appears_in_modified ... ok
[INFO] [stdout] test service::creator::tests::add_keys_empty_list ... ok
[INFO] [stdout] test service::creator::tests::add_keys_to_empty_file ... ok
[INFO] [stdout] test service::creator::tests::add_keys_to_existing_file ... ok
[INFO] [stdout] test service::diff::tests::added_key_appears_in_added ... ok
[INFO] [stdout] test service::diff::tests::both_without_localization_are_equal ... ok
[INFO] [stdout] test service::discovery::tests::empty_directory_returns_nothing ... ok
[INFO] [stdout] test service::discovery::tests::ignores_non_localization_files ... ok
[INFO] [stdout] test service::discovery::tests::finds_xcstrings_in_root ... ok
[INFO] [stdout] test service::discovery::tests::finds_legacy_in_lproj ... ok
[INFO] [stdout] test service::discovery::tests::lproj_with_subdirectories_ignored ... ok
[INFO] [stdout] test service::diff::tests::key_without_source_localization_compared_as_empty ... ok
[INFO] [stdout] test service::diff::tests::no_changes_all_lists_empty ... ok
[INFO] [stdout] test service::diff::tests::removed_key_appears_in_removed ... ok
[INFO] [stdout] test service::discovery::tests::finds_xcstrings_in_nested_dir ... ok
[INFO] [stdout] test service::extractor::tests::test_batch_pagination ... ok
[INFO] [stdout] test service::extractor::tests::test_empty_file ... ok
[INFO] [stdout] test service::extractor::tests::test_format_specifiers_extracted ... ok
[INFO] [stdout] test service::extractor::tests::test_invalid_batch_size ... ok
[INFO] [stdout] test service::discovery::tests::multiple_xcstrings_sorted ... ok
[INFO] [stdout] test service::extractor::tests::test_search_by_key_name ... ok
[INFO] [stdout] test service::extractor::tests::test_search_by_source_text ... ok
[INFO] [stdout] test service::extractor::tests::test_search_empty_pattern_returns_all ... ok
[INFO] [stdout] test service::extractor::tests::test_search_case_insensitive ... ok
[INFO] [stdout] test service::extractor::tests::test_basic_untranslated ... ok
[INFO] [stdout] test service::extractor::tests::test_search_no_matches ... ok
[INFO] [stdout] test service::discovery::tests::max_depth_protection ... ok
[INFO] [stdout] test service::extractor::tests::test_search_pagination ... ok
[INFO] [stdout] test service::extractor::tests::test_already_translated_skipped ... ok
[INFO] [stdout] test service::extractor::tests::test_should_not_translate_filtered ... ok
[INFO] [stdout] test service::discovery::tests::nonexistent_directory_returns_nothing ... ok
[INFO] [stdout] test service::extractor::tests::test_source_text_fallback ... ok
[INFO] [stdout] test service::extractor::tests::test_stale_batch_pagination ... ok
[INFO] [stdout] test service::extractor::tests::test_stale_no_stale_keys ... ok
[INFO] [stdout] test service::extractor::tests::test_stale_should_not_translate_excluded ... ok
[INFO] [stdout] test service::file_validator::tests::test_validate_file_all_locales ... ok
[INFO] [stdout] test service::file_validator::tests::test_validate_file_specific_locale_filter ... ok
[INFO] [stdout] test service::file_validator::tests::test_validate_file_identical_to_source ... ok
[INFO] [stdout] test service::formatter::tests::basic_key_value ... ok
[INFO] [stdout] test service::file_validator::tests::test_validate_file_clean ... ok
[INFO] [stdout] test service::formatter::tests::backslash_before_quote ... ok
[INFO] [stdout] test service::file_validator::tests::test_validate_file_specifier_mismatch ... ok
[INFO] [stdout] test service::formatter::tests::empty_string_value ... ok
[INFO] [stdout] test service::formatter::tests::escaped_quotes ... ok
[INFO] [stdout] test service::file_validator::tests::test_validate_file_specifier_type_mismatch ... ok
[INFO] [stdout] test service::file_validator::tests::test_validate_file_suspicious_length ... ok
[INFO] [stdout] test service::formatter::tests::no_strings_passthrough ... ok
[INFO] [stdout] test service::formatter::tests::full_xcstrings_roundtrip ... ok
[INFO] [stdout] test service::formatter::tests::nested_object ... ok
[INFO] [stdout] test service::formatter::tests::boolean_value ... ok
[INFO] [stdout] test service::formatter::tests::double_backslash_ends_string ... ok
[INFO] [stdout] test service::formatter::tests::format_xcstrings_trailing_newline ... ok
[INFO] [stdout] test service::extractor::tests::test_stale_keys_returned ... ok
[INFO] [stdout] test service::formatter::tests::null_value ... ok
[INFO] [stdout] test service::formatter::tests::url_in_value_preserved ... ok
[INFO] [stdout] test service::glossary::tests::filter_by_substring_key_and_value ... ok
[INFO] [stdout] test service::glossary::tests::corrupt_json_returns_glossary_error ... ok
[INFO] [stdout] test service::glossary::tests::overwrite_existing_entry ... ok
[INFO] [stdout] test service::formatter::tests::numeric_value ... ok
[INFO] [stdout] test service::formatter::tests::unicode_in_value ... ok
[INFO] [stdout] test service::glossary::tests::multiple_locale_pairs_independent ... ok
[INFO] [stdout] test service::glossary::tests::empty_glossary_returns_empty_map ... ok
[INFO] [stdout] test service::glossary::tests::serialize_then_parse_roundtrip ... ok
[INFO] [stdout] test service::keys::tests::test_delete_keys_empty_list ... ok
[INFO] [stdout] test service::keys::tests::test_delete_keys_preserves_order ... ok
[INFO] [stdout] test service::keys::tests::test_delete_keys_mixed ... ok
[INFO] [stdout] test service::keys::tests::test_delete_keys_success ... ok
[INFO] [stdout] test service::keys::tests::test_delete_translations_key_not_found ... ok
[INFO] [stdout] test service::keys::tests::test_delete_translations_locale_not_present ... ok
[INFO] [stdout] test service::keys::tests::test_rename_key_already_exists ... ok
[INFO] [stdout] test service::keys::tests::test_rename_key_empty_new_key ... ok
[INFO] [stdout] test service::keys::tests::test_rename_key_not_found ... ok
[INFO] [stdout] test service::keys::tests::test_rename_key_same_key ... ok
[INFO] [stdout] test service::keys::tests::test_rename_key_success ... ok
[INFO] [stdout] test service::glossary::tests::parse_none_returns_empty ... ok
[INFO] [stdout] test service::keys::tests::test_delete_keys_not_found ... ok
[INFO] [stdout] test service::locale::tests::add_locale_creates_entries ... ok
[INFO] [stdout] test service::keys::tests::test_delete_translations_success ... ok
[INFO] [stdout] test service::keys::tests::test_delete_translations_source_locale ... ok
[INFO] [stdout] test service::locale::tests::add_locale_empty_string_returns_error ... ok
[INFO] [stdout] test service::locale::tests::add_locale_duplicate_returns_error ... ok
[INFO] [stdout] test service::locale::tests::add_locale_excludes_nontranslatable ... ok
[INFO] [stdout] test service::locale::tests::list_locales_correct_counts ... ok
[INFO] [stdout] test service::locale::tests::list_locales_empty_file ... ok
[INFO] [stdout] test service::locale::tests::remove_locale_includes_nontranslatable ... ok
[INFO] [stdout] test service::locale::tests::remove_locale_rejects_source ... ok
[INFO] [stdout] test service::locale::tests::remove_locale_not_found ... ok
[INFO] [stdout] test service::locale::tests::remove_locale_preserves_order ... ok
[INFO] [stdout] test service::merger::tests::substitution_creation_without_metadata_preserves_catalog ... ok
[INFO] [stdout] test service::merger::tests::test_merge_idempotent ... ok
[INFO] [stdout] test service::merger::tests::test_merge_into_empty_localizations ... ok
[INFO] [stdout] test service::merger::tests::test_merge_multiple_translations ... ok
[INFO] [stdout] test service::locale::tests::remove_locale_success ... ok
[INFO] [stdout] test service::merger::tests::test_merge_update_existing ... ok
[INFO] [stdout] test service::migrate::tests::build_with_empty_strings_value_gets_new_state ... ok
[INFO] [stdout] test service::merger::tests::test_merge_substitution_preserves_arg_num ... ok
[INFO] [stdout] test service::merger::tests::test_merge_unknown_key ... ok
[INFO] [stdout] test service::migrate::tests::build_warns_on_duplicate_key ... ok
[INFO] [stdout] test service::migrate::tests::non_source_key_not_in_source_warns_and_adds ... ok
[INFO] [stdout] test service::merger::tests::test_merge_plurals ... ok
[INFO] [stdout] test service::migrate::tests::non_source_locale_adds_translations ... ok
[INFO] [stdout] test service::migrate::tests::complex_plural_uses_substitutions ... ok
[INFO] [stdout] test service::migrate::tests::replace_specifier_with_arg_mixed ... ok
[INFO] [stdout] test service::migrate::tests::replace_specifier_with_arg_plain ... ok
[INFO] [stdout] test service::migrate::tests::merge_mode_skips_existing_keys ... ok
[INFO] [stdout] test service::migrate::tests::stringsdict_overrides_strings_with_warning ... ok
[INFO] [stdout] test service::migrate::tests::locale_import_stats_counted_correctly ... ok
[INFO] [stdout] test service::migrate::tests::non_source_stringsdict_key_not_in_source ... ok
[INFO] [stdout] test service::migrate::tests::test_is_simple_plural_basic ... ok
[INFO] [stdout] test service::migrate::tests::test_is_simple_plural_complex ... ok
[INFO] [stdout] test service::migrate::tests::test_build_substitutions_single_var ... ok
[INFO] [stdout] test service::migrate::tests::test_is_simple_plural_edge_cases ... ok
[INFO] [stdout] test service::migrate::tests::test_replace_specifier_at_sign ... ok
[INFO] [stdout] test service::parser::tests::test_parse_invalid_json ... ok
[INFO] [stdout] test service::migrate::tests::replace_specifier_with_arg_positional ... ok
[INFO] [stdout] test service::migrate::tests::non_source_empty_value_gets_new_state ... ok
[INFO] [stdout] test service::migrate::tests::test_replace_specifier_basic ... ok
[INFO] [stdout] test service::migrate::tests::source_language_not_in_locale_data_errors ... ok
[INFO] [stdout] test service::migrate::tests::test_replace_specifier_positional ... ok
[INFO] [stdout] test service::parser::tests::test_parse_unknown_enum_preserved ... ok
[INFO] [stdout] test service::parser::tests::test_parse_empty_source_language ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_device_variant_key ... ok
[INFO] [stdout] test service::parser::tests::test_parse_valid ... ok
[INFO] [stdout] test service::parser::tests::test_summarize ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_empty_file ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_fully_translated_plural_excluded ... ok
[INFO] [stdout] test service::parser::tests::test_summarize_with_should_not_translate ... ok
[INFO] [stdout] test service::strings_parser::tests::decode_utf16be_with_bom ... ok
[INFO] [stdout] test service::strings_parser::tests::decode_utf16le_no_bom_fallback ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_batch_pagination ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_should_not_translate_excluded ... ok
[INFO] [stdout] test service::strings_parser::tests::decode_utf8_no_bom ... ok
[INFO] [stdout] test service::strings_parser::tests::decode_utf16le_with_bom ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_partially_translated_included ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_plural_key_needing_translation ... ok
[INFO] [stdout] test service::strings_parser::tests::decode_invalid_encoding ... ok
[INFO] [stdout] test service::strings_parser::tests::decode_utf8_with_bom ... ok
[INFO] [stdout] test service::strings_parser::tests::discover_both_file_types ... ok
[INFO] [stdout] test service::plural_extractor::tests::test_substitution_key_parsed ... ok
[INFO] [stdout] test service::strings_parser::tests::discover_multiple_tables ... ok
[INFO] [stdout] test service::strings_parser::tests::empty_block_comment_produces_none ... ok
[INFO] [stdout] test service::strings_parser::tests::discover_no_lproj ... ok
[INFO] [stdout] test service::strings_parser::tests::discover_with_lproj_dirs ... ok
[INFO] [stdout] test service::strings_parser::tests::discover_skips_base_lproj ... ok
[INFO] [stdout] test service::strings_parser::tests::discover_nested_directories ... ok
[INFO] [stdout] test service::strings_parser::tests::extract_locale_valid ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_block_comment_attached ... ok
[INFO] [stdout] test service::strings_parser::tests::escape_error_reports_correct_line ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_empty_value ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_empty_input ... ok
[INFO] [stdout] test service::strings_parser::tests::extract_locale_invalid ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_missing_semicolon ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_multiple_entries_mixed_comments ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_unicode_escape ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_basic_key_value ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_duplicate_keys ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_escape_sequences ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_unquoted_key ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_line_comment_attached ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_mark_comment_not_attached ... ok
[INFO] [stdout] test service::strings_parser::tests::test_unknown_escape_passthrough ... ok
[INFO] [stdout] test service::strings_parser::tests::whitespace_only_block_comment_produces_none ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::format_specifier_preservation ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::cdata_in_text_content ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::invalid_xml_is_error ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_unicode_surrogate_pair ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::multiple_plural_categories ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::missing_other_category_is_error ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::multiple_variables_in_one_entry ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::empty_stringsdict ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::unsupported_rule_type_is_skipped ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::simple_single_variable_plural ... ok
[INFO] [stdout] test service::validator::tests::explicit_empty_value_is_a_valid_translation ... ok
[INFO] [stdout] test service::validator::tests::test_key_not_found ... ok
[INFO] [stdout] test service::validator::tests::test_extra_plural_forms_ok ... ok
[INFO] [stdout] test service::validator::tests::test_should_not_translate ... ok
[INFO] [stdout] test service::validator::tests::test_plural_only_key_specifier_validation ... ok
[INFO] [stdout] test service::validator::tests::test_specifier_type_mismatch ... ok
[INFO] [stdout] test service::strings_parser::tests::parse_unquoted_key_with_dots ... ok
[INFO] [stdout] test service::validator::tests::test_valid_translation ... ok
[INFO] [stdout] test service::validator::tests::test_specifier_count_mismatch ... ok
[INFO] [stdout] test service::xliff::tests::export_comment_appears_as_note ... ok
[INFO] [stdout] test service::validator::tests::partial_plural_forms_are_valid_updates ... ok
[INFO] [stdout] test service::validator::tests::substitution_without_metadata_is_rejected ... ok
[INFO] [stdout] test service::xliff::tests::export_import_roundtrip ... ok
[INFO] [stdout] test service::xliff::tests::export_escapes_xml_special_chars ... ok
[INFO] [stdout] test service::xliff::tests::export_produces_well_formed_xml ... ok
[INFO] [stdout] test service::xliff::tests::import_missing_target_language_returns_error ... ok
[INFO] [stdout] test service::xliff::tests::roundtrip_preserves_special_chars_in_target ... ok
[INFO] [stdout] test service::xliff::tests::export_untranslated_only_false_includes_all ... ok
[INFO] [stdout] test service::xliff::tests::export_untranslated_only_true_excludes_translated ... ok
[INFO] [stdout] test service::xliff::tests::import_empty_xliff_returns_zero_translations ... ok
[INFO] [stdout] test tools::cache_alias_tests::implicit_read_rejects_unresolvable_alias_instead_of_serving_stale_content ... ok
[INFO] [stdout] test service::xliff::tests::legacy_import_rejects_empty_draft_instead_of_silently_dropping_it ... ok
[INFO] [stdout] test tools::coverage::tests::test_get_coverage_returns_data ... ok
[INFO] [stdout] test service::stringsdict_parser::tests::empty_format_value_type_key_is_error ... ok
[INFO] [stdout] test tools::create::tests::test_create_xcstrings_not_xcstrings_ext ... ok
[INFO] [stdout] test prompts::tests::translate_batch_returns_content ... ok
[INFO] [stdout] test tools::coverage::tests::test_validate_file_clean ... ok
[INFO] [stdout] test tools::create::tests::test_create_xcstrings_success ... ok
[INFO] [stdout] test tools::create::tests::test_create_xcstrings_already_exists ... ok
[INFO] [stdout] test tools::diff::tests::test_handle_get_diff_rejects_non_xcstrings_path ... ok
[INFO] [stdout] test tools::create::tests::test_add_keys_duplicate ... ok
[INFO] [stdout] test tools::create::tests::test_update_comments_success ... ok
[INFO] [stdout] test tools::diff::tests::test_handle_get_diff_no_changes ... ok
[INFO] [stdout] test tools::diff::tests::test_handle_get_diff_no_cache ... ok
[INFO] [stdout] test tools::diff::tests::test_handle_get_diff_with_changes ... ok
[INFO] [stdout] test tools::create::tests::test_add_keys_success ... ok
[INFO] [stdout] test tools::extract::tests::test_get_untranslated_no_cache_no_path ... ok
[INFO] [stdout] test tools::extract::tests::test_get_key_not_found ... ok
[INFO] [stdout] test tools::extract::tests::test_get_untranslated_with_file_path ... ok
[INFO] [stdout] test tools::extract::tests::test_get_key_success ... ok
[INFO] [stdout] test service::strings_parser::tests::discover_respects_max_depth ... ok
[INFO] [stdout] test tools::files::tests::test_discover_files_invalid_dir ... ok
[INFO] [stdout] test tools::extract::tests::test_search_keys_handler ... ok
[INFO] [stdout] test tools::extract::tests::test_get_stale_no_stale_keys ... ok
[INFO] [stdout] test tools::files::tests::test_list_files_after_parsing_two_files ... ok
[INFO] [stdout] test tools::glossary::tests::handle_get_glossary_empty ... ok
[INFO] [stdout] test tools::glossary::tests::empty_rich_edit_and_mixed_edit_modes_are_explicit_errors ... ok
[INFO] [stdout] test tools::files::tests::test_list_files_empty_cache ... ok
[INFO] [stdout] test tools::glossary::tests::handle_get_glossary_with_filter ... ok
[INFO] [stdout] test tools::glossary::tests::handle_update_then_get ... ok
[INFO] [stdout] test tools::cache_alias_tests::implicit_read_after_import_refreshes_retargeted_alias_even_with_equal_mtime ... ok
[INFO] [stdout] test tools::extract::tests::test_get_stale_returns_stale_keys ... ok
[INFO] [stdout] test tools::glossary::tests::invalid_rich_candidate_returns_diagnostic_without_write ... ok
[INFO] [stdout] test tools::extract::tests::test_get_untranslated_from_cache ... ok
[INFO] [stdout] test tools::glossary::tests::malformed_glossary_is_unavailable_on_read_and_never_overwritten ... ok
[INFO] [stdout] test tools::glossary::tests::policy_alias_is_unavailable_and_cannot_redirect_glossary_write ... ok
[INFO] [stdout] test tools::glossary::tests::stale_glossary_revision_preserves_external_edit ... ok
[INFO] [stdout] test tools::glossary::tests::workflow_contract_tests::glossary_dry_run_does_not_create_policy_file ... ok
[INFO] [stdout] test tools::glossary::tests::rich_policy_edit_preserves_unrelated_rules_and_unknown_metadata ... ok
[INFO] [stdout] test tools::keys::tests::test_delete_keys_success ... ok
[INFO] [stdout] test tools::keys::tests::test_delete_translations_source_locale_error ... ok
[INFO] [stdout] test tools::keys::tests::test_rename_key_not_found_error ... ok
[INFO] [stdout] test tools::glossary::tests::unreadable_policy_reports_unknown_revision_not_empty_guidance ... ok
[INFO] [stdout] test tools::glossary::tests::workflow_contract_tests::glossary_apply_requires_captured_revision ... ok
[INFO] [stdout] test tools::glossary::tests::policy_changed_after_read_causes_cas_conflict_without_lost_update ... ok
[INFO] [stdout] test tools::keys::tests::test_delete_translations_success ... ok
[INFO] [stdout] test tools::files::tests::test_discover_files_on_fixtures ... ok
[INFO] [stdout] test tools::files::tests::test_discover_files_finds_legacy ... ok
[INFO] [stdout] test tools::manage::tests::test_add_locale_duplicate_error ... ok
[INFO] [stdout] test tools::keys::tests::test_rename_key_success ... ok
[INFO] [stdout] test tools::manage::tests::test_add_locale_success ... ok
[INFO] [stdout] test tools::manage::tests::test_remove_locale_success ... ok
[INFO] [stdout] test tools::manage::tests::test_list_locales_returns_locales ... ok
[INFO] [stdout] test tools::manage::tests::test_remove_source_locale_error ... ok
[INFO] [stdout] test tools::plural::tests::test_get_context_missing_key ... ok
[INFO] [stdout] test tools::plural::tests::test_get_plurals_empty ... ok
[INFO] [stdout] test tools::strings::tests::test_import_dry_run ... ok
[INFO] [stdout] test tools::parse::tests::test_handle_parse_success ... ok
[INFO] [stdout] test tools::plural::context_workflow_contract_tests::zero_neighbor_context_returns_requested_key_and_review_version ... ok
[INFO] [stdout] test tools::parse::tests::test_handle_parse_file_not_found ... ok
[INFO] [stdout] test tools::parse::tests::test_handle_parse_not_xcstrings ... ok
[INFO] [stdout] test tools::strings::tests::test_import_key_in_target_not_source ... ok
[INFO] [stdout] test tools::strings::tests::test_import_single_locale_strings ... ok
[INFO] [stdout] test tools::strings::tests::test_import_source_language_not_found ... ok
[INFO] [stdout] test tools::strings::tests::test_import_stringsdict_complex_plural ... ok
[INFO] [stdout] test tools::strings::tests::test_import_invalid_output_extension ... ok
[INFO] [stdout] test tools::strings::tests::test_import_stringsdict_simple_plural ... ok
[INFO] [stdout] test tools::strings::tests::test_import_merge_into_existing ... ok
[INFO] [stdout] test tools::strings::tests::test_import_both_params_error ... ok
[INFO] [stdout] test tools::strings::tests::test_import_source_and_target_locale ... ok
[INFO] [stdout] test tools::plural::tests::test_get_context_success ... ok
[INFO] [stdout] test tools::strings::tests::test_import_mixed_strings_and_stringsdict ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_duplicate_expanded_attribute_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_duplicate_namespace_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_foreign_wrapper_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_empty_root_fragment_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_missing_root_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_malformed_namespace_reference_without_writing ... ok
[INFO] [stdout] test tools::plural::tests::test_get_plurals_success ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_qualified_child_in_legacy_document_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_accepts_normalized_official_namespace_and_bound_extension ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_multiple_roots_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_normalized_alias_collision_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_nested_xliff_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_unbound_attribute_prefix_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_accepts_prefix_bound_elements_for_dry_run_and_apply ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_unbound_empty_extension_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::submit_accepts_supported_unspaced_script_adjacency ... ok
[INFO] [stdout] test tools::task1_tests::submit_handler_applies_apple_unsigned_z_and_t_aliases ... ok
[INFO] [stdout] test tools::task1_tests::submit_and_mcp_xliff_block_same_definite_modifier_mismatch ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_returns_same_ambiguous_warning ... ok
[INFO] [stdout] test tools::task1_tests::submit_handler_rejects_signed_unsigned_z_t_collision_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_wrong_namespace_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_unqualified_child_in_official_document_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::mcp_xliff_import_rejects_unbound_non_empty_extension_without_writing ... ok
[INFO] [stdout] test tools::task1_tests::submit_handler_applies_compatible_repeated_positions ... ok
[INFO] [stdout] test tools::task1_tests::submit_returns_machine_readable_ambiguous_warning ... ok
[INFO] [stdout] test tools::task1_tests::submit_handler_rejects_missing_repeated_occurrence_without_writing ... ok
[INFO] [stdout] test tools::task2_tests::apply_does_not_insert_an_uncached_output_or_switch_active_file ... ok
[INFO] [stdout] test tools::task1_tests::submit_preserves_format_arguments_next_to_supported_unspaced_scripts ... ok
[INFO] [stdout] test tools::task2_tests::merge_reads_explicit_inputs_fresh_instead_of_using_cached_content ... ok
[INFO] [stdout] test tools::tests::test_file_cache_insert_sets_active ... ok
[INFO] [stdout] test tools::tests::test_memory_store_binary_files ... ok
[INFO] [stdout] test tools::tests::test_resolve_file_from_cache ... ok
[INFO] [stdout] test tools::tests::test_file_cache_list_sorted ... ok
[INFO] [stdout] test tools::task2_tests::apply_refreshes_active_cached_symlink_by_file_identity_and_keeps_display_path ... ok
[INFO] [stdout] test tools::tests::test_resolve_file_no_cache_no_path ... ok
[INFO] [stdout] test tools::tests::test_resolve_file_rejects_non_xcstrings ... ok
[INFO] [stdout] test tools::task2_tests::reparsing_retargeted_symlink_evicts_old_identity_and_keeps_one_active_display_path ... ok
[INFO] [stdout] test tools::tests::test_resolve_file_with_path ... ok
[INFO] [stdout] test tools::task2_tests::apply_refreshes_only_an_already_cached_output_without_switching_active_file ... ok
[INFO] [stdout] test tools::task1_tests::submit_blocks_non_exact_substitution_placeholder_tokens ... ok
[INFO] [stdout] test tools::translate::cas_tests::native_commit_survives_cache_metadata_failure ... ok
[INFO] [stdout] test tools::translate::cas_tests::concurrent_external_edit_is_not_overwritten_and_cache_is_unchanged ... ok
[INFO] [stdout] test tools::translate::cas_tests::dry_native_submit_keeps_active_file_and_cache_unchanged ... ok
[INFO] [stdout] test tools::translate::cas_tests::combined_invariant_failure_cancels_entire_apply_batch ... ok
[INFO] [stdout] test tools::translate::source_guard_tests::authored_context_change_rejects_inflight_native_save ... ok
[INFO] [stdout] test tools::translate::source_guard_tests::native_partial_batch_saves_only_current_source_requests_as_drafts ... ok
[INFO] [stdout] test tools::translate::source_guard_tests::context_creation_during_native_commit_prevents_stale_draft_write ... ok
[INFO] [stdout] test tools::translate::source_guard_tests::empty_source_revision_is_not_a_compatibility_bypass ... ok
[INFO] [stdout] test tools::translate::source_guard_tests::stale_source_revision_rejects_native_save_without_writing ... ok
[INFO] [stdout] test tools::translate::tests::test_continue_on_error_default_is_true ... ok
[INFO] [stdout] test tools::translate::tests::test_accepted_keys_returned ... ok
[INFO] [stdout] test tools::translate::tests::test_submit_dry_run ... ok
[INFO] [stdout] test tools::translate::cas_tests::native_conditional_write_compares_exact_bom_bytes ... ok
[INFO] [stdout] test tools::translate::tests::test_submit_no_active_file ... ok
[INFO] [stdout] test tools::translate::cas_tests::combined_invariant_failure_cancels_entire_dry_batch ... ok
[INFO] [stdout] test tools::translate::tests::test_submit_rejects_invalid_specifier ... ok
[INFO] [stdout] test tools::workflow::tests::coverage_excludes_changed_sources_before_any_invalidation_write ... ok
[INFO] [stdout] test tools::translate::tests::test_continue_on_error_true_writes_valid ... ok
[INFO] [stdout] test tools::workflow::tests::context_apply_requires_a_captured_revision_without_writing ... ok
[INFO] [stdout] test tools::translate::tests::test_submit_writes_file ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_applies_real_xcode_explicit_blank_to_existing_empty_key ... ok
[INFO] [stdout] test tools::workflow::tests::guarded_context_edit_invalidates_readiness_and_preserves_native_text ... ok
[INFO] [stdout] test tools::translate::tests::test_continue_on_error_false_rejects_all ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_rejects_duplicate_id_in_one_file_without_write ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_rejects_variation_id_without_write ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_export_includes_every_plural_leaf_and_required_category ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_rejects_duplicate_id_across_files_without_write ... ok
[INFO] [stdout] test tools::xliff::cache_tests::dry_import_keeps_previous_active_file_and_cache_contents ... ok
[INFO] [stdout] test tools::xliff::cache_tests::conflicting_import_keeps_previous_active_file_and_cache_contents ... ok
[INFO] [stdout] test tools::xliff::cache_tests::rejected_import_keeps_previous_active_file_and_cache_contents ... ok
[INFO] [stdout] test tools::xliff::cdata_tests::mcp_cdata_apply_writes_full_value ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_writes_nonempty_empty_id_only_when_catalog_has_exact_empty_key ... ok
[INFO] [stdout] test tools::xliff::cdata_tests::mcp_cdata_dry_run_preserves_full_value_without_write ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_rejects_nonempty_empty_id_when_catalog_has_no_empty_key_without_write ... ok
[INFO] [stdout] test tools::xliff::apple_compat_tests::mcp_rejects_real_xcode_empty_id_when_catalog_key_is_absent ... ok
[INFO] [stdout] test tools::xliff::cdata_tests::mcp_rejects_cdata_outside_root_without_write ... ok
[INFO] [stdout] test tools::xliff::cache_tests::committed_import_survives_metadata_failure_and_invalidates_stale_cache ... ok
[INFO] [stdout] test tools::xliff::cache_tests::malformed_import_keeps_previous_active_file_and_cache_contents ... ok
[INFO] [stdout] test tools::xliff::cdata_tests::mcp_rejects_unclosed_cdata_without_write ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_bin_target_nested_in_header_without_write ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_duplicate_target_without_write ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_bin_unit_without_bin_source_without_write ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_file_without_body_without_write ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_nested_file_without_write ... ok
[INFO] [stdout] test tools::xliff::tests::test_export_xliff_rejects_non_xliff_output_path ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_target_before_source_without_write ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_trans_unit_before_file_without_write ... ok
[INFO] [stdout] test tools::xliff::tests::test_export_xliff_writes_file ... ok
[INFO] [stdout] test tools::xliff::structure_tests::mcp_rejects_group_metadata_out_of_order_without_write ... ok
[INFO] [stdout] test xliff_operation::tests::draft_apply_preserves_status_unknown_metadata_and_exact_destination ... ok
[INFO] [stdout] test xliff_operation::tests::concurrent_edit_survives_a_failed_import_without_staged_cache_content ... ok
[INFO] [stdout] test xliff_operation::tests::invalid_utf8_catalog_returns_io_error_and_keeps_bytes ... ok
[INFO] [stdout] test xliff_operation::tests::bom_is_part_of_expected_bytes_but_not_written ... ok
[INFO] [stdout] test tools::xliff::tests::test_import_xliff_writes_translations ... ok
[INFO] [stdout] test xliff_operation::tests::missing_target_is_a_byte_preserving_no_op ... ok
[INFO] [stdout] test xliff_operation::tests::dry_run_and_apply_share_the_plan_without_dry_run_writes ... ok
[INFO] [stdout] test xliff_operation::tests::store_without_conditional_writes_fails_closed ... ok
[INFO] [stdout] test xliff_operation::tests::one_unknown_key_rejects_the_whole_batch_without_changing_the_catalog ... ok
[INFO] [stdout] test tools::xliff::tests::test_import_xliff_dry_run ... ok
[INFO] [stdout] test tools::xliff::tests::test_import_empty_xliff ... ok
[INFO] [stdout] test tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file ... FAILED
[INFO] [stdout] test tools::task1_tests::submit_matches_all_240_modifier_oracle_cases ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file' (3776) panicked at src/tools/task2_tests.rs:220:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/task2-cache-relative-N9YF9c", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64a2a249e571 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64a2a249e571 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64a2a249e571 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64a2a249e571 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64a2a24b50aa - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64a2a24b50aa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x64a2a24a2b7c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x64a2a24a2b7c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x64a2a24771f6 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64a2a24771f6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x64a2a2495379 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x64a2a22d6dd0 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x64a2a22d6dd0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x64a2a2495532 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x64a2a2495532 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x64a2a24772a2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x64a2a246fba9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64a2a247808d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x64a2a24b58cc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64a2a24b5622 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x64a2a2103063 - <core[a373ad73a504971]::result::Result<tempfile[94cca81349c2c5b0]::dir::TempDir, core[a373ad73a504971]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/result.rs:1232:23
[INFO] [stdout]   21:     0x64a2a2103063 - xcstrings_mcp[9f003b171a746953]::tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tools/task2_tests.rs:220:10
[INFO] [stdout]   22:     0x64a2a1d05502 - <core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>> as core[a373ad73a504971]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x64a2a1d0557d - <core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>> as core[a373ad73a504971]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x64a2a1c8846d - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:830:70
[INFO] [stdout]   25:     0x64a2a1c883a5 - tokio[6cd66490416fddf5]::task::coop::with_budget::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x64a2a1c883a5 - tokio[6cd66490416fddf5]::task::coop::budget::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x64a2a1c883a5 - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:830:25
[INFO] [stdout]   28:     0x64a2a1c79012 - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:488:19
[INFO] [stdout]   29:     0x64a2a1c86bcd - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:829:44
[INFO] [stdout]   30:     0x64a2a1c85e64 - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:906:68
[INFO] [stdout]   31:     0x64a2a2026dcb - <tokio[6cd66490416fddf5]::runtime::context::scoped::Scoped<tokio[6cd66490416fddf5]::runtime::scheduler::Context>>::set::<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x64a2a1fddce9 - tokio[6cd66490416fddf5]::runtime::context::set_scheduler::<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context.rs:187:38
[INFO] [stdout]   33:     0x64a2a1ef95df - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[6cd66490416fddf5]::runtime::context::Context>>::try_with::<tokio[6cd66490416fddf5]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/local.rs:463:12
[INFO] [stdout]   34:     0x64a2a1ef928e - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[6cd66490416fddf5]::runtime::context::Context>>::with::<tokio[6cd66490416fddf5]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/local.rs:427:20
[INFO] [stdout]   35:     0x64a2a1fb5efd - tokio[6cd66490416fddf5]::runtime::context::set_scheduler::<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context.rs:187:17
[INFO] [stdout]   36:     0x64a2a1c79760 - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:906:27
[INFO] [stdout]   37:     0x64a2a1c79a57 - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:817:24
[INFO] [stdout]   38:     0x64a2a1c85d16 - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:218:33
[INFO] [stdout]   39:     0x64a2a213622a - tokio[6cd66490416fddf5]::runtime::context::runtime::enter_runtime::<<tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x64a2a1c78bd4 - <tokio[6cd66490416fddf5]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/scheduler/current_thread/mod.rs:206:9
[INFO] [stdout]   41:     0x64a2a220624b - <tokio[6cd66490416fddf5]::runtime::runtime::Runtime>::block_on_inner::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/runtime.rs:374:52
[INFO] [stdout]   42:     0x64a2a220638b - <tokio[6cd66490416fddf5]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.1/src/runtime/runtime.rs:343:18
[INFO] [stdout]   43:     0x64a2a2116c20 - xcstrings_mcp[9f003b171a746953]::tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tools/task2_tests.rs:266:37
[INFO] [stdout]   44:     0x64a2a20fffb7 - xcstrings_mcp[9f003b171a746953]::tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tools/task2_tests.rs:215:87
[INFO] [stdout]   45:     0x64a2a1dbbe46 - <xcstrings_mcp[9f003b171a746953]::tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x64a2a22ca21b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x64a2a22ca21b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   48:     0x64a2a22d73f5 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   49:     0x64a2a22d73f5 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x64a2a22d73f5 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   51:     0x64a2a22d73f5 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   52:     0x64a2a22d73f5 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x64a2a22d73f5 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   54:     0x64a2a22d73f5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   55:     0x64a2a22d0ce4 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   56:     0x64a2a22d0ce4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x64a2a22da482 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   58:     0x64a2a22da482 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x64a2a22da482 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   60:     0x64a2a22da482 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   61:     0x64a2a22da482 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x64a2a22da482 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   63:     0x64a2a22da482 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x64a2a249d54f - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   65:     0x64a2a249d54f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   66:     0x792df1437dfa - <unknown>
[INFO] [stdout]   67:     0x792df14cb3d4 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tools::task2_tests::apply_refreshes_inactive_cached_relative_path_without_switching_active_file
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 430 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b", kill_on_drop: false }`
[INFO] [stdout] 3aaca4dceef7c4f6968e2e835bf73ad456af0aec1d3eb319f8a9879fe0a6af4b
