[INFO] cloning repository https://github.com/PiliPili-Team/etlp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PiliPili-Team/etlp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiliPili-Team%2Fetlp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiliPili-Team%2Fetlp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cebd701495d9e981f659114ebe65a2d08a1116e7 [INFO] testing PiliPili-Team/etlp against 1.97.0-beta.6 for beta-1.98-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiliPili-Team%2Fetlp" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/PiliPili-Team/etlp [INFO] finished tweaking git repo https://github.com/PiliPili-Team/etlp [INFO] tweaked toml for git repo https://github.com/PiliPili-Team/etlp written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/PiliPili-Team/etlp on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/PiliPili-Team/etlp 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded log v0.4.32 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.125 [INFO] [stderr] Downloaded tagptr v0.2.0 [INFO] [stderr] Downloaded rustls-platform-verifier-android v0.1.1 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.75 [INFO] [stderr] Downloaded libredox v0.1.17 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.125 [INFO] [stderr] Downloaded lru v0.18.0 [INFO] [stderr] Downloaded cmake v0.1.58 [INFO] [stderr] Downloaded fs_extra v1.3.0 [INFO] [stderr] Downloaded rustls-pki-types v1.14.1 [INFO] [stderr] Downloaded async-lock v3.4.2 [INFO] [stderr] Downloaded jni-macros v0.22.4 [INFO] [stderr] Downloaded wasm-bindgen v0.2.125 [INFO] [stderr] Downloaded rustls-platform-verifier v0.7.0 [INFO] [stderr] Downloaded uuid v1.23.3 [INFO] [stderr] Downloaded cc v1.2.64 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.125 [INFO] [stderr] Downloaded js-sys v0.3.102 [INFO] [stderr] Downloaded reqwest v0.13.4 [INFO] [stderr] Downloaded webpki-root-certs v1.0.8 [INFO] [stderr] Downloaded tower-http v0.7.0 [INFO] [stderr] Downloaded jni v0.22.4 [INFO] [stderr] Downloaded aws-lc-rs v1.17.0 [INFO] [stderr] Downloaded moka v0.12.15 [INFO] [stderr] Downloaded simd_cesu8 v1.1.1 [INFO] [stderr] Downloaded rustls v0.23.40 [INFO] [stderr] Downloaded web-sys v0.3.102 [INFO] [stderr] Downloaded aws-lc-sys v0.41.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59 [INFO] running `Command { std: "docker" "start" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59", 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" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59", 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" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling log v0.4.32 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling memchr v2.8.2 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling aws-lc-rs v1.17.0 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling rustls-pki-types v1.14.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustls v0.23.40 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling http v1.4.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling bitflags v2.13.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling rustls-native-certs v0.8.4 [INFO] [stderr] Compiling winnow v1.0.3 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.4 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling cc v1.2.64 [INFO] [stderr] Compiling uuid v1.23.3 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling tagptr v0.2.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling sysinfo v0.38.4 [INFO] [stderr] Compiling lru v0.18.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling aws-lc-sys v0.41.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling regex v1.12.4 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling zerofrom v0.1.8 [INFO] [stderr] Compiling yoke v0.8.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling tower-http v0.7.0 [INFO] [stderr] Compiling etlp-metrics v0.0.25 (/opt/rustwide/workdir/crates/etlp-metrics) [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling etlp-updater v0.0.25 (/opt/rustwide/workdir/crates/etlp-updater) [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling moka v0.12.15 [INFO] [stderr] Compiling etlp-logging v0.0.25 (/opt/rustwide/workdir/crates/etlp-logging) [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling etlp-core v0.0.25 (/opt/rustwide/workdir/crates/etlp-core) [INFO] [stderr] Compiling etlp-config v0.0.25 (/opt/rustwide/workdir/crates/etlp-config) [INFO] [stderr] Compiling idna_adapter v1.2.2 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower-http v0.6.11 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.7.0 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling reqwest v0.13.4 [INFO] [stderr] Compiling etlp-net v0.0.25 (/opt/rustwide/workdir/crates/etlp-net) [INFO] [stderr] Compiling etlp-sync v0.0.25 (/opt/rustwide/workdir/crates/etlp-sync) [INFO] [stderr] Compiling etlp-media-server v0.0.25 (/opt/rustwide/workdir/crates/etlp-media-server) [INFO] [stderr] Compiling etlp-player v0.0.25 (/opt/rustwide/workdir/crates/etlp-player) [INFO] [stderr] Compiling etlp-download v0.0.25 (/opt/rustwide/workdir/crates/etlp-download) [INFO] [stderr] Compiling etlp-server v0.0.25 (/opt/rustwide/workdir/crates/etlp-server) [INFO] [stderr] Compiling etlp v0.0.25 (/opt/rustwide/workdir/crates/etlp) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 40s [INFO] running `Command { std: "docker" "inspect" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59", 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" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling bitflags v2.13.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling etlp-core v0.0.25 (/opt/rustwide/workdir/crates/etlp-core) [INFO] [stderr] Compiling etlp-metrics v0.0.25 (/opt/rustwide/workdir/crates/etlp-metrics) [INFO] [stderr] Compiling etlp-updater v0.0.25 (/opt/rustwide/workdir/crates/etlp-updater) [INFO] [stderr] Compiling tower-http v0.7.0 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling h2 v0.4.15 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling etlp-logging v0.0.25 (/opt/rustwide/workdir/crates/etlp-logging) [INFO] [stderr] Compiling etlp-config v0.0.25 (/opt/rustwide/workdir/crates/etlp-config) [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling moka v0.12.15 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tower-http v0.6.11 [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling reqwest v0.13.4 [INFO] [stderr] Compiling etlp-net v0.0.25 (/opt/rustwide/workdir/crates/etlp-net) [INFO] [stderr] Compiling etlp-sync v0.0.25 (/opt/rustwide/workdir/crates/etlp-sync) [INFO] [stderr] Compiling etlp-media-server v0.0.25 (/opt/rustwide/workdir/crates/etlp-media-server) [INFO] [stderr] Compiling etlp-player v0.0.25 (/opt/rustwide/workdir/crates/etlp-player) [INFO] [stderr] Compiling etlp-download v0.0.25 (/opt/rustwide/workdir/crates/etlp-download) [INFO] [stderr] Compiling etlp-server v0.0.25 (/opt/rustwide/workdir/crates/etlp-server) [INFO] [stderr] Compiling etlp v0.0.25 (/opt/rustwide/workdir/crates/etlp) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 22s [INFO] running `Command { std: "docker" "inspect" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59", 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" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/etlp-ea8e67b59e07742c) [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_config-ecac401a58dd0589) [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] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test matching::tests::replace_by_pair_applies_first_match ... ok [INFO] [stdout] test matching::tests::split_list_trims_and_drops_empty ... ok [INFO] [stdout] test matching::tests::first_match_is_substring_in_list_order ... ok [INFO] [stdout] test matching::tests::order_is_one_based_zero_for_miss ... ok [INFO] [stdout] test matching::tests::next_and_pair_only_at_even_index ... ok [INFO] [stdout] test matching::tests::next_handles_out_of_bounds ... ok [INFO] [stdout] test matching::tests::split_groups_two_levels ... ok [INFO] [stdout] test matching::tests::boolean_and_value_matching ... ok [INFO] [stdout] test matching::tests::split_pairs_drops_trailing_odd ... ok [INFO] [stdout] test tests::bangumi_allow_duplicate_parses ... ok [INFO] [stdout] test tests::bangumi_new_fields_default ... ok [INFO] [stdout] test tests::bangumi_history_follow_media_server_parses ... ok [INFO] [stdout] test tests::bangumi_section_parses_custom_values ... ok [INFO] [stdout] test tests::bangumi_throttle_clamped_on_load ... ok [INFO] [stdout] test tests::existing_config_path_none_when_absent ... ok [INFO] [stdout] test tests::legacy_proxy_socks5_field_is_ignored ... ok [INFO] [stdout] test tests::tmdb_section_effective_key_prefers_user_key ... ok [INFO] [stdout] test tests::duplicate_throttle_clamped_on_load ... ok [INFO] [stdout] test tests::missing_keys_use_defaults ... ok [INFO] [stdout] test tests::path_translation_pairs_from_path_map ... ok [INFO] [stdout] test tests::existing_config_path_resolves_config_toml ... ok [INFO] [stdout] test tests::bom_is_tolerated ... ok [INFO] [stdout] test tests::tmdb_section_falls_back_to_builtin_key ... ok [INFO] [stdout] test tests::missing_config_dir_errors ... ok [INFO] [stdout] test tests::write_config_str_roundtrips ... ok [INFO] [stdout] test tests::typed_fields_read_values ... ok [INFO] [stdout] test tests::trakt_redirect_uri_follows_listen_port ... ok [INFO] [stdout] test tests::tmdb_section_parses_from_config ... ok [INFO] [stdout] test tests::write_config_str_strips_incoming_bom ... ok [INFO] [stdout] test tests::sync_master_switches_default_on_and_parse_false ... ok [INFO] [stdout] test tests::listen_port_bounds_are_normalized_on_load ... ok [INFO] [stdout] test tests::numeric_bounds_clamped_on_load ... ok [INFO] [stdout] test matching::tests::normalize_replaces_fullwidth_punctuation ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_core-2347678046a6ce55) [INFO] [stdout] [INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_download-5161fe5d75de5b36) [INFO] [stdout] test agent::tests::agents_follow_product_version_form ... ok [INFO] [stdout] test playback::tests::completion_threshold_is_eighty_percent ... ok [INFO] [stdout] test media::tests::intro_completeness ... ok [INFO] [stdout] test player::tests::iina_is_mpv_family ... ok [INFO] [stdout] test media::tests::subtitle_has_external_ignores_empty ... ok [INFO] [stdout] test player::tests::ddplay_aliases_to_dandanplay ... ok [INFO] [stdout] test player::tests::unknown_player_returns_none ... ok [INFO] [stdout] test tests::server_as_str_matches_python_values ... ok [INFO] [stdout] test playback::tests::progress_fraction_guards_zero_runtime ... ok [INFO] [stdout] test tests::server_emby_like_classification ... ok [INFO] [stdout] test tests::server_serde_roundtrip_is_lowercase ... ok [INFO] [stdout] test playback::tests::serde_roundtrip_preserves_core_fields ... ok [INFO] [stdout] test playback::tests::runtime_missing_only_for_emby_sentinel ... ok [INFO] [stdout] test player::tests::detect_common_players ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test lock::tests::lock_path_appends_dot_lock ... ok [INFO] [stdout] test lock::tests::unlock_releases_so_second_can_acquire ... ok [INFO] [stdout] test lock::tests::has_lock_false_after_unlock ... ok [INFO] [stdout] test lock::tests::try_lock_succeeds_when_no_contention ... ok [INFO] [stdout] test lock::tests::second_try_lock_fails_while_first_held ... ok [INFO] [stdout] test lock::tests::drop_releases_lock ... ok [INFO] [stdout] test downloader::tests::get_size_reads_content_length ... ok [INFO] [stdout] test manager::tests::domain_semaphore_same_host_returns_same_arc ... ok [INFO] [stdout] test manager::tests::resume_or_pause_noop_for_missing_id ... ok [INFO] [stdout] test downloader::tests::percent_download_writes_to_file ... ok [INFO] [stdout] test downloader::tests::second_instance_same_id_fails_lock ... ok [INFO] [stdout] test downloader::tests::new_without_existing_file_acquires_lock ... ok [INFO] [stdout] test manager::tests::delete_nonexistent_returns_false ... ok [INFO] [stdout] test manager::tests::domain_semaphore_different_host_returns_different_arc ... ok [INFO] [stdout] test downloader::tests::cancel_download_removes_files ... ok [INFO] [stdout] test manager::tests::download_only_noop_for_duplicate_id ... ok [INFO] [stdout] test prefetch::tests::stream_url_defaults_to_mkv ... ok [INFO] [stdout] test downloader::tests::restore_state_reads_saved_json ... ok [INFO] [stdout] test prefetch::tests::stream_url_for_item_format ... ok [INFO] [stdout] test prefetch::tests::prefetch_head_failure_is_skipped ... ok [INFO] [stdout] test prefetch::tests::prefetch_no_items_is_noop ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.91s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_logging-b92bd3bd14dd8e1f) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test mask::tests::empty_rules_leave_input_untouched ... ok [INFO] [stdout] test rotate::tests::from_mb_clamps_into_supported_range ... ok [INFO] [stdout] test mask::tests::add_user_ignores_empty_and_duplicates ... ok [INFO] [stdout] test rotate::tests::open_continues_existing_file ... ok [INFO] [stdout] test mask::tests::mix_host_keeps_leading_half_and_port ... ok [INFO] [stdout] test rotate::tests::rotated_path_appends_index_suffix ... ok [INFO] [stdout] test mask::tests::masking_redacts_all_secrets ... ok [INFO] [stdout] test tests::build_level_filter_debug_scopes_to_etlp ... ok [INFO] [stdout] test tests::build_level_filter_warn_is_global ... ok [INFO] [stdout] test rotate::tests::clear_empties_active_and_removes_rotations ... ok [INFO] [stdout] test mask::tests::disabled_masker_is_identity ... ok [INFO] [stdout] test rotate::tests::rotation_shifts_files_and_caps_count ... ok [INFO] [stdout] test mask::tests::add_user_redacts_multiple_accounts ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_media_server-ddaae956df09f68d) [INFO] [stdout] [INFO] [stdout] running 111 tests [INFO] [stdout] test episodes::tests::empty_episodes_fail_flag ... ok [INFO] [stdout] test episodes::tests::mismatched_season_id_is_excluded ... ok [INFO] [stdout] test alternate::tests::pick_alt_source_prefers_current_id ... ok [INFO] [stdout] test alternate::tests::pick_alt_source_defaults_to_first_without_preference ... ok [INFO] [stdout] test episodes::tests::no_parent_index_uses_index_only_key ... ok [INFO] [stdout] test episodes::tests::no_season_id_on_item_is_included ... ok [INFO] [stdout] test episodes::tests::current_episode_keeps_base_position ... ok [INFO] [stdout] test alternate::tests::version_item_addresses_the_versions_own_item ... ok [INFO] [stdout] test episodes::tests::parse_item_uses_index_only_fallback ... ok [INFO] [stdout] test episodes::tests::parse_item_builds_network_entry ... ok [INFO] [stdout] test episodes::tests::title_map_built_per_episode ... ok [INFO] [stdout] test alternate::tests::pick_alt_source_falls_back_to_preference_label ... ok [INFO] [stdout] test alternate::tests::legacy_shape_detected_by_duplicate_episode_keys ... ok [INFO] [stdout] test episodes::tests::missing_index_fails_the_map ... ok [INFO] [stdout] test episodes::tests::parse_item_carries_bangumi_metadata ... ok [INFO] [stdout] test meta::tests::episode_title_with_range_and_missing_index ... ok [INFO] [stdout] test list_episodes::tests::broken_current_source_disables_playlist ... ok [INFO] [stdout] test parse::tests::apply_translate_empty_table_is_identity ... ok [INFO] [stdout] test episodes::tests::external_subtitle_builds_videos_url ... ok [INFO] [stdout] test alternate::tests::assemble_keeps_selected_version_and_stays_consistent ... ok [INFO] [stdout] test list_episodes::tests::episodes_sorted_by_index_number ... ok [INFO] [stdout] test meta::tests::placeholder_ticks_and_too_many_chapters_ignored ... ok [INFO] [stdout] test meta::tests::intro_markers_extracted_from_two_chapters ... ok [INFO] [stdout] test meta::tests::movie_title_with_and_without_year ... ok [INFO] [stdout] test list_episodes::tests::stream_prefix_is_prepended ... ok [INFO] [stdout] test list_episodes::tests::assembles_ordered_playlist ... ok [INFO] [stdout] test parse::tests::empty_translate_string_produces_empty_table ... ok [INFO] [stdout] test parse::tests::fake_name_strips_drive_and_separators ... ok [INFO] [stdout] test parse::tests::apply_translate_replaces_matched_chars ... ok [INFO] [stdout] test parse::tests::jellyfin_auth_header_is_parsed ... ok [INFO] [stdout] test parse::tests::odd_trailing_token_is_ignored ... ok [INFO] [stdout] test parse::tests::stream_item_id_falls_back_to_path_item ... ok [INFO] [stdout] test parse::tests::stream_item_id_prefers_source_item_id ... ok [INFO] [stdout] test parse::tests::translate_table_parses_pairs ... ok [INFO] [stdout] test path_map::tests::only_first_occurrence_replaced ... ok [INFO] [stdout] test path_map::tests::unmatched_and_http_unchanged ... ok [INFO] [stdout] test path_map::tests::translates_first_matching_prefix ... ok [INFO] [stdout] test playlist::tests::empty_episodes_never_panic ... ok [INFO] [stdout] test playlist::tests::build_window_returns_none_for_missing_current ... ok [INFO] [stdout] test playlist::tests::falls_back_to_basename_without_item_id ... ok [INFO] [stdout] test playlist::tests::locates_by_item_id_when_basename_differs ... ok [INFO] [stdout] test playlist::tests::out_of_range_current_is_clamped_not_panicked ... ok [INFO] [stdout] test playlist::tests::returns_none_when_absent ... ok [INFO] [stdout] test playlist::tests::window_saturates_at_end ... ok [INFO] [stdout] test playlist::tests::window_saturates_at_start ... ok [INFO] [stdout] test prefer::tests::current_key_uses_played_file ... ok [INFO] [stdout] test prefer::tests::disabled_or_no_rules_returns_none ... ok [INFO] [stdout] test plex::tests::force_disk_path_enables_disk_mode ... ok [INFO] [stdout] test plex::tests::missing_token_is_error ... ok [INFO] [stdout] test prefer::tests::ini_filter_success_wins_over_rule ... ok [INFO] [stdout] test prefer::tests::matches_via_first_media_source_path ... ok [INFO] [stdout] test plex::tests::parses_plex_episode ... ok [INFO] [stdout] test prefer::tests::single_version_taken_as_is ... ok [INFO] [stdout] test received::tests::missing_fields_use_defaults ... ok [INFO] [stdout] test received::tests::deserializes_full_payload ... ok [INFO] [stdout] test received::tests::movie_episodes_info_null_uses_default ... ok [INFO] [stdout] test resolve::tests::http_strm_direct_uses_source_url ... ok [INFO] [stdout] test received::tests::null_fields_use_defaults ... ok [INFO] [stdout] test resolve::tests::force_disk_prefix_forces_disk_mode ... ok [INFO] [stdout] test resolve::tests::local_strm_without_direct_falls_back_to_network ... ok [INFO] [stdout] test resolve::tests::plain_file_disk_mode_translates_path ... ok [INFO] [stdout] test resolve::tests::http_strm_without_direct_plays_via_stream_url ... ok [INFO] [stdout] test meta::tests::episode_title_with_index ... ok [INFO] [stdout] test resolve::tests::local_strm_direct_reads_disk ... ok [INFO] [stdout] test resolve::tests::plain_file_network_play_uses_stream_url ... ok [INFO] [stdout] test stream_url::tests::bluray_container_and_video_type_override ... ok [INFO] [stdout] test stream_url::tests::absolute_media_url_expands_root_relative_input ... ok [INFO] [stdout] test stream_url::tests::absolute_media_url_rejects_empty_or_relative_path ... ok [INFO] [stdout] test stream_url::tests::extension_helper ... ok [INFO] [stdout] test stream_url::tests::jellyfin_has_no_emby_prefix ... ok [INFO] [stdout] test stream_url::tests::modern_emby_uses_original_and_file_ext ... ok [INFO] [stdout] test stream_url::tests::older_emby_uses_stream_name ... ok [INFO] [stdout] test stream_url::tests::server_media_url_falls_back_to_direct_stream_url ... ok [INFO] [stdout] test subtitle::tests::explicit_embedded_selection_sets_sid ... ok [INFO] [stdout] test stream_url::tests::server_media_url_prefers_transcoding_url ... ok [INFO] [stdout] test subtitle::tests::no_matching_priority_selects_nothing ... ok [INFO] [stdout] test stream_url::tests::absolute_media_url_uses_absolute_input ... ok [INFO] [stdout] test subtitle::tests::unspecified_picks_embedded_by_priority ... ok [INFO] [stdout] test subtitle::tests::unspecified_picks_external_by_priority ... ok [INFO] [stdout] test version::tests::earlier_rule_wins_over_later_even_if_later_is_index_zero ... ok [INFO] [stdout] test version::tests::empty_rules_pick_first ... ok [INFO] [stdout] test version::tests::falls_back_to_first_on_no_match ... ok [INFO] [stdout] test version::tests::malformed_range_is_false ... ok [INFO] [stdout] test version::tests::version_range_inclusive_bounds ... ok [INFO] [stdout] test subtitle::tests::explicit_external_dropped_in_disk_mode ... ok [INFO] [stdout] test version::tests::version_range_zero_pads_shorter ... ok [INFO] [stdout] test version_filter::tests::empty_filter_or_playlist_passes_through ... ok [INFO] [stdout] test version_filter::tests::episode_key_requires_both_indices ... ok [INFO] [stdout] test version_filter::tests::filter_by_raw_name_keeps_one_per_episode ... ok [INFO] [stdout] test version_filter::tests::filter_by_raw_name_stops_at_unrelated_episode ... ok [INFO] [stdout] test version_filter::tests::no_multi_version_passes_through ... ok [INFO] [stdout] test version_filter::tests::shortest_episode_detects_real_derivations ... ok [INFO] [stdout] test version_filter::tests::shortest_episode_flags_unrelated_names ... ok [INFO] [stdout] test version_filter::tests::summarize_paths_shows_short_lists_in_full ... ok [INFO] [stdout] test version_filter::tests::summarize_paths_truncates_when_over_budget ... ok [INFO] [stdout] test version_filter::tests::official_rule_selects_one_per_episode ... ok [INFO] [stdout] test prefer::tests::other_key_uses_regex_preference ... ok [INFO] [stdout] test version_filter::tests::crlf_in_filter_regex_matches_like_single_line ... ok [INFO] [stdout] test version_filter::tests::unmatched_disables_playlist_to_current_only ... ok [INFO] [stdout] test version::tests::picks_highest_priority_rule_source ... ok [INFO] [stdout] test parse::tests::http_strm_uses_server_transcoding_url ... ok [INFO] [stdout] test parse::tests::invalid_url_is_reported ... ok [INFO] [stdout] test emby::tests::resume_items_parses_list ... ok [INFO] [stdout] test emby::tests::host_trailing_slash_trimmed ... ok [INFO] [stdout] test emby::tests::item_parses_provider_ids ... ok [INFO] [stdout] test parse::tests::transcoding_url_wins_over_strm_direct_host ... ok [INFO] [stdout] test parse::tests::selected_alternate_version_retargets_stream_item ... ok [INFO] [stdout] test parse::tests::parses_emby_network_play ... ok [INFO] [stdout] test parse::tests::last_episode_disables_playlist ... ok [INFO] [stdout] test parse::tests::missing_runtime_falls_back_to_24h ... ok [INFO] [stdout] test emby::tests::playback_info_parses_media_sources ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 111 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.79s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_metrics-36704eadbaf10ab4) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test tests::span_with_session_does_not_panic ... ok [INFO] [stdout] test tests::play_metrics_report_does_not_panic ... ok [INFO] [stdout] test tests::span_elapsed_ms_before_finish ... ok [INFO] [stdout] test tests::span_finish_returns_elapsed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 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/debug/deps/etlp_net-f5024e5ad4a4d8e4) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test redirect::tests::cache_key_truncates_before_play_session_id ... ok [INFO] [stdout] test progress::tests::extension_lower_handles_paths ... ok [INFO] [stdout] test client::tests::proxy_url_accepts_host_port_and_full_url ... ok [INFO] [stdout] test tests::proxy_rejects_socks ... ok [INFO] [stdout] test tests::proxy_empty_is_none ... ok [INFO] [stdout] test tests::proxy_strips_scheme ... ok [INFO] [stdout] test tests::ua_constants_reexported_with_version ... ok [INFO] [stdout] test url_tools::tests::referer_none_for_unparseable ... ok [INFO] [stdout] test url_tools::tests::safe_url_encodes_spaces_and_unicode_in_path ... ok [INFO] [stdout] test url_tools::tests::referer_includes_explicit_port_only ... ok [INFO] [stdout] test url_tools::tests::safe_url_keeps_already_encoded_and_query ... ok [INFO] [stdout] test url_tools::tests::safe_url_without_path_or_scheme ... ok [INFO] [stdout] test redirect::tests::purge_removes_only_expired_matched_hosts ... ok [INFO] [stdout] test redirect::tests::get_and_insert_roundtrip_by_key ... ok [INFO] [stdout] test client::tests::empty_user_agent_falls_back_to_default ... ok [INFO] [stdout] test progress::tests::update_success_skips_start_call ... ok [INFO] [stdout] test client::tests::resolve_redirect_without_redirect_returns_original ... ok [INFO] [stdout] test progress::tests::iso_media_is_skipped_without_request ... ok [INFO] [stdout] test client::tests::non_success_status_is_error ... ok [INFO] [stdout] test client::tests::post_json_checks_success ... ok [INFO] [stdout] test progress::tests::emby_posts_start_and_stopped ... ok [INFO] [stdout] test client::tests::get_json_decodes_and_sends_browser_ua ... ok [INFO] [stdout] test client::tests::custom_user_agent_is_sent ... ok [INFO] [stdout] test client::tests::resolve_redirect_returns_location ... ok [INFO] [stdout] test client::tests::media_download_client_builds_with_and_without_proxy ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_player-330b54c1b3352c7e) [INFO] [stdout] [INFO] [stdout] running 99 tests [INFO] [stdout] test dandan::tests::args_http_url_produces_ddplay_scheme ... ok [INFO] [stdout] test dandan::tests::video_status_position_sec ... ok [INFO] [stdout] test dandan::tests::encode_preserves_http_scheme ... ok [INFO] [stdout] test dandan::tests::video_status_zero_position ... ok [INFO] [stdout] test dandan::tests::args_local_file_appends_file_path ... ok [INFO] [stdout] test dandan::tests::args_mount_disk_mode_no_filepath_suffix ... ok [INFO] [stdout] test executable::tests::ends_with_app_is_case_insensitive ... ok [INFO] [stdout] test dandan::tests::encode_space_and_chinese ... ok [INFO] [stdout] test mpc::tests::args_basic_contains_media_and_controls ... ok [INFO] [stdout] test mpc::tests::args_with_sub ... ok [INFO] [stdout] test mpc::tests::args_no_fullscreen_by_default ... ok [INFO] [stdout] test mpc::tests::args_with_start_sec ... ok [INFO] [stdout] test mpc::tests::args_fullscreen ... ok [INFO] [stdout] test mpc::tests::status_from_empty_map_returns_none ... ok [INFO] [stdout] test mpc::tests::parse_empty_html_returns_empty_map ... ok [INFO] [stdout] test executable::tests::non_bundle_paths_are_unchanged ... ok [INFO] [stdout] test mpv::tests::build_args_multiple_episodes_adds_pause ... ok [INFO] [stdout] test mpc::tests::parse_extracts_all_fields ... ok [INFO] [stdout] test mpc::tests::status_from_map_full ... ok [INFO] [stdout] test mpv::tests::build_args_proxy_bare_host_port_treated_as_http ... ok [INFO] [stdout] test mpv::tests::build_args_proxy_http_with_multiple_episodes_disables_cache ... ok [INFO] [stdout] test mpv::tests::chapter_from_intro_complete ... ok [INFO] [stdout] test mpv::tests::chapter_from_intro_incomplete ... ok [INFO] [stdout] test mpv::tests::build_args_proxy_socks5_is_skipped_for_mpv ... ok [INFO] [stdout] test mpv::tests::build_args_iina_single_file_disables_stdin ... ok [INFO] [stdout] test mpv::tests::build_args_playlist_start_uses_playlist_flag_and_drops_title_override ... ok [INFO] [stdout] test mpv::tests::ipc_path_generates_unique_paths ... ok [INFO] [stdout] test mpv::tests::ipc_path_unix_format ... ok [INFO] [stdout] test mpv::tests::load_options_empty ... ok [INFO] [stdout] test mpv::tests::load_options_full ... ok [INFO] [stdout] test mpv::tests::advance_chapter_sends_add_chapter_1 ... ok [INFO] [stdout] test mpv::tests::detect_new_loadfile_format_old_mpv ... ok [INFO] [stdout] test mpv::tests::detect_new_loadfile_format_parses_command_list ... ok [INFO] [stdout] test mpv::tests::load_options_title_only ... ok [INFO] [stdout] test mpv::tests::load_options_sub_file_rotation ... ok [INFO] [stdout] test mpv::tests::loadfile_new_format_includes_index ... ok [INFO] [stdout] test mpv::tests::set_chapter_list_sends_correct_command ... ok [INFO] [stdout] test mpv::tests::build_args_contains_required_flags ... ok [INFO] [stdout] test mpv::tests::set_pause_sends_correct_value ... ok [INFO] [stdout] test mpv::tests::loadfile_old_format_omits_index ... ok [INFO] [stdout] test mpv::tests::build_args_fullscreen_and_no_audio ... ok [INFO] [stdout] test mpv::tests::script_message_sends_all_args ... ok [INFO] [stdout] test mpv::tests::build_args_log_file_adds_log_flag ... ok [INFO] [stdout] test mpv::tests::build_args_non_iina_has_no_stdin_flag ... ok [INFO] [stdout] test mpv::tests::build_args_iina_playlist_passes_file_positionally ... ok [INFO] [stdout] test player_manager::tests::register_playlist_stores_episode ... ok [INFO] [stdout] test player_manager::tests::completed_entries_flags_watched_vs_in_progress ... ok [INFO] [stdout] test player_manager::tests::skip_when_stop_too_close_to_start ... ok [INFO] [stdout] test executable::tests::app_suffix_untouched_off_macos ... ok [INFO] [stdout] test player_manager::tests::collect_merges_completed_playlist_episodes ... ok [INFO] [stdout] test mpv::tests::time_pos_returns_none_when_unavailable ... ok [INFO] [stdout] test mpv::tests::time_pos_returns_float ... ok [INFO] [stdout] test player_manager::tests::completed_entries_progress_zero_when_duration_unknown ... ok [INFO] [stdout] test player_manager::tests::stop_times_populated_after_collect ... ok [INFO] [stdout] test protocol::tests::parse_line_ignores_blank ... ok [INFO] [stdout] test protocol::tests::parse_line_prefers_response_then_event ... ok [INFO] [stdout] test protocol::tests::request_encodes_command_and_newline ... ok [INFO] [stdout] test player_manager::tests::stub_handle_reports_no_pid ... ok [INFO] [stdout] test pot::tests::args_basic_contains_media_path ... ok [INFO] [stdout] test pot::tests::args_includes_title ... ok [INFO] [stdout] test pot::tests::args_no_sub_when_empty_external ... ok [INFO] [stdout] test transport::tests::command_returns_none_for_property_unavailable ... ok [INFO] [stdout] test pot::tests::args_start_sec_formatted_as_hhmmss ... ok [INFO] [stdout] test pot::tests::args_start_sec_zero_formatted ... ok [INFO] [stdout] test protocol::tests::framer_skips_malformed_lines ... ok [INFO] [stdout] test pot::tests::args_with_sub ... ok [INFO] [stdout] test transport::tests::command_returns_mpv_error ... ok [INFO] [stdout] test player_manager::tests::do_not_skip_when_stop_far_from_start ... ok [INFO] [stdout] test protocol::tests::response_result_maps_errors ... ok [INFO] [stdout] test protocol::tests::framer_splits_and_buffers_partial ... ok [INFO] [stdout] test transport::tests::command_success_with_null_data ... ok [INFO] [stdout] test vlc::tests::args_basic_ends_with_play_and_exit ... ok [INFO] [stdout] test vlc::tests::args_fullscreen_flag ... ok [INFO] [stdout] test vlc::tests::args_basic_contains_http_interface ... ok [INFO] [stdout] test vlc::tests::args_mount_disk_without_ext_uses_bluray_uri ... ok [INFO] [stdout] test vlc::tests::args_basic_contains_media_path ... ok [INFO] [stdout] test vlc::tests::args_http_sub_is_skipped ... ok [INFO] [stdout] test vlc::tests::args_with_local_sub ... ok [INFO] [stdout] test vlc::tests::args_with_start_sec ... ok [INFO] [stdout] test vlc::tests::args_mount_disk_with_ext_uses_file_uri ... ok [INFO] [stdout] test vlc::tests::port_generate_unique_consecutive ... ok [INFO] [stdout] test vlc::tests::status_filename_absent_when_idle ... ok [INFO] [stdout] test transport::tests::event_handler_not_triggered_by_response ... ok [INFO] [stdout] test vlc::tests::status_filename_present ... ok [INFO] [stdout] test vlc::tests::status_filename_absent_when_meta_missing ... ok [INFO] [stdout] test vlc::tests::port_from_port_roundtrip ... ok [INFO] [stdout] test vlc::tests::port_generate_in_range ... ok [INFO] [stdout] test transport::tests::event_handler_is_called ... ok [INFO] [stdout] test transport::tests::command_round_trip ... ok [INFO] [stdout] test transport::tests::concurrent_commands_resolved_by_id ... ok [INFO] [stdout] test transport::tests::disconnection_before_response_returns_error ... ok [INFO] [stdout] test dandan::tests::client_library_builds_map ... ok [INFO] [stdout] test dandan::tests::client_current_video_http_error ... ok [INFO] [stdout] test vlc::tests::client_playlist_add_sends_in_enqueue ... ok [INFO] [stdout] test vlc::tests::client_status_http_error_returns_vlc_error ... ok [INFO] [stdout] test vlc::tests::client_status_parses_response ... ok [INFO] [stdout] test dandan::tests::client_current_video_parses_response ... ok [INFO] [stdout] test mpc::tests::client_status_parses_html ... ok [INFO] [stdout] test mpc::tests::client_status_parse_error_on_bad_html ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_server-8803a016224305b7) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test platform::dirs::tests::is_portable_false_on_non_windows ... ok [INFO] [stdout] test platform::dirs::tests::portable_update_dir_none_on_non_windows ... ok [INFO] [stdout] test platform::device_id::tests::load_or_create_returns_valid_uuid ... ok [INFO] [stdout] test platform::dirs::tests::migrate_layout_relocates_legacy_files ... ok [INFO] [stdout] test platform::device_id::tests::load_or_create_is_stable ... ok [INFO] [stdout] test platform::dirs::tests::migrate_layout_is_idempotent_and_preserves_new_files ... ok [INFO] [stdout] test platform::kill::tests::invalid_name_pattern_errors ... ok [INFO] [stdout] test platform::path::tests::translate_path_applies_first_matching_pair ... ok [INFO] [stdout] test platform::path::tests::windows_to_wsl_leaves_unix_unchanged ... ok [INFO] [stdout] test platform::path::tests::translate_path_empty_pairs_returns_original ... ok [INFO] [stdout] test platform::path::tests::windows_to_wsl_converts_drive_paths ... ok [INFO] [stdout] test platform::path::tests::wsl_to_windows_converts_mnt_paths ... ok [INFO] [stdout] test platform::path::tests::wsl_to_windows_leaves_non_mnt_unchanged ... ok [INFO] [stdout] test routes::media::tests::has_valid_extension_subtitle ... ok [INFO] [stdout] test platform::kill::tests::valid_patterns_do_not_panic ... ok [INFO] [stdout] test routes::media::tests::has_valid_extension_video ... ok [INFO] [stdout] test routes::media::tests::parse_range_full_range ... ok [INFO] [stdout] test routes::media::tests::parse_range_open_end ... ok [INFO] [stdout] test routes::play::tests::remote_strm_playlist_warning_does_not_rewrite_url ... ok [INFO] [stdout] test routes::media::tests::parse_range_no_prefix_falls_back ... ok [INFO] [stdout] test routes::media::tests::parse_range_open_start ... ok [INFO] [stdout] test routes::play::tests::genres_match_gates_title_fallback ... ok [INFO] [stdout] test routes::play::tests::host_enabled_matches_keywords ... ok [INFO] [stdout] test routes::media::tests::has_valid_extension_case_insensitive ... ok [INFO] [stdout] test routes::play::tests::plex_route_returns_200 ... ok [INFO] [stdout] test routes::play::tests::show_task_manager_returns_200 ... ok [INFO] [stdout] test routes::util::tests::trakt_auth_no_code_returns_200 ... ok [INFO] [stdout] test routes::media::tests::send_media_file_wrong_token_returns_403 ... ok [INFO] [stdout] test routes::util::tests::play_media_file_returns_200 ... ok [INFO] [stderr] xdg-open: file '/tmp/test.mkv' does not exist [INFO] [stdout] test routes::download::tests::action_route_returns_200 ... ok [INFO] [stdout] test routes::download::tests::unknown_gui_cmd_still_returns_200 ... ok [INFO] [stdout] test routes::util::tests::open_folder_returns_200 ... ok [INFO] [stderr] /usr/bin/xdg-open: 882: www-browser: not found [INFO] [stderr] /usr/bin/xdg-open: 882: links2: not found [INFO] [stderr] /usr/bin/xdg-open: 882: elinks: not found [INFO] [stderr] /usr/bin/xdg-open: 882: links: not found [INFO] [stderr] /usr/bin/xdg-open: 882: lynx: not found [INFO] [stderr] /usr/bin/xdg-open: 882: w3m: not found [INFO] [stderr] xdg-open: no method available for opening '/tmp' [INFO] [stdout] test routes::play::tests::etlp_route_returns_200 ... ok [INFO] [stdout] test routes::util::tests::miss_runtime_returns_zero_for_unknown_key ... ok [INFO] [stdout] test routes::download::tests::gui_route_returns_200 ... ok [INFO] [stdout] test routes::util::tests::health_check_returns_200 ... ok [INFO] [stdout] test routes::util::tests::miss_runtime_store_and_retrieve ... ok [INFO] [stdout] test routes::play::tests::emby_route_returns_200 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.44s [INFO] [stdout] [INFO] [stderr] Running tests/smoke.rs (/opt/rustwide/target/debug/deps/smoke-6def9f529dc16fb6) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test smoke_emby_episodes_api ... ok [INFO] [stdout] test smoke_emby_parse_playback_data ... ok [INFO] [stdout] test smoke_progress_writeback_start ... ok [INFO] [stdout] test smoke_route_emby_ok ... ok [INFO] [stdout] test smoke_progress_writeback_end ... ok [INFO] [stdout] test smoke_route_etlp_ok ... ok [INFO] [stdout] test smoke_route_plex_ok ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/etlp_sync-58decf13875d6f78) [INFO] [stdout] [INFO] [stdout] running 141 tests [INFO] [stdout] test bangumi::tests::date_subtract_days_basic ... ok [INFO] [stdout] test bangumi::tests::date_subtract_days_crosses_month_boundary ... ok [INFO] [stdout] test bangumi::tests::date_subtract_days_crosses_year_boundary ... ok [INFO] [stdout] test bangumi::tests::date_diff_handles_iso_prefix_and_gap ... ok [INFO] [stdout] test bangumi::tests::backfill_cache_roundtrips_and_only_advances ... ok [INFO] [stdout] test bangumi::tests::backfill_cache_scope_change_invalidates_mark ... ok [INFO] [stdout] test bangumi::tests::date_add_days_basic_and_boundaries ... ok [INFO] [stdout] test bangumi::tests::days_to_date_roundtrips ... ok [INFO] [stdout] test bangumi::tests::fetch_subject_detail_api_builds_detail_from_json ... ok [INFO] [stdout] test bangumi::tests::ensure_watching_leaves_existing_collection_untouched ... ok [INFO] [stdout] test bangumi::tests::add_collection_subject_posts_correct_state ... ok [INFO] [stdout] test bangumi::tests::get_episodes_parses_list ... ok [INFO] [stdout] test bangumi::tests::fuzzy_retry_fires_when_both_v0_and_legacy_empty ... ok [INFO] [stdout] test bangumi::tests::bfs_queues_alt_adaptations_when_no_sequels ... ok [INFO] [stdout] test bangumi::tests::mark_backfill_batch_marks_unwatched_and_adds_when_uncollected ... ok [INFO] [stdout] test bangumi::tests::bfs_pool_survives_across_episodes_sharing_cache ... ok [INFO] [stdout] test bangumi::tests::normalize_title_equalizes_fullwidth_and_halfwidth_punctuation ... ok [INFO] [stdout] test bangumi::tests::normalize_title_strips_whitespace_and_lowercases ... ok [INFO] [stdout] test bangumi::tests::percent_encode_path_encodes_spaces_and_special_chars ... ok [INFO] [stdout] test bangumi::tests::pick_episode_falls_back_to_sort ... ok [INFO] [stdout] test bangumi::tests::pick_episode_prefers_air_date_over_sort ... ok [INFO] [stdout] test bangumi::tests::pick_episode_returns_none_when_unmatched ... ok [INFO] [stdout] test bangumi::tests::get_subject_collection_returns_none_on_404 ... ok [INFO] [stdout] test bangumi::tests::get_subject_collection_returns_some_on_200 ... ok [INFO] [stdout] test bangumi::tests::ensure_watching_adds_when_not_collected ... ok [INFO] [stdout] test bangumi::tests::get_related_subjects_returns_sequels ... ok [INFO] [stdout] test bangumi::tests::mark_backfill_empty_pending_is_noop ... ok [INFO] [stdout] test bangumi::tests::bfs_follows_prequel_relation ... ok [INFO] [stdout] test bangumi::tests::requests_use_unified_user_agent ... ok [INFO] [stdout] test bangumi::tests::maybe_mark_subject_watched_upgrades_when_all_done ... ok [INFO] [stdout] test bangumi::tests::add_collection_subject_sends_private_flag ... ok [INFO] [stdout] test bangumi::tests::mark_backfill_matches_air_date_and_skips_already_watched ... ok [INFO] [stdout] test bangumi::tests::mark_single_episode_watched_uses_put ... ok [INFO] [stdout] test bangumi::tests::mark_multiple_episodes_watched_uses_patch ... ok [INFO] [stdout] test bangumi::tests::legacy_search_fallback_fires_when_v0_empty ... ok [INFO] [stdout] test bangumi::tests::resolve_selects_subject_with_closest_start_date ... ok [INFO] [stdout] test bangumi::tests::resolve_uses_title_only_when_no_premiere_date ... ok [INFO] [stdout] test bangumi::tests::subject_cache_roundtrips_through_disk ... ok [INFO] [stdout] test bangumi::tests::subject_cache_load_missing_file_is_empty ... ok [INFO] [stdout] test bangumi::tests::get_subject_parses_response ... ok [INFO] [stdout] test bangumi::tests::resolve_returns_none_when_no_subject_contains_episode_air_date ... ok [INFO] [stdout] test bangumi::tests::mark_episodes_watched_chunks_to_100 ... ok [INFO] [stdout] test bangumi::tests::maybe_mark_subject_watched_skips_when_incomplete ... ok [INFO] [stdout] test bangumi::tests::sync_episode_by_bangumi_id_full_flow ... ok [INFO] [stdout] test bangumi::tests::resolve_returns_none_when_still_tied_after_title ... ok [INFO] [stdout] test bangumi::tests::resolve_tie_broken_by_title_similarity ... ok [INFO] [stdout] test bangumi::tests::search_lower_bound_uses_premiere_minus_2_days ... ok [INFO] [stdout] test bangumi_map::tests::accepts_negative_offset ... ok [INFO] [stdout] test bangumi_map::tests::canonical_normalises_inferred_type ... ok [INFO] [stdout] test bangumi_map::tests::canonical_roundtrips ... ok [INFO] [stdout] test bangumi_map::tests::canonical_roundtrips_closed_range ... ok [INFO] [stdout] test bangumi_map::tests::canonical_roundtrips_open_range ... ok [INFO] [stdout] test bangumi_map::tests::defaults_tv_season_to_one ... ok [INFO] [stdout] test bangumi_map::tests::infers_movie_without_season ... ok [INFO] [stdout] test bangumi_map::tests::infers_tv_from_season ... ok [INFO] [stdout] test bangumi_map::tests::match_mapping_picks_first_applicable ... ok [INFO] [stdout] test bangumi_map::tests::match_mapping_selects_by_episode_range ... ok [INFO] [stdout] test bangumi::tests::search_subjects_api_omits_auth_header ... ok [INFO] [stdout] test bangumi_map::tests::matches_movie_ignores_season ... ok [INFO] [stdout] test bangumi_map::tests::matches_open_ended_range ... ok [INFO] [stdout] test bangumi_map::tests::matches_tv_by_provider_season ... ok [INFO] [stdout] test bangumi_map::tests::parse_mappings_drops_invalid_lines ... ok [INFO] [stdout] test bangumi_map::tests::parse_mappings_strips_group_prefix ... ok [INFO] [stdout] test bangumi_map::tests::parses_closed_range_compact ... ok [INFO] [stdout] test bangumi_map::tests::parses_closed_range_verbose ... ok [INFO] [stdout] test bangumi_map::tests::parses_movie ... ok [INFO] [stdout] test bangumi_map::tests::parses_open_ended_range ... ok [INFO] [stdout] test bangumi_map::tests::parses_tv_with_offset ... ok [INFO] [stdout] test bangumi_map::tests::parses_tv_without_offset ... ok [INFO] [stdout] test bangumi_map::tests::positive_episode_gate ... ok [INFO] [stdout] test bangumi_map::tests::rejects_bad_imdb_id ... ok [INFO] [stdout] test bangumi_map::tests::rejects_bad_season ... ok [INFO] [stdout] test bangumi::tests::search_subjects_api_uses_correct_path ... ok [INFO] [stdout] test bangumi_map::tests::rejects_missing_arrow ... ok [INFO] [stdout] test bangumi_map::tests::rejects_movie_with_offset ... ok [INFO] [stdout] test bangumi_map::tests::rejects_non_numeric_tmdb_id ... ok [INFO] [stdout] test bangumi_map::tests::rejects_unknown_provider ... ok [INFO] [stdout] test bangumi_map::tests::rejects_zero_subject ... ok [INFO] [stdout] test bangumi_map::tests::strip_group_prefix_handles_variants ... ok [INFO] [stdout] test bangumi_web::tests::ep_range_returns_min_and_max ... ok [INFO] [stdout] test bangumi_web::tests::ep_range_returns_none_for_empty ... ok [INFO] [stdout] test curl::tests::classify_routes_by_method_then_body ... ok [INFO] [stdout] test bangumi::tests::sync_episode_returns_empty_for_empty_sorts ... ok [INFO] [stdout] test curl::tests::full_body_is_logged_only_for_get_and_post ... ok [INFO] [stdout] test bangumi::tests::search_subjects_api_returns_candidates ... ok [INFO] [stdout] test bangumi::tests::search_subjects_api_sends_closed_air_date_window ... ok [INFO] [stdout] test tests::proxy_url_accepts_host_port_and_full_url ... ok [INFO] [stdout] test bangumi::tests::sync_episodes_matches_episode_by_air_date ... ok [INFO] [stdout] test bangumi::tests::sync_episode_skips_already_watched_subject ... ok [INFO] [stdout] test bangumi_map::tests::matches_closed_range ... ok [INFO] [stdout] test bangumi_map::tests::rejects_inverted_range ... ok [INFO] [stdout] test bangumi::tests::resolve_validates_subject_by_episode_air_date ... ok [INFO] [stdout] test bangumi::tests::sync_movie_subject_skips_already_watched ... ok [INFO] [stdout] test bangumi::tests::verify_token_ok_on_200 ... ok [INFO] [stdout] test bangumi::tests::search_floor_date_overrides_season_premiere_for_filter ... ok [INFO] [stdout] test bangumi::tests::sync_movie_subject_handles_empty_episode_list ... ok [INFO] [stdout] test bangumi::tests::sync_episodes_picks_correct_sort_when_same_day_batch ... ok [INFO] [stdout] test tmdb::tests::episode_air_date_cached_on_second_call ... ok [INFO] [stdout] test curl::tests::read_status_only_returns_status_and_body_without_logging ... ok [INFO] [stdout] test tmdb::tests::invalid_api_key_degrades_gracefully ... ok [INFO] [stdout] test tmdb::tests::movie_release_date_returns_none_for_empty_field ... ok [INFO] [stdout] test tmdb::tests::api_key_is_sent_as_query_param ... ok [INFO] [stdout] test tmdb::tests::movie_release_date_cached_on_second_call ... ok [INFO] [stdout] test trakt::tests::fresh_24h_token_is_valid ... ok [INFO] [stdout] test bangumi::tests::sync_movie_subject_marks_all_episodes_watched ... ok [INFO] [stdout] test tmdb::tests::movie_release_date_returns_none_on_404 ... ok [INFO] [stdout] test bangumi::tests::verify_token_maps_401_to_unauthorized ... ok [INFO] [stdout] test tmdb::tests::episode_air_date_returns_date ... ok [INFO] [stdout] test trakt::tests::percent_encode_preserves_unreserved ... ok [INFO] [stdout] test curl::tests::curl_command_includes_method_url_headers_and_body ... ok [INFO] [stdout] test tmdb::tests::movie_release_date_returns_date ... ok [INFO] [stdout] test tmdb::tests::episode_air_date_returns_none_on_404 ... ok [INFO] [stdout] test tmdb::tests::series_alternative_titles_returns_empty_on_error ... ok [INFO] [stdout] test trakt::tests::get_watch_history_returns_empty_on_404 ... ok [INFO] [stdout] test tmdb::tests::none_result_is_cached_to_avoid_retry ... ok [INFO] [stdout] test trakt::tests::add_to_history_episode_with_season_uses_shows ... ok [INFO] [stdout] test trakt::tests::add_to_history_posts_correct_payload ... ok [INFO] [stdout] test tmdb::tests::series_first_air_date_returns_date ... ok [INFO] [stdout] test trakt::tests::poll_device_token_times_out ... ok [INFO] [stdout] test trakt::tests::load_token_returns_false_when_missing ... ok [INFO] [stdout] test tmdb::tests::series_alternative_titles_returns_jp_first ... ok [INFO] [stdout] test trakt::tests::refresh_token_updates_stored_token ... ok [INFO] [stdout] test trakt::tests::requests_use_unified_user_agent ... ok [INFO] [stdout] test trakt::tests::get_watch_history_returns_list ... ok [INFO] [stdout] test trakt::tests::token_is_invalid_when_expired ... ok [INFO] [stdout] test trakt::tests::token_is_valid_when_fresh ... ok [INFO] [stdout] test trakt::tests::resolve_trakt_id_returns_none_without_ids ... ok [INFO] [stdout] test trakt::tests::save_and_load_token_roundtrip ... ok [INFO] [stdout] test trakt::tests::request_device_code_propagates_api_error ... ok [INFO] [stdout] test tmdb::tests::series_first_air_date_returns_none_for_empty_field ... ok [INFO] [stdout] test trakt::tests::authorize_url_encodes_redirect ... ok [INFO] [stdout] test trakt::tests::id_lookup_returns_results ... ok [INFO] [stdout] test trakt::tests::scrobble_conflict_is_treated_as_noop ... ok [INFO] [stdout] test trakt::tests::scrobble_stop_posts_progress_to_stop_endpoint ... ok [INFO] [stdout] test trakt::tests::scrobble_episode_with_season_uses_show_format ... ok [INFO] [stdout] test trakt::tests::request_device_code_parses_response ... ok [INFO] [stdout] test trakt::tests::refresh_token_fails_without_token ... ok [INFO] [stdout] test trakt::tests::sync_history_skips_already_watched ... ok [INFO] [stdout] test trakt::tests::poll_device_token_succeeds_on_first_200 ... ok [INFO] [stdout] test trakt::tests::resolve_trakt_id_extracts_episode_id_from_tvdb ... ok [INFO] [stdout] test trakt::tests::scrobble_pause_uses_pause_endpoint ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 141 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.26s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/updater-5bdb5cb01743a770) [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 etlp_config [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 etlp_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] [stdout] [INFO] [stderr] Doc-tests etlp_download [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 etlp_logging [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 etlp_media_server [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 etlp_metrics [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test crates/etlp-metrics/src/lib.rs - Span (line 25) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.49s; merged doctests compilation took 0.47s [INFO] [stderr] Doc-tests etlp_net [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 etlp_player [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 etlp_server [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 etlp_sync [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" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59", kill_on_drop: false }` [INFO] [stdout] 3e340f9ef09f3e2bb2367db7ac62b8da73cdecc0ef8188fb5c831725123fdf59