[INFO] fetching crate tin-gis-converters 0.2.19...
[INFO] testing tin-gis-converters-0.2.19 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate tin-gis-converters 0.2.19 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate tin-gis-converters 0.2.19
[INFO] finished tweaking crates.io crate tin-gis-converters 0.2.19
[INFO] tweaked toml for crates.io crate tin-gis-converters 0.2.19 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tin-gis-converters 0.2.19 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 tin-gis-converters 0.2.19 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] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 | homepage = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 | repository = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tin-gis-converters` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293
[INFO] running `Command { std: "docker" "start" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293", 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" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293" "/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" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293", 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" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 | homepage = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 | repository = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tin-gis-converters` (manifest) generated 1 warning
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling xml-rs v0.8.29
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling xmltree v0.9.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling time-core v0.1.7
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling pxfm v0.1.30
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling codepage v0.1.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling time v0.3.45
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling dxf v0.6.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling moxcms v0.7.11
[INFO] [stderr]    Compiling dbase v0.6.1
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling shapefile-gbk v0.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling async-trait v0.1.91
[INFO] [stderr]    Compiling sysinfo v0.33.1
[INFO] [stderr]    Compiling roxmltree v0.20.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling image v0.25.9
[INFO] [stderr]    Compiling tin-gis-converters v0.2.19 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293", 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" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 | homepage = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 | repository = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tin-gis-converters` (manifest) generated 1 warning
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling pxfm v0.1.30
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling time-core v0.1.7
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling codepage v0.1.2
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling time v0.3.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling moxcms v0.7.11
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling dbase v0.6.1
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling shapefile-gbk v0.6.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling sysinfo v0.33.1
[INFO] [stderr]    Compiling roxmltree v0.20.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling image v0.25.9
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling dxf v0.6.1
[INFO] [stderr]    Compiling tin-gis-converters v0.2.19 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3m 10s
[INFO] running `Command { std: "docker" "inspect" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293", 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" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 | homepage = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 | repository = "https://gitee.com/J_Tang/tin-gis-converters"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tin-gis-converters` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/tin-gis-converters/fd115b52cf5dcd1f/out/tin_gis_converters-fd115b52cf5dcd1f)
[INFO] [stdout] 
[INFO] [stdout] running 354 tests
[INFO] [stdout] test api::registry::tests::default_registry_registers_all_formats ... ok
[INFO] [stdout] test codec::detect::tests::detects_zip_container ... ok
[INFO] [stdout] test api::adapters::tests::shp_adapter_health_and_formats ... ok
[INFO] [stdout] test api::registry::tests::manual_register_overrides_and_get ... ok
[INFO] [stdout] test codec::detect::tests::sniff_inconclusive_on_short_headers ... ok
[INFO] [stdout] test codec::detect::tests::sniff_mismatch_cases ... ok
[INFO] [stdout] test codec::detect::tests::detects_kml_and_dxf_by_sniff ... ok
[INFO] [stdout] test codec::detect::tests::detects_shp_dwg_tiff_by_magic ... ok
[INFO] [stdout] test codec::detect::tests::extension_fallback_for_unrecognized_header ... ok
[INFO] [stdout] test api::adapters::tests::geojson_adapter_converts_end_to_end ... FAILED
[INFO] [stdout] test codec::detect::tests::unknown_input_is_unsupported ... ok
[INFO] [stdout] test codec::dwg::oda::tests::headless_script_passes_six_args ... ok
[INFO] [stdout] test codec::dxf::blocks::tests::insert_attributes_skips_empty_tags ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::blocks_on_undetermined ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::dwg_codepage_ansi_1252_with_crlf ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::dwg_codepage_ansi_936 ... ok
[INFO] [stdout] test codec::detect::tests::detects_geo_json_by_sniff ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::sniffs_gbk_without_declaration ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::ascii_is_safe ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::unknown_dwg_codepage_blocks ... ok
[INFO] [stdout] test codec::dwg::oda::tests::locate_output_dxf_keeps_dots_in_stem ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::utf8_bom_wins ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::circle_and_arc_sampling_still_work ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::common_properties_extracts_layer_line_type_color ... ok
[INFO] [stdout] test codec::dwg::oda::tests::oda_invocation_headless_sh_wrapped ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::common_properties_skips_default_inherited_values ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::face3d_converts_to_polygon ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::full_ellipse_converts_to_polygon ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::hatch_feature_carries_layer ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::hatch_to_feature_builds_polygon_with_holes ... ok
[INFO] [stdout] test codec::dwg::oda::tests::oda_invocation_windows_direct ... ok
[INFO] [stdout] test codec::dxf::blocks::tests::insert_attributes_extracts_tag_value_pairs ... ok
[INFO] [stdout] test codec::dxf::encoding::tests::sniffs_utf8_without_declaration ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::hatch_to_feature_skips_degenerate_rings ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::sample_coordinates_uses_insert_point_not_block_local ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::solid_converts_to_polygon ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::partial_ellipse_converts_to_linestring ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::model_point_converts_to_point ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::spline_converts_to_linestring_and_closes ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::text_feature_carries_layer_and_text ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::sample_coordinates_covers_new_entity_types ... ok
[INFO] [stdout] test codec::dxf::hatch::tests::extracts_3d_polyline_hatch_ignoring_z ... ok
[INFO] [stdout] test codec::dxf::hatch::tests::extracts_edge_hatch_vertices ... ok
[INFO] [stdout] test codec::dxf::hatch::tests::extracts_polyline_hatch_with_bulges ... ok
[INFO] [stdout] test codec::dxf::geometry::tests::sample_coordinates_includes_hatch_boundary ... ok
[INFO] [stdout] test api::registry::tests::health_all_returns_one_entry_per_format ... FAILED
[INFO] [stdout] test codec::dxf::hatch::tests::extracts_qgis_polyline_hatch_with_hole ... ok
[INFO] [stdout] test codec::dxf::hatch::tests::ignores_non_hatch_entities ... ok
[INFO] [stdout] test codec::dxf::hatch::tests::sample_points_iterates_all_rings ... ok
[INFO] [stdout] test codec::dxf::tests::converts_hatch_only_dxf_to_polygon ... ok
[INFO] [stdout] test codec::dxf::tests::infers_crs_from_hatch_boundary ... ok
[INFO] [stdout] test codec::dxf::tests::sanitize_properties_removes_nul_from_keys_and_values ... ok
[INFO] [stdout] test codec::dxf::tests::insert_with_attributes_merges_into_expanded_features ... ok
[INFO] [stdout] test codec::dxf::tests::multi_feature_transform_is_batched_across_features ... ok
[INFO] [stdout] test codec::geojson::crs::tests::resolve_source_crs_paths ... ok
[INFO] [stdout] test codec::format::tests::code_and_output_ext ... ok
[INFO] [stdout] test codec::format::tests::from_ext_covers_all_formats ... ok
[INFO] [stdout] test codec::geojson::crs::tests::inference_uses_spec_default_when_empty ... ok
[INFO] [stdout] test codec::geojson::crs::tests::parse_crs_member_variants ... ok
[INFO] [stdout] test codec::geojson::crs::tests::inference_blocks_projected_coordinates_without_metadata ... ok
[INFO] [stdout] test codec::geojson::geometry::tests::null_geometry_is_skipped ... ok
[INFO] [stdout] test codec::geojson::geometry::tests::sampling_collects_coordinates_and_hints ... ok
[INFO] [stdout] test codec::geojson::geometry::tests::excessive_nesting_is_rejected ... ok
[INFO] [stdout] test codec::geojson::geometry::tests::geometry_without_z_reports_false ... ok
[INFO] [stdout] test codec::geojson::parser::tests::callback_error_propagates ... ok
[INFO] [stdout] test codec::geojson::geometry::tests::transform_feature_handles_geometries_collection_and_z ... ok
[INFO] [stdout] test codec::geojson::geometry::tests::transform_feature_moves_points_and_bbox ... ok
[INFO] [stdout] test codec::geojson::parser::tests::zero_total_bytes_reports_done ... ok
[INFO] [stdout] test codec::geojson::parser::tests::parses_features_streams_and_counts ... ok
[INFO] [stdout] test codec::geojson::tests::nul_escapes_in_properties_are_cleaned ... ok
[INFO] [stdout] test codec::geojson::tests::parse_top_type_and_bom_helpers ... ok
[INFO] [stdout] test codec::geojson::tests::supported_formats_and_health ... ok
[INFO] [stdout] test codec::geojson::tests::convert_rejects_corrupted_json ... ok
[INFO] [stdout] test codec::geojson::tests::convert_bare_feature ... ok
[INFO] [stdout] test codec::geojson::tests::validate_input_detects_top_types ... ok
[INFO] [stdout] test codec::geojson::tests::convert_tolerates_non_object_feature_with_warning ... ok
[INFO] [stdout] test codec::geojson::tests::convert_fc_end_to_end_with_injected_identity ... ok
[INFO] [stdout] test codec::geojson::tests::convert_geometry_collection_root ... ok
[INFO] [stdout] test codec::geotiff::precheck::tests::parses_crs84 ... ok
[INFO] [stdout] test codec::geojson::verify::tests::verify_rejects_non_json ... ok
[INFO] [stdout] test codec::geotiff::precheck::tests::parses_epsg_and_urn ... ok
[INFO] [stdout] test codec::geotiff::precheck::tests::unrecognized_returns_none ... ok
[INFO] [stdout] test codec::geojson::tests::wrap_root_feature_and_collection_paths ... ok
[INFO] [stdout] test codec::geojson::writer::tests::writer_produces_valid_document ... ok
[INFO] [stdout] test codec::kml::crs::tests::default_crs_is_wgs84 ... ok
[INFO] [stdout] test codec::kml::crs::tests::inference_blocks_projected_coordinates ... ok
[INFO] [stdout] test codec::geojson::verify::tests::verify_accepts_valid_output ... ok
[INFO] [stdout] test codec::geojson::tests::convert_defaults_to_wgs84_without_crs ... FAILED
[INFO] [stdout] test codec::geojson::verify::tests::verify_rejects_empty_output ... ok
[INFO] [stdout] test codec::kml::crs::tests::inference_uses_default_when_empty ... ok
[INFO] [stdout] test codec::kml::crs::tests::join_codes_formats_list ... ok
[INFO] [stdout] test codec::geojson::tests::check_size_enforces_limit ... ok
[INFO] [stdout] test codec::kml::encoding::tests::blocks_on_undetermined ... ok
[INFO] [stdout] test codec::kml::encoding::tests::ascii_safe ... ok
[INFO] [stdout] test codec::kml::encoding::tests::detect_from_xml_declaration_utf8 ... ok
[INFO] [stdout] test codec::kml::encoding::tests::decode_strips_bom ... ok
[INFO] [stdout] test codec::kml::encoding::tests::detect_from_xml_declaration_gbk ... ok
[INFO] [stdout] test codec::kml::encoding::tests::detect_utf16be_magic_no_bom ... ok
[INFO] [stdout] test codec::kml::parse::tests::parses_placemarks_and_reports_style_warning ... ok
[INFO] [stdout] test codec::kml::encoding::tests::declaration_conflicts_with_content_sniff ... ok
[INFO] [stdout] test codec::kml::parse::tests::rejects_invalid_xml ... ok
[INFO] [stdout] test codec::kml::encoding::tests::decode_utf16le_with_bom ... ok
[INFO] [stdout] test codec::kml::parse::tests::rejects_wrong_root ... ok
[INFO] [stdout] test codec::kml::encoding::tests::detect_utf16le_bom ... ok
[INFO] [stdout] test codec::kml::safety::tests::rejects_deep_nesting ... ok
[INFO] [stdout] test codec::kml::encoding::tests::sniff_utf8_without_declaration ... ok
[INFO] [stdout] test codec::kml::encoding::tests::detect_utf8_bom ... ok
[INFO] [stdout] test codec::kml::encoding::tests::sniff_gbk_without_declaration ... ok
[INFO] [stdout] test codec::kml::safety::tests::rejects_oversize ... ok
[INFO] [stdout] test codec::kml::safety::tests::rejects_doctype_and_entity ... ok
[INFO] [stdout] test codec::kml::tests::options_default_and_health ... ok
[INFO] [stdout] test codec::kml::transform::tests::samples_coordinates ... ok
[INFO] [stdout] test codec::kml::transform::tests::transforms_point_and_bbox ... ok
[INFO] [stdout] test codec::kml::tests::convert_kml_end_to_end_with_injected_identity ... ok
[INFO] [stdout] test codec::kml::tests::convert_rejects_wrong_root ... ok
[INFO] [stdout] test codec::kml::verify::tests::verify_accepts_valid_output ... ok
[INFO] [stdout] test codec::kml::tests::convert_kml_default_crs_path ... FAILED
[INFO] [stdout] test codec::kml::safety::tests::validates_safe_kml ... ok
[INFO] [stdout] test codec::kml::tests::build_name_property_cleans_nul ... ok
[INFO] [stdout] test codec::kml::transform::tests::excessive_depth_is_rejected ... ok
[INFO] [stdout] test codec::shp::crs::tests::prj_with_band_prefix_keeps_zone_series ... ok
[INFO] [stdout] test codec::shp::crs::tests::prj_no_band_prefix_maps_to_cm_series ... ok
[INFO] [stdout] test codec::shp::dbf::tests::decode_field_name_falls_back_to_utf8_for_utf16 ... ok
[INFO] [stdout] test codec::shp::dbf::tests::map_field_name_keeps_punctuation ... ok
[INFO] [stdout] test codec::kml::writer::tests::writer_produces_valid_document ... ok
[INFO] [stdout] test codec::shp::crs::tests::gk_datum_by_name_recognizes_cgcs2000_underscore ... ok
[INFO] [stdout] test codec::kml::verify::tests::verify_rejects_non_json ... ok
[INFO] [stdout] test codec::shp::dbf::tests::map_field_name_preserves_chinese ... ok
[INFO] [stdout] test codec::kml::verify::tests::verify_rejects_empty_output ... ok
[INFO] [stdout] test codec::shp::dbf::tests::map_field_name_does_not_truncate_long_names ... ok
[INFO] [stdout] test codec::shp::crs::tests::prj_cgcs2000_underscore_maps_to_gk_series ... ok
[INFO] [stdout] test codec::shp::dbf::tests::read_dbf_header_decodes_gbk_field_name ... ok
[INFO] [stdout] test codec::shp::dbf::tests::read_dbf_meta_returns_header_size_and_ldid ... ok
[INFO] [stdout] test codec::shp::encoding::tests::bom_detects_utf8_without_declaration ... ok
[INFO] [stdout] test codec::shp::dbf::tests::map_field_name_with_hash_appends_to_full_name ... ok
[INFO] [stdout] test codec::shp::dbf::tests::resolve_mapped_name_deduplicates_identical_names ... ok
[INFO] [stdout] test codec::shp::crs::tests::prj_no_band_prefix_maps_6degree_cm_series ... ok
[INFO] [stdout] test codec::shp::encoding::tests::cpg_declaration_is_authoritative_over_utf8_sniff ... ok
[INFO] [stdout] test codec::shp::encoding::tests::sniff_gbk_content ... ok
[INFO] [stdout] test codec::shp::encoding::tests::sniff_undetermined_on_single_high_byte ... ok
[INFO] [stdout] test codec::shp::encoding::tests::sniff_utf8_and_ascii_content ... ok
[INFO] [stdout] test codec::shp::encoding::tests::strip_incomplete_tail_keeps_valid_content ... ok
[INFO] [stdout] test codec::shp::encoding::tests::cpg_declaration_is_used_when_content_is_ascii ... ok
[INFO] [stdout] test codec::shp::encoding::tests::strip_incomplete_tail_removes_truncated_char ... ok
[INFO] [stdout] test codec::shp::encoding::tests::cpg_gb18030_declaration_is_preserved ... ok
[INFO] [stdout] test codec::shp::encoding::tests::undetermined_without_declaration_fails ... ok
[INFO] [stdout] test codec::shp::geometry::tests::disjoint_outer_rings_are_multipart ... ok
[INFO] [stdout] test codec::shp::geometry::tests::eleven_disjoint_rings_stay_eleven_exteriors ... ok
[INFO] [stdout] test codec::shp::geometry::tests::inner_ring_outside_any_outer_becomes_exterior_with_warning ... ok
[INFO] [stdout] test codec::shp::geometry::tests::island_in_hole_keeps_island_as_separate_exterior ... ok
[INFO] [stdout] test codec::shp::geometry::tests::multipart_with_hole_assigns_hole_to_first_part ... ok
[INFO] [stdout] test codec::shp::encoding::tests::cpg_utf8_wins_over_gbk_like_content ... ok
[INFO] [stdout] test codec::shp::geometry::tests::outer_with_hole_outputs_polygon_with_hole ... ok
[INFO] [stdout] test codec::shp::geometry::tests::outer_with_inner_hole_keeps_hole_semantics ... ok
[INFO] [stdout] test codec::shp::encoding::tests::detect_from_dbf_sniffs_utf8_when_field_truncated_mid_char ... ok
[INFO] [stdout] test codec::shp::geometry::tests::stray_inner_ring_emits_warning ... ok
[INFO] [stdout] test codec::shp::encoding::tests::ldid_declares_gbk ... ok
[INFO] [stdout] test codec::shp::encoding::tests::read_sniff_sample_reads_entire_record_area ... ok
[INFO] [stdout] test codec::shp::tests::multi_shape_transform_is_batched_once_per_file ... ok
[INFO] [stdout] test codec::shp::geometry::tests::single_outer_ring_assembles_as_one_exterior ... ok
[INFO] [stdout] test codec::shp::geometry::tests::two_disjoint_rings_output_multipolygon ... ok
[INFO] [stdout] test codec::shp::geometry::tests::single_ring_outputs_polygon ... ok
[INFO] [stdout] test codec::shp::tests::chinese_dbf_field_name_preserved_in_geojson_key ... ok
[INFO] [stdout] test codec::shp::geometry::tests::unclosed_ring_yields_none ... ok
[INFO] [stdout] test codec::shp::tests::multipart_polygon_outputs_multipolygon ... ok
[INFO] [stdout] test codec::zip::tests::rejects_excessive_depth ... ok
[INFO] [stdout] test codec::shp::tests::truncated_utf8_field_keeps_chinese_readable ... ok
[INFO] [stdout] test codec::zip::tests::rejects_symlink_entry ... ok
[INFO] [stdout] test codec::zip::tests::mb_rounds_up ... ok
[INFO] [stdout] test codec::shp::tests::nul_in_dbf_attribute_is_cleaned ... ok
[INFO] [stdout] test codec::zip::tests::rejects_encrypted_entry_when_possible ... ok
[INFO] [stdout] test codec::zip::tests::rejects_zip_slip_and_absolute_paths ... ok
[INFO] [stdout] test crs::gk::tests::epsg_family_classification ... ok
[INFO] [stdout] test crs::gk::tests::beijing54_gk_zone_reverse_lookup ... ok
[INFO] [stdout] test codec::zip::tests::unpack_rejects_zero_or_multiple_main_files ... ok
[INFO] [stdout] test crs::gk::tests::central_meridians ... ok
[INFO] [stdout] test codec::zip::tests::validate_ok_and_unpack_locate_single_main ... ok
[INFO] [stdout] test crs::gk::tests::gk_epsg_mapping_verified ... ok
[INFO] [stdout] test crs::gk::tests::all_china_gk_epsg_has_96_codes ... ok
[INFO] [stdout] test crs::gk::tests::zones_from_prefix_classifies_3_and_6_degree ... ok
[INFO] [stdout] test crs::hints::tests::empty_texts_produce_no_hints ... ok
[INFO] [stdout] test crs::hints::tests::scans_datum_hints ... ok
[INFO] [stdout] test crs::gk::tests::gk_epsg_rejects_out_of_range_zone ... ok
[INFO] [stdout] test crs::gk::tests::gk_epsg_cm_mapping_verified ... ok
[INFO] [stdout] test crs::infer::tests::contradictory_hint_falls_back_to_triple_default ... ok
[INFO] [stdout] test crs::infer::tests::cross_signal_narrows_gk_datum ... ok
[INFO] [stdout] test crs::infer::tests::degrees_with_datum_hint_uses_hint ... ok
[INFO] [stdout] test crs::gk::tests::zone_ranges_cover_china ... ok
[INFO] [stdout] test crs::infer::tests::geographic_degrees_arbitrate_to_wgs84 ... ok
[INFO] [stdout] test crs::hints::tests::scans_explicit_epsg ... ok
[INFO] [stdout] test crs::infer::tests::gk_prefixed_triple_defaults_to_cgcs2000 ... ok
[INFO] [stdout] test crs::infer::tests::empty_sample_with_spec_default_uses_default ... ok
[INFO] [stdout] test crs::infer::tests::empty_sample_without_default_is_unknown ... ok
[INFO] [stdout] test crs::infer::tests::gk_zone_less_fallback_respects_datum_hint ... ok
[INFO] [stdout] test crs::infer::tests::gk_zone_less_falls_back_to_default_zone_39 ... ok
[INFO] [stdout] test crs::hints::tests::scans_legacy_chinese_datums ... ok
[INFO] [stdout] test crs::hints::tests::scans_zone_only_forms ... ok
[INFO] [stdout] test crs::infer::tests::gk_zone_less_with_explicit_epsg_still_multi_source ... ok
[INFO] [stdout] test crs::infer::tests::metadata_wins_with_warning_on_mismatch ... ok
[INFO] [stdout] test crs::infer::tests::two_sources_adopt_zone_less_gk ... ok
[INFO] [stdout] test crs::infer::tests::gk_triple_with_uneven_votes_still_blocks ... ok
[INFO] [stdout] test crs::infer::tests::gk_zone_less_fallback_prefers_zone_hint ... ok
[INFO] [stdout] test crs::infer::tests::hint_epsg_resolves_mercator_gk_ambiguity ... ok
[INFO] [stdout] test crs::infer::tests::user_specified_crs_metadata_matching_no_warning ... ok
[INFO] [stdout] test crs::infer::tests::user_specified_crs_no_metadata_consistent_no_warning ... ok
[INFO] [stdout] test crs::infer::tests::web_mercator_arbitrates_to_3857 ... ok
[INFO] [stdout] test crs::infer::tests::user_specified_crs_conflicts_with_numeric_features ... ok
[INFO] [stdout] test crs::infer::tests::user_specified_crs_metadata_conflicts_with_numeric_warns ... ok
[INFO] [stdout] test crs::infer::tests::user_specified_crs_metadata_mismatch_warns ... ok
[INFO] [stdout] test crs::numeric::tests::empty_sample_has_no_signal ... ok
[INFO] [stdout] test crs::numeric::tests::geographic_degrees_detected ... ok
[INFO] [stdout] test crs::numeric::tests::gk_multi_zone_detected ... ok
[INFO] [stdout] test crs::numeric::tests::gk_prefix_reverses_zone ... ok
[INFO] [stdout] test crs::numeric::tests::out_of_range_magnitude_unknown ... ok
[INFO] [stdout] test crs::numeric::tests::web_mercator_fingerprint_detected ... ok
[INFO] [stdout] test crs::parse::tests::crs84_maps_to_4326 ... ok
[INFO] [stdout] test crs::parse::tests::epsg_urn_variants ... ok
[INFO] [stdout] test crs::parse::tests::gk_cm_by_name ... ok
[INFO] [stdout] test crs::numeric::tests::web_mercator_requires_large_x ... ok
[INFO] [stdout] test crs::parse::tests::china_datum_names ... ok
[INFO] [stdout] test crs::parse::tests::gk_zones_by_name ... ok
[INFO] [stdout] test crs::numeric::tests::gk_zone_less_easting_unknown_zone ... ok
[INFO] [stdout] test crs::numeric::tests::lat_lon_axis_order_detected ... ok
[INFO] [stdout] test crs::parse::tests::normalize_variants ... ok
[INFO] [stdout] test crs::parse::tests::gk_zones_by_name_with_spaced_cgcs2000 ... ok
[INFO] [stdout] test crs::parse::tests::wgs84_names_map_to_4326 ... ok
[INFO] [stdout] test crs::sample::tests::empty_sample_has_no_bbox ... ok
[INFO] [stdout] test crs::parse::tests::unrecognized_returns_none ... ok
[INFO] [stdout] test crs::parse::tests::web_mercator_beats_wgs84 ... ok
[INFO] [stdout] test crs::parse::tests::plain_digits ... ok
[INFO] [stdout] test crs::parse::tests::standard_epsg_names ... ok
[INFO] [stdout] test crs::sample::tests::sample_bbox_tracks_extent ... ok
[INFO] [stdout] test crs::transform::tests::batch_counts_failed_points ... ok
[INFO] [stdout] test crs::transform::tests::batch_rejects_output_count_mismatch ... ok
[INFO] [stdout] test crs::transform::tests::batch_degrades_point_failure_with_warning ... ok
[INFO] [stdout] test crs::transform::tests::batch_parses_output_file ... ok
[INFO] [stdout] test crs::sample::tests::sample_caps_points_but_counts_all ... ok
[INFO] [stdout] test crs::infer::tests::spec_default_applies_to_degrees_and_rejects_projected ... ok
[INFO] [stdout] test crs::transform::tests::all_points_failed_is_hard_error ... FAILED
[INFO] [stdout] test crs::transform::tests::eof_without_output_is_failed ... FAILED
[INFO] [stdout] test crs::transform::tests::garbage_output_is_parse_error ... FAILED
[INFO] [stdout] test crs::transform::tests::parse_coord_line_variants ... ok
[INFO] [stdout] test crs::transform::tests::beijing54_retry_still_failed_is_hard_error ... FAILED
[INFO] [stdout] test crs::transform::tests::same_crs_reports_identity_metadata ... FAILED
[INFO] [stdout] test crs::transform::tests::passthrough_transform_and_batch ... FAILED
[INFO] [stdout] test crs::transform::tests::session_timeout_kills_process ... FAILED
[INFO] [stdout] test crs::transform::tests::transform_error_maps_into_convert_error ... ok
[INFO] [stdout] test encoding::bom::tests::no_bom_on_plain_bytes ... ok
[INFO] [stdout] test encoding::bom::tests::detects_utf16_boms ... ok
[INFO] [stdout] test crs::transform::tests::offset_mode_transforms_batch ... FAILED
[INFO] [stdout] test encoding::content::tests::sniffs_gbk ... ok
[INFO] [stdout] test encoding::bom::tests::detects_utf8_bom ... ok
[INFO] [stdout] test crs::transform::tests::tool_exit_without_output_is_failed ... FAILED
[INFO] [stdout] test encoding::content::tests::sniffs_gbk_beyond_first_64k ... ok
[INFO] [stdout] test encoding::content::tests::sniffs_utf8_and_ascii ... ok
[INFO] [stdout] test encoding::content::tests::sniffs_utf8_beyond_first_64k ... ok
[INFO] [stdout] test encoding::content::tests::undetermined_on_single_high_byte ... ok
[INFO] [stdout] test encoding::content::tests::utf8_validation ... ok
[INFO] [stdout] test encoding::magic::tests::ascii_xml_has_no_utf16_magic ... ok
[INFO] [stdout] test encoding::magic::tests::detects_utf16_without_bom ... ok
[INFO] [stdout] test encoding::sanitize::tests::all_nul_becomes_empty ... ok
[INFO] [stdout] test encoding::sanitize::tests::no_nul_passthrough_unchanged ... ok
[INFO] [stdout] test encoding::sanitize::tests::removes_multiple_nuls ... ok
[INFO] [stdout] test encoding::sanitize::tests::removes_nul_in_middle ... ok
[INFO] [stdout] test encoding::label::tests::parses_common_labels ... ok
[INFO] [stdout] test encoding::label::tests::rejects_unknown_labels ... ok
[INFO] [stdout] test ops::disk::tests::absolutize_makes_relative_paths_absolute ... ok
[INFO] [stdout] test error::tests::user_message_falls_back_without_detail ... ok
[INFO] [stdout] test error::tests::user_message_is_concise_and_friendly ... ok
[INFO] [stdout] test ops::disk::tests::absolutize_keeps_absolute_paths_unchanged ... ok
[INFO] [stdout] test ops::disk::tests::unix_prefix_match_is_case_sensitive ... ok
[INFO] [stdout] test ops::process::tests::docker_image_and_route_flags ... ok
[INFO] [stdout] test ops::process::tests::docker_invocation_dedupes_drive_case ... ok
[INFO] [stdout] test ops::process::tests::docker_invocation_mounts_drives_and_translates_args ... ok
[INFO] [stdout] test ops::process::tests::docker_session_invocation_adds_interactive_flag ... ok
[INFO] [stdout] test ops::process::tests::log_helpers_route_label_and_command_format ... ok
[INFO] [stdout] test ops::process::tests::log_truncate_for_log_caps_length ... ok
[INFO] [stdout] test ops::process::tests::parse_drive_letters ... ok
[INFO] [stdout] test ops::process::tests::route_only_known_tools ... ok
[INFO] [stdout] test ops::process::tests::session_missing_tool_is_not_found ... ok
[INFO] [stdout] test ops::process::tests::session_eof_returns_none ... FAILED
[INFO] [stdout] test codec::zip::tests::rejects_zip_bomb_ratio ... ok
[INFO] [stdout] test ops::disk::tests::query_free_space_works_for_relative_and_absolute_paths ... ok
[INFO] [stdout] test ops::process::tests::tool_dir_override_and_candidate ... FAILED
[INFO] [stdout] test ops::process::tests::session_timeout_returns_timeout ... FAILED
[INFO] [stdout] test pipeline::chain::tests::chain_lengths_match_docs ... ok
[INFO] [stdout] test ops::process::tests::probe_missing_tool_returns_not_found ... ok
[INFO] [stdout] test ops::process::tests::session_roundtrip_with_fake_gdaltransform ... FAILED
[INFO] [stdout] test crs::transform::tests::beijing54_all_failed_retries_with_towgs84 ... FAILED
[INFO] [stdout] test ops::process::tests::translate_windows_absolute_paths ... ok
[INFO] [stdout] test pipeline::runner::tests::continue_warnings_are_collected ... ok
[INFO] [stdout] test pipeline::runner::tests::skip_does_not_advance_progress ... ok
[INFO] [stdout] test pipeline::runner::tests::success_chain_emits_running_and_success ... ok
[INFO] [stdout] test pipeline::dto::tests::field_type_as_str_is_stable ... ok
[INFO] [stdout] test pipeline::step::anchor_tests::unified_anchors_are_exhaustive_and_increasing ... ok
[INFO] [stdout] test pipeline::step::pacing_tests::random_between_boundaries ... ok
[INFO] [stdout] test ops::process::tests::tool_with_files_roundtrip ... FAILED
[INFO] [stdout] test pipeline::runner::tests::fatal_error_short_circuits_chain ... ok
[INFO] [stdout] test pipeline::step::pacing_tests::zero_min_returns_without_sleep ... ok
[INFO] [stdout] test task::dto::tests::task_context_source_crs_optional_and_builder ... ok
[INFO] [stdout] test task::ops::tests::extract_geojson_metadata_infers_field_types ... ok
[INFO] [stdout] test task::ops::tests::infer_field_type_detects_date_strings ... ok
[INFO] [stdout] test task::ops::tests::infer_field_type_maps_json_types ... ok
[INFO] [stdout] test task::ops::tests::looks_like_date_accepts_common_formats ... ok
[INFO] [stdout] test task::ops::tests::merge_field_types_takes_higher_precedence ... ok
[INFO] [stdout] test task::pipeline::chain::tests::task_chain_lengths_match_docs ... ok
[INFO] [stdout] test task::pipeline::handlers::format_magic_sniff::tests::direct_input_declared_match_accepted ... ok
[INFO] [stdout] test task::pipeline::handlers::format_magic_sniff::tests::direct_input_declared_mismatch_rejected ... ok
[INFO] [stdout] test task::pipeline::handlers::format_magic_sniff::tests::zip_input_skips_declared_format_check ... ok
[INFO] [stdout] test task::pipeline::runner::tests::task_pipeline_emits_running_and_success ... ok
[INFO] [stdout] test task::pipeline::runner::tests::task_pipeline_fatal_short_circuits ... ok
[INFO] [stdout] test ops::process::tests::local_runner_captures_output ... ok
[INFO] [stdout] test task::pipeline::runner::tests::task_pipeline_skip_does_not_advance_progress ... ok
[INFO] [stdout] test task::run::tests::convert_geojson_task_end_to_end ... FAILED
[INFO] [stdout] test task::run::tests::declared_format_mismatch_rejected ... ok
[INFO] [stdout] test task::run::tests::oversize_input_rejected_as_resource_limit ... ok
[INFO] [stdout] test task::run::tests::record_mismatch_rejected ... ok
[INFO] [stdout] test task::run::tests::zip_input_end_to_end ... FAILED
[INFO] [stdout] test task::run::tests::zip_declared_format_accepted ... FAILED
[INFO] [stdout] test worker::batch::tests::flush_on_full_batch_and_final_flush ... ok
[INFO] [stdout] test worker::batch::tests::raster_meta_records_fields ... ok
[INFO] [stdout] test worker::batch::tests::empty_flush_is_noop ... ok
[INFO] [stdout] test worker::batch::tests::zero_batch_size_clamps_to_one ... ok
[INFO] [stdout] test worker::blocking::tests::blocking_panic_becomes_error ... ok
[INFO] [stdout] test worker::blocking::tests::blocking_returns_value ... ok
[INFO] [stdout] test worker::cache::tests::cache_key_is_deterministic_and_prefixed ... ok
[INFO] [stdout] test worker::cache::tests::sha256_missing_file_is_io_error ... ok
[INFO] [stdout] test worker::batch::tests::sink_error_propagates ... ok
[INFO] [stdout] test worker::config::tests::defaults_match_converter_contract ... ok
[INFO] [stdout] test worker::cache::tests::sha256_of_known_bytes ... ok
[INFO] [stdout] test worker::config::tests::parses_kebab_case_overrides ... ok
[INFO] [stdout] test worker::mapping::tests::maps_all_layer_formats ... ok
[INFO] [stdout] test worker::mapping::tests::zip_container_is_rejected ... ok
[INFO] [stdout] test worker::progress::tests::duplicate_percent_is_throttled ... ok
[INFO] [stdout] test worker::progress::tests::percent_is_capped_at_100 ... ok
[INFO] [stdout] test worker::progress::tests::stage_progress_maps_into_range ... ok
[INFO] [stdout] test worker::retry::tests::permanent_errors_fail ... ok
[INFO] [stdout] test worker::retry::tests::retryable_errors_requeue ... ok
[INFO] [stdout] test worker::progress::tests::stage_base_points_are_monotonic ... ok
[INFO] [stdout] test worker::semaphore::tests::acquire_and_release_works ... ok
[INFO] [stdout] test worker::semaphore::tests::default_concurrency_is_bounded ... ok
[INFO] [stdout] test worker::semaphore::tests::zero_permits_clamps_to_one ... ok
[INFO] [stdout] test worker::semaphore::tests::closed_semaphore_errors ... ok
[INFO] [stdout] test worker::tempdir::tests::disk_space_check_accepts_sufficient_space ... ok
[INFO] [stdout] test worker::tempdir::tests::disk_space_check_saturates_huge_input ... ok
[INFO] [stdout] test worker::tempdir::tests::disk_space_check_rejects_insufficient_space ... ok
[INFO] [stdout] test worker::tests::error_messages_are_descriptive ... ok
[INFO] [stdout] test worker::tempdir::tests::temp_dir_creates_nested_path_and_cleans_on_drop ... ok
[INFO] [stdout] test codec::zip::tests::rejects_excessive_entries ... ok
[INFO] [stdout] test pipeline::runner::tests::min_duration_pads_step_elapsed ... ok
[INFO] [stdout] test pipeline::step::pacing_tests::short_step_is_padded_to_min ... ok
[INFO] [stdout] test pipeline::step::pacing_tests::range_clamps_reversed_bounds ... ok
[INFO] [stdout] test pipeline::step::pacing_tests::range_pads_within_bounds_and_varies ... ok
[INFO] [stdout] test pipeline::step::pacing_tests::long_step_is_not_padded ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- api::adapters::tests::geojson_adapter_converts_end_to_end stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::adapters::tests::geojson_adapter_converts_end_to_end' (1884) panicked at src/api/adapters.rs:331:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: ConversionFailed("转换工具未安装: gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13ef22 - <unknown>
[INFO] [stdout]   11:     0x5b0fef3735aa - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::registry::tests::health_all_returns_one_entry_per_format stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::registry::tests::health_all_returns_one_entry_per_format' (1887) panicked at src/api/registry.rs:115:9:
[INFO] [stdout] assertion failed: health.iter().all(|(_, result)| result.is_ok())
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f64 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13f112 - <unknown>
[INFO] [stdout]   11:     0x5b0fef3742b7 - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- codec::geojson::tests::convert_defaults_to_wgs84_without_crs stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'codec::geojson::tests::convert_defaults_to_wgs84_without_crs' (1958) panicked at src/codec/geojson/mod.rs:488:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: ConversionFailed("转换工具未安装: gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13ef22 - <unknown>
[INFO] [stdout]   11:     0x5b0fef3961ea - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- codec::kml::tests::convert_kml_default_crs_path stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'codec::kml::tests::convert_kml_default_crs_path' (2000) panicked at src/codec/kml/mod.rs:324:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: ConversionFailed("转换工具未安装: gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13ef22 - <unknown>
[INFO] [stdout]   11:     0x5b0fef38b6ca - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::all_points_failed_is_hard_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::all_points_failed_is_hard_error' (2125) panicked at src/crs/transform.rs:520:9:
[INFO] [stdout] assertion failed: matches!(result, Err(TransformError::Failed(_)))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f64 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13f112 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37c15c - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::eof_without_output_is_failed stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::eof_without_output_is_failed' (2134) panicked at src/crs/transform.rs:412:9:
[INFO] [stdout] assertion failed: matches!(result, Err(TransformError::Failed(_)))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f64 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13f112 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37b93c - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::garbage_output_is_parse_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::garbage_output_is_parse_error' (2136) panicked at src/crs/transform.rs:405:9:
[INFO] [stdout] assertion failed: matches!(result, Err(TransformError::Failed(_)))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f64 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13f112 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37bdfc - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::beijing54_retry_still_failed_is_hard_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::beijing54_retry_still_failed_is_hard_error' (2133) panicked at src/crs/transform.rs:549:9:
[INFO] [stdout] assertion failed: matches!(result, Err(TransformError::Failed(_)))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f64 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13f112 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37d86c - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::same_crs_reports_identity_metadata stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::same_crs_reports_identity_metadata' (2143) panicked at src/crs/transform.rs:381:55:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Tool(NotFound("gdaltransform 不可执行: No such file or directory (os error 2)"))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13ef22 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37c75e - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::passthrough_transform_and_batch stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::passthrough_transform_and_batch' (2142) panicked at src/crs/transform.rs:368:56:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Tool(NotFound("gdaltransform 不可执行: No such file or directory (os error 2)"))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13ef22 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37c4b1 - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::session_timeout_kills_process stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::session_timeout_kills_process' (2146) panicked at src/crs/transform.rs:424:9:
[INFO] [stdout] assertion failed: matches!(result, Err(TransformError::Tool(ToolError::Timeout(_))))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f64 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13f112 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37bfac - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::offset_mode_transforms_batch stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::offset_mode_transforms_batch' (2137) panicked at src/crs/transform.rs:390:14:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Tool(NotFound("gdaltransform-offset 不可执行: No such file or directory (os error 2)"))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13ef22 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37bc2f - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::tool_exit_without_output_is_failed stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::tool_exit_without_output_is_failed' (2147) panicked at src/crs/transform.rs:398:9:
[INFO] [stdout] assertion failed: matches!(result, Err(TransformError::Failed(_)))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f64 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13f112 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37c8fc - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ops::process::tests::session_eof_returns_none stdout ----
[INFO] [stdout] Error: NotFound("gdaltransform-eof 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] 
[INFO] [stdout] ---- ops::process::tests::tool_dir_override_and_candidate stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'ops::process::tests::tool_dir_override_and_candidate' (2192) panicked at src/ops/process.rs:711:30:
[INFO] [stdout] 测试运行时应设置 TIN_CONVERTER_TOOL_DIR
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13eea4 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37f02e - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ops::process::tests::session_timeout_returns_timeout stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'ops::process::tests::session_timeout_returns_timeout' (2191) panicked at src/ops/process.rs:756:25:
[INFO] [stdout] spawn 失败: 转换工具未安装: gdaltransform-sleep 不可执行: No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef37ecab - <unknown>
[INFO] [stdout]   11:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   12:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   13:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   14:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   15:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   16:     0x731739e18dfa - <unknown>
[INFO] [stdout]   17:     0x731739eac3d4 - clone
[INFO] [stdout]   18:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ops::process::tests::session_roundtrip_with_fake_gdaltransform stdout ----
[INFO] [stdout] Error: NotFound("gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] 
[INFO] [stdout] ---- crs::transform::tests::beijing54_all_failed_retries_with_towgs84 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'crs::transform::tests::beijing54_all_failed_retries_with_towgs84' (2131) panicked at src/crs/transform.rs:534:14:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Tool(NotFound("gdaltransform-datum-fallback 不可执行: No such file or directory (os error 2)"))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b0fef23a196 - <unknown>
[INFO] [stdout]    1:     0x5b0fef13ea2a - <unknown>
[INFO] [stdout]    2:     0x5b0fef23fc9c - <unknown>
[INFO] [stdout]    3:     0x5b0fef212e82 - <unknown>
[INFO] [stdout]    4:     0x5b0fef22fd01 - <unknown>
[INFO] [stdout]    5:     0x5b0fef230142 - <unknown>
[INFO] [stdout]    6:     0x5b0fef212f32 - <unknown>
[INFO] [stdout]    7:     0x5b0fef20ba19 - <unknown>
[INFO] [stdout]    8:     0x5b0fef213cfd - <unknown>
[INFO] [stdout]    9:     0x5b0fef13f14c - <unknown>
[INFO] [stdout]   10:     0x5b0fef13ef22 - <unknown>
[INFO] [stdout]   11:     0x5b0fef37d69f - <unknown>
[INFO] [stdout]   12:     0x5b0fef248b6b - <unknown>
[INFO] [stdout]   13:     0x5b0fef256a14 - <unknown>
[INFO] [stdout]   14:     0x5b0fef250144 - <unknown>
[INFO] [stdout]   15:     0x5b0fef25a7d2 - <unknown>
[INFO] [stdout]   16:     0x5b0fef238ee4 - <unknown>
[INFO] [stdout]   17:     0x731739e18dfa - <unknown>
[INFO] [stdout]   18:     0x731739eac3d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ops::process::tests::tool_with_files_roundtrip stdout ----
[INFO] [stdout] Error: NotFound("gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] 
[INFO] [stdout] ---- task::run::tests::convert_geojson_task_end_to_end stdout ----
[INFO] [stdout] Error: ConversionFailed("转换工具未安装: gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] 
[INFO] [stdout] ---- task::run::tests::zip_input_end_to_end stdout ----
[INFO] [stdout] Error: ConversionFailed("转换工具未安装: gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] 
[INFO] [stdout] ---- task::run::tests::zip_declared_format_accepted stdout ----
[INFO] [stdout] Error: ConversionFailed("转换工具未安装: gdaltransform 不可执行: No such file or directory (os error 2)")
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     api::adapters::tests::geojson_adapter_converts_end_to_end
[INFO] [stdout]     api::registry::tests::health_all_returns_one_entry_per_format
[INFO] [stdout]     codec::geojson::tests::convert_defaults_to_wgs84_without_crs
[INFO] [stdout]     codec::kml::tests::convert_kml_default_crs_path
[INFO] [stdout]     crs::transform::tests::all_points_failed_is_hard_error
[INFO] [stdout]     crs::transform::tests::beijing54_all_failed_retries_with_towgs84
[INFO] [stdout]     crs::transform::tests::beijing54_retry_still_failed_is_hard_error
[INFO] [stdout]     crs::transform::tests::eof_without_output_is_failed
[INFO] [stdout]     crs::transform::tests::garbage_output_is_parse_error
[INFO] [stdout]     crs::transform::tests::offset_mode_transforms_batch
[INFO] [stdout]     crs::transform::tests::passthrough_transform_and_batch
[INFO] [stdout]     crs::transform::tests::same_crs_reports_identity_metadata
[INFO] [stdout]     crs::transform::tests::session_timeout_kills_process
[INFO] [stdout]     crs::transform::tests::tool_exit_without_output_is_failed
[INFO] [stdout]     ops::process::tests::session_eof_returns_none
[INFO] [stdout]     ops::process::tests::session_roundtrip_with_fake_gdaltransform
[INFO] [stdout]     ops::process::tests::session_timeout_returns_timeout
[INFO] [stdout]     ops::process::tests::tool_dir_override_and_candidate
[INFO] [stdout]     ops::process::tests::tool_with_files_roundtrip
[INFO] [stdout]     task::run::tests::convert_geojson_task_end_to_end
[INFO] [stdout]     task::run::tests::zip_declared_format_accepted
[INFO] [stdout]     task::run::tests::zip_input_end_to_end
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 332 passed; 22 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.30s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293", kill_on_drop: false }`
[INFO] [stdout] fed5c263eb06c5c6cb0c2d1021429ca392e7efdf383cbb3336cfb61194ece293
