[INFO] cloning repository https://github.com/hhcme/mmforge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hhcme/mmforge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhhcme%2Fmmforge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhhcme%2Fmmforge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 656b36389fbdb608872fb1e9d9d480cbab073221
[INFO] testing hhcme/mmforge against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhhcme%2Fmmforge" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hhcme/mmforge
[INFO] finished tweaking git repo https://github.com/hhcme/mmforge
[INFO] tweaked toml for git repo https://github.com/hhcme/mmforge written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hhcme/mmforge on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hhcme/mmforge 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pkg-config v0.3.33
[INFO] [stderr]   Downloaded zstd-safe v7.2.4
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.126
[INFO] [stderr]   Downloaded zstd v0.13.3
[INFO] [stderr]   Downloaded jobserver v0.1.34
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.126
[INFO] [stderr]   Downloaded inflections v1.1.1
[INFO] [stderr]   Downloaded memchr v2.8.2
[INFO] [stderr]   Downloaded gltf-derive v1.4.1
[INFO] [stderr]   Downloaded gltf-json v1.4.1
[INFO] [stderr]   Downloaded gltf v1.4.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.126
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.126
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.52
[INFO] [stderr]   Downloaded cc v1.2.65
[INFO] [stderr]   Downloaded js-sys v0.3.103
[INFO] [stderr]   Downloaded zune-jpeg v0.5.15
[INFO] [stderr]   Downloaded zerocopy v0.8.52
[INFO] [stderr]   Downloaded glam v0.29.3
[INFO] [stderr]   Downloaded web-sys v0.3.103
[INFO] [stderr]   Downloaded zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]   Downloaded pxfm v0.1.29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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] bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250
[INFO] running `Command { std: "docker" "start" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250", 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" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250", 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" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling glam v0.29.3
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling mmforge-geometry v0.1.0 (/opt/rustwide/workdir/crates/mmforge-geometry)
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling pxfm v0.1.29
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling zune-core v0.5.1
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling zune-jpeg v0.5.15
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling mmforge-format-step v0.1.0 (/opt/rustwide/workdir/crates/mmforge-format-step)
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling gltf-json v1.4.1
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling gltf v1.4.1
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling mmforge-core v0.1.0 (/opt/rustwide/workdir/crates/mmforge-core)
[INFO] [stderr]    Compiling mmforge-format-dxf v0.1.0 (/opt/rustwide/workdir/crates/mmforge-format-dxf)
[INFO] [stderr]    Compiling mmforge-render v0.1.0 (/opt/rustwide/workdir/crates/mmforge-render)
[INFO] [stderr]    Compiling mmforge-format-iges v0.1.0 (/opt/rustwide/workdir/crates/mmforge-format-iges)
[INFO] [stderr]    Compiling mmforge-bridge v0.1.0 (/opt/rustwide/workdir/crates/mmforge-bridge)
[INFO] [stderr]    Compiling mmforge-cli v0.1.0 (/opt/rustwide/workdir/crates/mmforge-cli)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 4m 16s
[INFO] running `Command { std: "docker" "inspect" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250", 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" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling mmforge-core v0.1.0 (/opt/rustwide/workdir/crates/mmforge-core)
[INFO] [stderr]    Compiling gltf-json v1.4.1
[INFO] [stderr]    Compiling mmforge-geometry v0.1.0 (/opt/rustwide/workdir/crates/mmforge-geometry)
[INFO] [stderr]    Compiling mmforge-render v0.1.0 (/opt/rustwide/workdir/crates/mmforge-render)
[INFO] [stderr]    Compiling mmforge-format-iges v0.1.0 (/opt/rustwide/workdir/crates/mmforge-format-iges)
[INFO] [stderr]    Compiling mmforge-format-step v0.1.0 (/opt/rustwide/workdir/crates/mmforge-format-step)
[INFO] [stderr]    Compiling mmforge-format-dxf v0.1.0 (/opt/rustwide/workdir/crates/mmforge-format-dxf)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling gltf v1.4.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling mmforge-bridge v0.1.0 (/opt/rustwide/workdir/crates/mmforge-bridge)
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/mmforge-bridge/src/lib.rs:2010:35
[INFO] [stdout]      |
[INFO] [stdout] 2010 |         let original_mesh_count = unsafe { mmf_mesh_count(doc) };
[INFO] [stdout]      |                                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/mmforge-bridge/src/lib.rs:2011:27
[INFO] [stdout]      |
[INFO] [stdout] 2011 |         let original_vc = unsafe { mmf_mesh_vertex_count(doc, 0) };
[INFO] [stdout]      |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/mmforge-bridge/src/lib.rs:2012:27
[INFO] [stdout]      |
[INFO] [stdout] 2012 |         let original_ic = unsafe { mmf_mesh_index_count(doc, 0) };
[INFO] [stdout]      |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/mmforge-bridge/src/lib.rs:2033:13
[INFO] [stdout]      |
[INFO] [stdout] 2033 |             unsafe { mmf_mesh_count(doc2) },
[INFO] [stdout]      |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/mmforge-bridge/src/lib.rs:2038:13
[INFO] [stdout]      |
[INFO] [stdout] 2038 |             unsafe { mmf_mesh_vertex_count(doc2, 0) },
[INFO] [stdout]      |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/mmforge-bridge/src/lib.rs:2043:13
[INFO] [stdout]      |
[INFO] [stdout] 2043 |             unsafe { mmf_mesh_index_count(doc2, 0) },
[INFO] [stdout]      |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/mmforge-bridge/src/lib.rs:2050:23
[INFO] [stdout]      |
[INFO] [stdout] 2050 |         let pos_ptr = unsafe { mmf_mesh_positions(doc2, 0) };
[INFO] [stdout]      |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/mmforge-bridge/tests/cache_bench.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let triangles = unsafe { mmf_triangle_count(doc) };
[INFO] [stdout]    |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/mmforge-bridge/tests/cache_bench.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let meshes = unsafe { mmf_mesh_count(doc) };
[INFO] [stdout]    |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let triangles2 = unsafe { mmf_triangle_count(doc2) };
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let meshes2 = unsafe { mmf_mesh_count(doc2) };
[INFO] [stdout]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let total = unsafe { mmf_mesh_count(doc) };
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let chunks = unsafe { mmf_build_streaming_packet(doc, 64 * 1024 * 1024) };
[INFO] [stdout]     |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mc = unsafe { mmf_chunk_mesh_count(doc, ci) };
[INFO] [stdout]     |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:160:23
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let gid = unsafe { mmf_chunk_mesh_geometry_id(doc, ci, mi) };
[INFO] [stdout]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:161:50
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let packet_idx = (0..total).find(|i| unsafe { mmf_mesh_geometry_id(doc, *i) } == gid);
[INFO] [stdout]     |                                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/mmforge-bridge/tests/cache_bench.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     unsafe { mmf_document_free(doc) };
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mmforge-cli v0.1.0 (/opt/rustwide/workdir/crates/mmforge-cli)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 57s
[INFO] running `Command { std: "docker" "inspect" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250", 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" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]     --> crates/mmforge-bridge/src/lib.rs:2010:35
[INFO] [stderr]      |
[INFO] [stderr] 2010 |         let original_mesh_count = unsafe { mmf_mesh_count(doc) };
[INFO] [stderr]      |                                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]     --> crates/mmforge-bridge/src/lib.rs:2011:27
[INFO] [stderr]      |
[INFO] [stderr] 2011 |         let original_vc = unsafe { mmf_mesh_vertex_count(doc, 0) };
[INFO] [stderr]      |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]     --> crates/mmforge-bridge/src/lib.rs:2012:27
[INFO] [stderr]      |
[INFO] [stderr] 2012 |         let original_ic = unsafe { mmf_mesh_index_count(doc, 0) };
[INFO] [stderr]      |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]     --> crates/mmforge-bridge/src/lib.rs:2033:13
[INFO] [stderr]      |
[INFO] [stderr] 2033 |             unsafe { mmf_mesh_count(doc2) },
[INFO] [stderr]      |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]     --> crates/mmforge-bridge/src/lib.rs:2038:13
[INFO] [stderr]      |
[INFO] [stderr] 2038 |             unsafe { mmf_mesh_vertex_count(doc2, 0) },
[INFO] [stderr]      |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]     --> crates/mmforge-bridge/src/lib.rs:2043:13
[INFO] [stderr]      |
[INFO] [stderr] 2043 |             unsafe { mmf_mesh_index_count(doc2, 0) },
[INFO] [stderr]      |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]     --> crates/mmforge-bridge/src/lib.rs:2050:23
[INFO] [stderr]      |
[INFO] [stderr] 2050 |         let pos_ptr = unsafe { mmf_mesh_positions(doc2, 0) };
[INFO] [stderr]      |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: `mmforge-bridge` (lib test) generated 7 warnings
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> crates/mmforge-bridge/tests/cache_bench.rs:79:25
[INFO] [stderr]    |
[INFO] [stderr] 79 |         let triangles = unsafe { mmf_triangle_count(doc) };
[INFO] [stderr]    |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> crates/mmforge-bridge/tests/cache_bench.rs:80:22
[INFO] [stderr]    |
[INFO] [stderr] 80 |         let meshes = unsafe { mmf_mesh_count(doc) };
[INFO] [stderr]    |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:117:26
[INFO] [stderr]     |
[INFO] [stderr] 117 |         let triangles2 = unsafe { mmf_triangle_count(doc2) };
[INFO] [stderr]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:118:23
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let meshes2 = unsafe { mmf_mesh_count(doc2) };
[INFO] [stderr]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:151:17
[INFO] [stderr]     |
[INFO] [stderr] 151 |     let total = unsafe { mmf_mesh_count(doc) };
[INFO] [stderr]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:152:18
[INFO] [stderr]     |
[INFO] [stderr] 152 |     let chunks = unsafe { mmf_build_streaming_packet(doc, 64 * 1024 * 1024) };
[INFO] [stderr]     |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:157:18
[INFO] [stderr]     |
[INFO] [stderr] 157 |         let mc = unsafe { mmf_chunk_mesh_count(doc, ci) };
[INFO] [stderr]     |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:160:23
[INFO] [stderr]     |
[INFO] [stderr] 160 |             let gid = unsafe { mmf_chunk_mesh_geometry_id(doc, ci, mi) };
[INFO] [stderr]     |                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:161:50
[INFO] [stderr]     |
[INFO] [stderr] 161 |             let packet_idx = (0..total).find(|i| unsafe { mmf_mesh_geometry_id(doc, *i) } == gid);
[INFO] [stderr]     |                                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> crates/mmforge-bridge/tests/cache_bench.rs:171:5
[INFO] [stderr]     |
[INFO] [stderr] 171 |     unsafe { mmf_document_free(doc) };
[INFO] [stderr]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: `mmforge-bridge` (test "cache_bench") generated 10 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/mmforge_bridge-31399196b6d05b30)
[INFO] [stdout] 
[INFO] [stdout] running 89 tests
[INFO] [stdout] test dxf_detector::tests::detect_dxf_with_section ... ok
[INFO] [stdout] test format_route::tests::detect_glb_binary ... ok
[INFO] [stdout] test dxf_detector::tests::reject_non_dxf ... ok
[INFO] [stdout] test format_route::tests::detect_gltf_json ... ok
[INFO] [stdout] test format_route::tests::cancel_before_parse_with_progress ... ok
[INFO] [stdout] test dxf_detector::tests::detect_dxf_extension_only ... ok
[INFO] [stdout] test format_route::tests::detect_lsm ... ok
[INFO] [stdout] test format_route::tests::detect_iges ... ok
[INFO] [stdout] test format_route::tests::detect_dxf ... ok
[INFO] [stdout] test format_route::tests::dxf_chosen_before_stl ... ok
[INFO] [stdout] test format_route::tests::detect_step_fallback ... ok
[INFO] [stdout] test format_route::tests::detect_stl ... ok
[INFO] [stdout] test format_route::tests::detect_lsm_by_extension_only ... ok
[INFO] [stdout] test format_route::tests::e2e_dxf ... ok
[INFO] [stdout] test format_route::tests::e2e_stl_ascii ... ok
[INFO] [stdout] test format_route::tests::e2e_stl_binary ... ok
[INFO] [stdout] test format_route::tests::progress_labels_are_unique_and_not_empty ... ok
[INFO] [stdout] test gltf_parser::tests::decode_data_uri_invalid_base64 ... ok
[INFO] [stdout] test gltf_parser::tests::decode_data_uri_valid ... ok
[INFO] [stdout] test gltf_parser::tests::decode_data_uri_missing_marker ... ok
[INFO] [stdout] test gltf_parser::tests::detect_glb_magic ... ok
[INFO] [stdout] test format_route::tests::e2e_gltf_real_fixture ... ok
[INFO] [stdout] test gltf_parser::tests::detect_gltf_json_header ... ok
[INFO] [stdout] test format_route::tests::e2e_lsm_roundtrip ... ok
[INFO] [stdout] test gltf_parser::tests::gltf_multi_root_gets_synthetic_assembly ... ok
[INFO] [stdout] test format_route::tests::step_fallback_with_garbage_gives_parse_error ... ok
[INFO] [stdout] test gltf_parser::tests::gltf_single_root_no_assembly ... ok
[INFO] [stdout] test format_route::tests::static_strs_match_format ... ok
[INFO] [stdout] test gltf_parser::tests::parse_gltf_cancellation_returns_error ... ok
[INFO] [stdout] test gltf_parser::tests::reject_non_gltf_data ... ok
[INFO] [stdout] test gltf_parser::tests::reject_glb_with_wrong_magic ... ok
[INFO] [stdout] test iges_detector::tests::detect_iges_iges_extension ... ok
[INFO] [stdout] test iges_detector::tests::detect_iges_uppercase_extension ... ok
[INFO] [stdout] test gltf_parser::tests::parse_minimal_gltf_with_data_uri ... ok
[INFO] [stdout] test gltf_parser::tests::reject_gltf_json_with_wrong_extension ... ok
[INFO] [stdout] test iges_detector::tests::detect_iges_with_header_marker ... ok
[INFO] [stdout] test iges_detector::tests::detect_iges_igs_extension ... ok
[INFO] [stdout] test iges_detector::tests::detect_iges_short_header ... ok
[INFO] [stdout] test iges_detector::tests::reject_non_iges_extension ... ok
[INFO] [stdout] test format_route::tests::is_2d_only_dxf ... ok
[INFO] [stdout] test format_route::tests::lsm_chosen_before_step ... ok
[INFO] [stdout] test job::tests::frustum_visible_central_cube ... ok
[INFO] [stdout] test job::tests::chunk_streaming_on_parsed_doc ... ok
[INFO] [stdout] test job::tests::occt_available_returns_zero_or_one ... ok
[INFO] [stdout] test job::tests::chunk_mesh_base_color_matches_flat_lookup ... ok
[INFO] [stdout] test iges_detector::tests::reject_iges_with_no_extension ... ok
[INFO] [stdout] test job::tests::open_async_invalid_utf8_returns_null ... ok
[INFO] [stdout] test job::tests::cancel_token_clone_shares_state ... ok
[INFO] [stdout] test job::tests::cancel_token_new_and_cancel ... ok
[INFO] [stdout] test job::tests::frustum_cull_far_cube ... ok
[INFO] [stdout] test job::tests::mesh_base_color_returns_valid_rgba_for_valid_mesh ... ok
[INFO] [stdout] test job::tests::open_async_null_path_returns_null ... ok
[INFO] [stdout] test lsm_detector::tests::detect_lsm_by_extension ... ok
[INFO] [stdout] test lsm_detector::tests::detect_lsm_by_magic ... ok
[INFO] [stdout] test job::tests::reset_rebuild_chunks_with_new_budget ... ok
[INFO] [stdout] test lsm_detector::tests::parse_corrupted_lsmc_returns_error ... ok
[INFO] [stdout] test lsm_detector::tests::parse_dot_lsm_file ... ok
[INFO] [stdout] test lsm_detector::tests::parse_empty_file_errors ... ok
[INFO] [stdout] test job::tests::job_free_is_non_blocking ... ok
[INFO] [stdout] test lsm_detector::tests::parse_lsmd_magic_no_extension ... ok
[INFO] [stdout] test lsm_detector::tests::parse_dot_lsmc_file ... ok
[INFO] [stdout] test lsm_detector::tests::parse_lsmc_magic_no_extension ... ok
[INFO] [stdout] test stl_parser::tests::binary_stl_strict_length_rejects_oversized_file ... ok
[INFO] [stdout] test stl_parser::tests::binary_stl_strict_length_accepts_small_trailing_padding ... ok
[INFO] [stdout] test lsm_detector::tests::parse_lsmc_magic_wrong_extension ... ok
[INFO] [stdout] test stl_parser::tests::binary_stl_with_solid_header_and_facet_bytes_in_triangle_data ... ok
[INFO] [stdout] test lsm_detector::tests::reject_non_lsm ... ok
[INFO] [stdout] test stl_parser::tests::detect_ascii_stl_with_solid_header_and_digit_offset ... ok
[INFO] [stdout] test stl_parser::tests::detect_ascii_stl_with_solid_header_and_facet_after_200_bytes ... ok
[INFO] [stdout] test stl_parser::tests::detect_ascii_stl_with_solid_prefix ... ok
[INFO] [stdout] test stl_parser::tests::detect_binary_stl_with_solid_header ... ok
[INFO] [stdout] test stl_parser::tests::parse_single_triangle_binary_stl ... ok
[INFO] [stdout] test job::tests::open_async_cancel_before_parse ... ok
[INFO] [stdout] test stl_parser::tests::reject_non_stl_data ... ok
[INFO] [stdout] test stl_parser::tests::reject_stl_with_wrong_extension ... ok
[INFO] [stdout] test stl_parser::tests::reject_stl_with_zero_triangles ... ok
[INFO] [stdout] test tests::cache_version_is_nonempty_string ... ok
[INFO] [stdout] test stl_parser::tests::parse_stl_cancellation_returns_error ... ok
[INFO] [stdout] test tests::e2e_cache_roundtrip_preserves_mesh_data ... ok
[INFO] [stdout] test stl_parser::tests::detect_binary_stl_with_valid_header ... ok
[INFO] [stdout] test stl_parser::tests::parse_ascii_stl_fixture ... ok
[INFO] [stdout] test stl_parser::tests::parse_binary_stl_fixture ... ok
[INFO] [stdout] test stl_parser::tests::parse_simple_ascii_stl ... ok
[INFO] [stdout] test job::tests::open_async_progress_callback_fires ... ok
[INFO] [stdout] test tests::interleaved_copy_rejects_small_buffer ... ok
[INFO] [stdout] test tests::interleaved_copy_writes_24_bytes_per_vertex ... ok
[INFO] [stdout] test tests::lsm_bytes_merges_packet_mesh_into_brep_model ... ok
[INFO] [stdout] test tests::lsm_bytes_roundtrip_recovers_full_mesh_values ... ok
[INFO] [stderr]      Running tests/cache_bench.rs (/opt/rustwide/target/release/deps/cache_bench-a990e96783ca7763)
[INFO] [stdout] test job::tests::open_async_nonexistent_file_returns_error_via_callback ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test bench_cache_path_all_fixtures ... ignored
[INFO] [stdout] test check_chunk_mesh_index_semantics ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/mmforge-ff3163db2ee1571b)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test tests::detect_binary_stl ... ok
[INFO] [stdout] test tests::lsm_bad_magic_error ... ok
[INFO] [stdout] test tests::dxf_cli_returns_nodes_geoms_gt_zero ... ok
[INFO] [stdout] test tests::detect_ascii_stl ... ok
[INFO] [stdout] test tests::enrich_model_replaces_brep_with_mesh ... ok
[INFO] [stdout] test tests::lsm_high_version_error ... ok
[INFO] [stdout] test tests::iges_extension_triggers_real_parser ... ok
[INFO] [stdout] test tests::binary_stl_to_lsm_round_trip ... ok
[INFO] [stdout] test tests::lsm_validate_clean ... ok
[INFO] [stdout] test tests::step_extension_triggers_real_parser ... ok
[INFO] [stdout] test tests::unknown_file_falls_back_to_stl ... ok
[INFO] [stdout] test tests::lsm_info_json_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/release/deps/integration-b23f60aeecd57c96)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test batch_convert_compressed ... ok
[INFO] [stdout] test batch_convert_json_summary ... ok
[INFO] [stdout] test batch_convert_output_conflict_detected ... ok
[INFO] [stdout] test batch_convert_partial_failure_json ... ok
[INFO] [stdout] test batch_convert_default_conflict_reports_json ... ok
[INFO] [stdout] test batch_convert_no_continue_skips_non_conflict_with_skip_status ... ok
[INFO] [stdout] test batch_convert_continue_on_error_skips_conflicts ... ok
[INFO] [stdout] test batch_convert_all_conflicted_continue_on_error_produces_summary ... ok
[INFO] [stdout] test batch_convert_rejects_existing_output ... ok
[INFO] [stdout] test benchmark_json_output_stable ... ok
[INFO] [stdout] test batch_convert_zero_inputs_exits_nonzero ... ok
[INFO] [stdout] test batch_convert_two_files_succeeds ... ok
[INFO] [stdout] test compress_zstd_rejects_non_lsmc_output ... ok
[INFO] [stdout] test info_stl_exit_zero ... ok
[INFO] [stdout] test info_json_output_stable ... ok
[INFO] [stdout] test info_nonexistent_exit_nonzero ... ok
[INFO] [stdout] test lsm_bad_magic_exit_nonzero ... ok
[INFO] [stdout] test iges_fixture_json_error_is_valid_json_on_stdout ... ok
[INFO] [stdout] test lsm_high_version_exit_nonzero ... ok
[INFO] [stdout] test convert_then_info_lsm_exit_zero ... ok
[INFO] [stdout] test convert_to_lsmc_then_validate_json ... ok
[INFO] [stdout] test nonexistent_file_json_error_valid_json_on_stdout ... ok
[INFO] [stdout] test lsmc_bad_magic_exit_nonzero ... ok
[INFO] [stdout] test lsmc_extension_corrupt_lsmc_rejected ... ok
[INFO] [stdout] test convert_to_lsmc_then_info_exit_zero ... ok
[INFO] [stdout] test step_fixture_json_error_is_valid_json_on_stdout ... ok
[INFO] [stdout] test unknown_compress_method_rejected ... ok
[INFO] [stdout] test lsmc_extension_rejects_plain_lsm_data ... ok
[INFO] [stdout] test lsmc_magic_in_unknown_extension_reads ... ok
[INFO] [stdout] test no_extension_lsmc_magic_reads ... ok
[INFO] [stdout] test version_exit_zero ... ok
[INFO] [stdout] test validate_json_output_stable ... ok
[INFO] [stdout] test source_to_lsmc_to_info_json_round_trip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/mmforge_core-131fd388b41125b6)
[INFO] [stdout] 
[INFO] [stdout] running 97 tests
[INFO] [stdout] test cancel::tests::cancel_sets_flag ... ok
[INFO] [stdout] test cancel::tests::default_is_not_cancelled ... ok
[INFO] [stdout] test cancel::tests::cancel_is_idempotent ... ok
[INFO] [stdout] test cancel::tests::new_token_is_not_cancelled ... ok
[INFO] [stdout] test cancel::tests::clone_shares_state ... ok
[INFO] [stdout] test drawing::tests::circle_bounds ... ok
[INFO] [stdout] test drawing::tests::aci_colors ... ok
[INFO] [stdout] test drawing::tests::empty_drawing_bounds ... ok
[INFO] [stdout] test drawing::tests::entity_line_type_accessor ... ok
[INFO] [stdout] test drawing::tests::polyline_bounds ... ok
[INFO] [stdout] test ids::tests::typed_ids_are_distinct ... ok
[INFO] [stdout] test ids::tests::zero_constant ... ok
[INFO] [stdout] test drawing::tests::layer_default_line_type ... ok
[INFO] [stdout] test error::tests::io_error_conversion ... ok
[INFO] [stdout] test lsm::lsmc::tests::bad_magic_rejected ... ok
[INFO] [stdout] test drawing::tests::line_bounds ... ok
[INFO] [stdout] test lsm::compress::tests::no_compression_round_trip ... ok
[INFO] [stdout] test lsm::lsmc::tests::compressed_smaller_than_uncompressed ... ok
[INFO] [stdout] test ids::tests::display_id ... ok
[INFO] [stdout] test lsm::lsmc::tests::truncated_payload_error ... ok
[INFO] [stdout] test drawing::tests::layer_with_line_type ... ok
[INFO] [stdout] test lsm::lsmc::tests::unknown_method_rejected ... ok
[INFO] [stdout] test lsm::lsmc::tests::round_trip_compressed ... ok
[INFO] [stdout] test error::tests::parse_error_display ... ok
[INFO] [stdout] test lsm::tests::tests::bad_magic_rejected ... ok
[INFO] [stdout] test lsm::tests::tests::duplicate_core_section_rejected ... ok
[INFO] [stdout] test lsm::lsmc::tests::size_mismatch_error ... ok
[INFO] [stdout] test lsm::tests::tests::geometry_mesh_preserved ... ok
[INFO] [stdout] test lsm::tests::tests::high_version_rejected ... ok
[INFO] [stdout] test lsm::tests::tests::golden_header_magic ... ok
[INFO] [stdout] test lsm::tests::tests::implausible_toc_count_rejected ... ok
[INFO] [stdout] test lsm::tests::tests::scene_tree_preserved ... ok
[INFO] [stdout] test lsm::tests::tests::golden_fixture_stable_binary ... ok
[INFO] [stdout] test lsm::tests::tests::section_limited_reader_stops_at_boundary ... ok
[INFO] [stdout] test lsm::tests::tests::section_offset_plus_length_exceeds_file ... ok
[INFO] [stdout] test lsm::tests::tests::section_offset_crossing_into_toc_rejected ... ok
[INFO] [stdout] test lsm::tests::tests::toc_offset_inside_header_rejected ... ok
[INFO] [stdout] test lsm::tests::tests::unknown_section_skipped ... ok
[INFO] [stdout] test math::tests::diagonal_of_unit_box ... ok
[INFO] [stdout] test lsm::tests::tests::section_offset_plus_length_overflow ... ok
[INFO] [stdout] test lsm::tests::tests::section_starts_before_toc_extends_into_it_rejected ... ok
[INFO] [stdout] test lsm::tests::tests::missing_core_section_is_error ... ok
[INFO] [stdout] test lsm::tests::tests::round_trip_bytes ... ok
[INFO] [stdout] test lsm::tests::tests::section_offset_inside_header_rejected ... ok
[INFO] [stdout] test model::tests::bounds_aggregation ... ok
[INFO] [stdout] test model::tests::builder_constructs_valid_model ... ok
[INFO] [stdout] test model::tests::add_and_remove_node ... ok
[INFO] [stdout] test model::tests::ancestors_of_on_cyclic_tree_terminates ... ok
[INFO] [stdout] test model::tests::children_of ... ok
[INFO] [stdout] test model::tests::bounds_uses_node_bounds ... ok
[INFO] [stdout] test model::tests::dangling_geometry_ref_detected ... ok
[INFO] [stdout] test model::tests::child_with_wrong_parent_detected ... ok
[INFO] [stdout] test lsm::tests::tests::metadata_units_preserved ... ok
[INFO] [stdout] test model::tests::dangling_material_ref_detected ... ok
[INFO] [stdout] test model::tests::dangling_parent_ref_detected ... ok
[INFO] [stdout] test model::tests::deep_tree_traversal ... ok
[INFO] [stdout] test model::tests::dangling_root_detected ... ok
[INFO] [stdout] test model::tests::depth_child_is_one ... ok
[INFO] [stdout] test model::tests::depth_on_cyclic_tree_terminates ... ok
[INFO] [stdout] test model::tests::descendants_of_on_cyclic_children_terminates ... ok
[INFO] [stdout] test model::tests::duplicate_child_edge_detected ... ok
[INFO] [stdout] test model::tests::duplicate_geometry_id_detected ... ok
[INFO] [stdout] test model::tests::depth_root_is_zero ... ok
[INFO] [stdout] test math::tests::empty_box_is_invalid ... ok
[INFO] [stdout] test math::tests::extend_builds_valid_box ... ok
[INFO] [stdout] test model::tests::descendants_iterator ... ok
[INFO] [stdout] test model::tests::ancestors_iterator ... ok
[INFO] [stdout] test model::tests::duplicate_node_id_detected ... ok
[INFO] [stdout] test model::tests::geometry_brep_placeholder ... ok
[INFO] [stdout] test model::tests::geometry_id_and_bounds ... ok
[INFO] [stdout] test model::tests::has_validation_issues_reports_correctly ... ok
[INFO] [stdout] test model::tests::is_ancestor_on_cyclic_tree_terminates ... ok
[INFO] [stdout] test model::tests::duplicate_material_id_detected ... ok
[INFO] [stdout] test model::tests::empty_model_creation ... ok
[INFO] [stdout] test model::tests::is_ancestor_parent ... ok
[INFO] [stdout] test model::tests::geometry_drawing2d_has_own_id ... ok
[INFO] [stdout] test model::tests::multi_child_traversal ... ok
[INFO] [stdout] test model::tests::orphan_node_detected ... ok
[INFO] [stdout] test model::tests::is_ancestor_self ... ok
[INFO] [stdout] test model::tests::parent_not_listing_child_detected ... ok
[INFO] [stdout] test model::tests::parent_cycle_detected ... ok
[INFO] [stdout] test model::tests::find_node ... ok
[INFO] [stdout] test model::tests::remove_nonexistent_returns_err ... ok
[INFO] [stdout] test model::tests::remove_sole_root_returns_err ... ok
[INFO] [stdout] test progress::tests::progress_fraction ... ok
[INFO] [stdout] test progress::tests::progress_fraction_complete ... ok
[INFO] [stdout] test progress::tests::progress_fraction_indeterminate ... ok
[INFO] [stdout] test version::tests::compatibility_same_major ... ok
[INFO] [stdout] test version::tests::display_version ... ok
[INFO] [stdout] test version::tests::incompatibility_different_major ... ok
[INFO] [stdout] test model::tests::parent_of_root_is_none ... ok
[INFO] [stdout] test model::tests::triangle_count ... ok
[INFO] [stdout] test model::tests::stats_from_model ... ok
[INFO] [stdout] test model::tests::valid_model_has_no_issues ... ok
[INFO] [stdout] test model::tests::parent_of ... ok
[INFO] [stdout] test model::tests::remove_node_with_descendants ... ok
[INFO] [stdout] test model::tests::dangling_child_ref_detected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 97 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/mmforge_format_dxf-bdaaef36efd2d064)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test detect::tests::reject_no_extension ... ok
[INFO] [stdout] test blocks_parser::tests::parse_multiple_blocks ... ok
[INFO] [stdout] test blocks_parser::tests::parse_block_with_multiple_entities ... ok
[INFO] [stdout] test blocks_parser::tests::parse_empty_blocks ... ok
[INFO] [stdout] test detect::tests::detect_dxf_with_section_marker ... ok
[INFO] [stdout] test detect::tests::detect_dxf_extension_only ... ok
[INFO] [stdout] test blocks_parser::tests::parse_single_block ... ok
[INFO] [stdout] test entity_parser::tests::parse_unknown_entity_returns_none ... ok
[INFO] [stdout] test detect::tests::reject_non_dxf_extension ... ok
[INFO] [stdout] test entity_parser::tests::parse_text_entity ... ok
[INFO] [stdout] test entity_parser::tests::parse_arc_entity ... ok
[INFO] [stdout] test entity_parser::tests::parse_circle_entity ... ok
[INFO] [stdout] test entity_parser::tests::parse_lwpolyline_closed ... ok
[INFO] [stdout] test parser::tests::draw_list_from_fixture ... ok
[INFO] [stdout] test parser::tests::draw_list_line_type_resolution ... ok
[INFO] [stdout] test parser::tests::line_types_from_fixture ... ok
[INFO] [stdout] test parser::tests::parse_test_fixture ... ok
[INFO] [stdout] test entity_parser::tests::parse_lwpolyline_straight ... ok
[INFO] [stdout] test parser::tests::polyline_bulge_expanded_to_arc ... ok
[INFO] [stdout] test entity_parser::tests::parse_line_entity ... ok
[INFO] [stdout] test parser::tests::arc_e2e_dxf_degrees_to_draw_list_radians ... ok
[INFO] [stdout] test parser::tests::parse_error_fixture_gracefully ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/mmforge_format_iges-aef0750a84aa06a3)
[INFO] [stdout] test section_parser::tests::parse_empty ... ok
[INFO] [stdout] test tables_parser::tests::parse_empty_tables ... ok
[INFO] [stdout] test tables_parser::tests::parse_frozen_layer ... ok
[INFO] [stdout] test tables_parser::tests::ignore_non_layer_tables ... ok
[INFO] [stdout] test tables_parser::tests::ltype_with_dot_pattern ... ok
[INFO] [stdout] test tables_parser::tests::parse_single_ltype ... ok
[INFO] [stdout] test tokenizer::tests::collect_entity_pairs_basic ... ok
[INFO] [stdout] test tokenizer::tests::tokenize_multiple_pairs ... ok
[INFO] [stdout] test tables_parser::tests::parse_multiple_ltypes ... ok
[INFO] [stdout] test tokenizer::tests::tokenize_empty ... ok
[INFO] [stdout] test tokenizer::tests::tokenize_with_whitespace ... ok
[INFO] [stdout] test tokenizer::tests::tokenize_single_pair ... ok
[INFO] [stdout] test section_parser::tests::parse_two_sections ... ok
[INFO] [stdout] test tables_parser::tests::parse_multiple_layers ... ok
[INFO] [stdout] test tables_parser::tests::parse_single_layer ... ok
[INFO] [stdout] test section_parser::tests::parse_single_section ... ok
[INFO] [stdout] test tables_parser::tests::parse_layer_with_line_type ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test detect::tests::detect_iges_extension ... ok
[INFO] [stdout] test detect::tests::detect_igs_extension ... ok
[INFO] [stdout] test detect::tests::reject_no_extension ... ok
[INFO] [stdout] test detect::tests::reject_non_iges_extension ... ok
[INFO] [stdout] test detect::tests::detect_uppercase_extension ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/mmforge_format_step-0bef0126133e2286)
[INFO] [stdout] test detect::tests::detect_with_header_marker ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test detect::tests::detect_low_extension_only ... ok
[INFO] [stdout] test detect::tests::no_detect_wrong_extension_and_no_magic ... ok
[INFO] [stdout] test detect::tests::detect_medium_with_extension_and_partial_magic ... ok
[INFO] [stdout] test detect::tests::detect_strong_magic_ignores_extension ... ok
[INFO] [stdout] test parser::tests::detect_works ... ok
[INFO] [stdout] test parser::tests::parse_without_occt_errors ... ok
[INFO] [stdout] test parser::tests::parse_non_step_file_errors ... ok
[INFO] [stdout] test detect::tests::detect_strong_magic ... ok
[INFO] [stdout] test detect::tests::no_detect_empty_header ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/mmforge_geometry-ea4137e4c758a235)
[INFO] [stdout] test parser::tests::parser_metadata ... ok
[INFO] [stdout] test parser::tests::supports_step_extensions ... ok
[INFO] [stdout] test parser::tests::parse_nonexistent_file_errors ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test occt::step_reader::tests::read_step_file_without_occt_errors ... ok
[INFO] [stdout] test occt::iges_reader::tests::read_iges_file_without_occt_errors ... ok
[INFO] [stdout] test occt::step_reader::tests::shape_handle_stub ... ok
[INFO] [stdout] test tests::is_occt_available_returns_bool ... ok
[INFO] [stdout] test tessellation::tests::deflection_scales_with_bbox ... ok
[INFO] [stdout] test tessellation::tests::empty_mesh_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/mmforge_render-e8ff7d6ec6df7b1f)
[INFO] [stdout] 
[INFO] [stdout] running 89 tests
[INFO] [stdout] test builder::tests::debug_json_contains_stats ... ok
[INFO] [stdout] test builder::tests::geometry_id_preserved_through_sort ... ok
[INFO] [stdout] test builder::tests::multi_geometry_deterministic_order ... ok
[INFO] [stdout] test camera::tests::default_camera_sanity ... ok
[INFO] [stdout] test camera::tests::pitch_clamped ... ok
[INFO] [stdout] test builder::tests::build_from_empty_mesh_data ... ok
[INFO] [stdout] test camera::tests::fit_sets_reasonable_near_far ... ok
[INFO] [stdout] test draw2d::tests::build_draw_list_unknown_layer_defaults_visible ... ok
[INFO] [stdout] test draw2d::tests::bulge_opposite_directions_have_opposite_centers ... ok
[INFO] [stdout] test draw2d::tests::build_draw_list_hidden_layer ... ok
[INFO] [stdout] test builder::tests::build_from_single_mesh ... ok
[INFO] [stdout] test draw2d::tests::arc_crossing_zero_degrees ... ok
[INFO] [stdout] test draw2d::tests::build_draw_list_groups_by_layer ... ok
[INFO] [stdout] test draw2d::tests::build_empty_draw_list ... ok
[INFO] [stdout] test draw2d::tests::bulge_negative_semicircle ... ok
[INFO] [stdout] test draw2d::tests::bulge_negative_small_arc ... ok
[INFO] [stdout] test draw2d::tests::bulge_positive_large_arc ... ok
[INFO] [stdout] test draw2d::tests::bulge_positive_semicircle ... ok
[INFO] [stdout] test draw2d::tests::bulge_positive_small_arc ... ok
[INFO] [stdout] test draw2d::tests::bulge_zero_is_straight_line ... ok
[INFO] [stdout] test draw2d::tests::closed_polyline_wraps_around ... ok
[INFO] [stdout] test draw2d::tests::layer_line_type_inherited_by_entity ... ok
[INFO] [stdout] test draw2d::tests::resolve_bylayer_case_insensitive ... ok
[INFO] [stdout] test draw2d::tests::flat_commands_match_layer_commands ... ok
[INFO] [stdout] test draw2d::tests::dxf_arc_180_degrees ... ok
[INFO] [stdout] test draw2d::tests::dxf_arc_converted_to_radians ... ok
[INFO] [stdout] test draw2d::tests::entity_level_overrides_layer_line_type ... ok
[INFO] [stdout] test draw2d::tests::ltype_dot_pattern_preserved ... ok
[INFO] [stdout] test draw2d::tests::polyline_with_mixed_bulge ... ok
[INFO] [stdout] test draw2d::tests::resolve_byblock_case_insensitive ... ok
[INFO] [stdout] test draw2d::tests::resolve_bylayer_fallback_to_continuous ... ok
[INFO] [stdout] test draw2d::tests::resolve_no_entity_no_layer_is_continuous ... ok
[INFO] [stdout] test draw2d::tests::resolve_entity_overrides_layer ... ok
[INFO] [stdout] test frustum::tests::box_above_frustum_is_culled ... ok
[INFO] [stdout] test draw2d::tests::resolve_no_entity_uses_layer ... ok
[INFO] [stdout] test frustum::tests::all_planes_provided ... ok
[INFO] [stdout] test frustum::tests::box_to_left_of_frustum_is_culled ... ok
[INFO] [stdout] test frustum::tests::box_to_right_of_frustum_is_culled ... ok
[INFO] [stdout] test frustum::tests::box_below_frustum_is_culled ... ok
[INFO] [stdout] test frustum::tests::empty_bounds_rejected ... ok
[INFO] [stdout] test frustum::tests::box_beyond_far_plane_is_culled ... ok
[INFO] [stdout] test frustum::tests::box_beyond_near_plane_is_culled ... ok
[INFO] [stdout] test frustum::tests::frustum_contains_central_box ... ok
[INFO] [stdout] test frustum::tests::pitched_up_camera_still_contains_target ... ok
[INFO] [stdout] test frustum::tests::rotated_camera_still_contains_target ... ok
[INFO] [stdout] test frustum::tests::sphere_outside_far_plane_is_culled ... ok
[INFO] [stdout] test frustum::tests::signed_distances_consistent ... ok
[INFO] [stdout] test frustum::tests::sphere_inside_frustum ... ok
[INFO] [stdout] test frustum::tests::sphere_outside_near_plane_is_culled ... ok
[INFO] [stdout] test lod::tests::lod_level_ordering ... ok
[INFO] [stdout] test lod::tests::scaled_thresholds ... ok
[INFO] [stdout] test lod::tests::can_share_mesh_currently_true ... ok
[INFO] [stdout] test lod::tests::deflection_fractions_match_tessellation_table ... ok
[INFO] [stdout] test lod::tests::select_at_threshold ... ok
[INFO] [stdout] test lod::tests::select_by_distance ... ok
[INFO] [stdout] test memory::tests::reserve_exceeds_budget ... ok
[INFO] [stdout] test memory::tests::reserve_within_budget ... ok
[INFO] [stdout] test memory::tests::usage_fraction ... ok
[INFO] [stdout] test packet::tests::debug_json_output ... ok
[INFO] [stdout] test lod::tests::select_for_bounds ... ok
[INFO] [stdout] test memory::tests::gpu_mesh_memory_cost_with_uvs ... ok
[INFO] [stdout] test packet::tests::empty_packet ... ok
[INFO] [stdout] test spatial2d::tests::full_coverage_query ... ok
[INFO] [stdout] test memory::tests::gpu_mesh_memory_cost ... ok
[INFO] [stdout] test memory::tests::release_frees_space ... ok
[INFO] [stdout] test memory::tests::release_more_than_used_clamps_to_zero ... ok
[INFO] [stdout] test streaming::tests::batch_count_matches_stats_and_batches_len ... ok
[INFO] [stdout] test spatial2d::tests::empty_index ... ok
[INFO] [stdout] test streaming::tests::batch_instance_ranges_are_contiguous_and_non_overlapping ... ok
[INFO] [stdout] test streaming::tests::chunk_mesh_ids_are_local_indices ... ok
[INFO] [stdout] test memory::tests::new_budget_zero_usage ... ok
[INFO] [stdout] test memory::tests::release_partial_frees_remaining ... ok
[INFO] [stdout] test streaming::tests::batch_instance_ranges_cover_all_instances ... ok
[INFO] [stdout] test spatial2d::tests::partial_culling ... ok
[INFO] [stdout] test streaming::tests::instance_mesh_ids_remapped_to_local ... ok
[INFO] [stdout] test streaming::tests::instance_mesh_id_indexes_into_chunk_meshes ... ok
[INFO] [stdout] test streaming::tests::chunk_bounds_cover_all_meshes ... ok
[INFO] [stdout] test streaming::tests::into_chunks_consumes ... ok
[INFO] [stdout] test streaming::tests::multi_material_chunk_splits_batches ... ok
[INFO] [stdout] test streaming::tests::multiple_instances_per_mesh_are_all_collected ... ok
[INFO] [stdout] test streaming::tests::chunks_have_batches_field ... ok
[INFO] [stdout] test streaming::tests::empty_packet_produces_no_chunks ... ok
[INFO] [stdout] test streaming::tests::multi_chunk_each_chunk_has_its_own_batches ... ok
[INFO] [stdout] test streaming::tests::iter_chunks_returns_all ... ok
[INFO] [stdout] test streaming::tests::multiple_meshes_split_at_budget ... ok
[INFO] [stdout] test streaming::tests::single_small_mesh_in_one_chunk ... ok
[INFO] [stdout] test streaming::tests::stats_triangle_count_preserved ... ok
[INFO] [stdout] test streaming::tests::stats_instance_count_matches_after_chunking ... ok
[INFO] [stdout] test streaming::tests::single_large_mesh_gets_its_own_chunk ... ok
[INFO] [stderr]    Doc-tests mmforge_bridge
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mmforge_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]    Doc-tests mmforge_format_dxf
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mmforge_format_iges
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mmforge_format_step
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mmforge_geometry
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mmforge_render
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250", kill_on_drop: false }`
[INFO] [stdout] bf78990e6440ecb3b0a7d47dd4854617c4111e111cf72f492d50a3f97989c250
