[INFO] cloning repository https://github.com/joeblack2k/SGM-Helper [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/joeblack2k/SGM-Helper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeblack2k%2FSGM-Helper", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeblack2k%2FSGM-Helper'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 890bb97e7a2ce544781c65380ab5c816ecd237f2 [INFO] testing joeblack2k/SGM-Helper against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeblack2k%2FSGM-Helper" "/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/joeblack2k/SGM-Helper [INFO] finished tweaking git repo https://github.com/joeblack2k/SGM-Helper [INFO] tweaked toml for git repo https://github.com/joeblack2k/SGM-Helper written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/joeblack2k/SGM-Helper on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/joeblack2k/SGM-Helper 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tabwriter v1.4.1 [INFO] [stderr] Downloaded md5 v0.8.0 [INFO] [stderr] Downloaded stringmetrics v2.2.2 [INFO] [stderr] Downloaded async-object-pool v0.2.0 [INFO] [stderr] Downloaded path-tree v0.8.3 [INFO] [stderr] Downloaded assert_cmd v2.2.1 [INFO] [stderr] Downloaded httpmock v0.8.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6a34ba276a5edb6f76a25849ef06901c15354fdefaa2db3cf2ea773583666433 [INFO] running `Command { std: "docker" "start" "-a" "6a34ba276a5edb6f76a25849ef06901c15354fdefaa2db3cf2ea773583666433", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a34ba276a5edb6f76a25849ef06901c15354fdefaa2db3cf2ea773583666433", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a34ba276a5edb6f76a25849ef06901c15354fdefaa2db3cf2ea773583666433", kill_on_drop: false }` [INFO] [stdout] 6a34ba276a5edb6f76a25849ef06901c15354fdefaa2db3cf2ea773583666433 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 54f429cf99b1cda58bf80b7ef325d4712c4b49af8136eef42ab04f2a09aba1e2 [INFO] running `Command { std: "docker" "start" "-a" "54f429cf99b1cda58bf80b7ef325d4712c4b49af8136eef42ab04f2a09aba1e2", kill_on_drop: false }` [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling rustls v0.23.38 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling webpki-roots v1.0.7 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling md5 v0.8.0 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling tokio v1.52.1 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling sgm-windows-helper v0.4.16 (/opt/rustwide/workdir/helpers/windows) [INFO] [stderr] Compiling sgm-mister-helper v0.4.16 (/opt/rustwide/workdir/helpers/mister) [INFO] [stderr] Compiling sgm-steamdeck-helper v0.4.16 (/opt/rustwide/workdir/helpers/steamdeck) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.06s [INFO] running `Command { std: "docker" "inspect" "54f429cf99b1cda58bf80b7ef325d4712c4b49af8136eef42ab04f2a09aba1e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54f429cf99b1cda58bf80b7ef325d4712c4b49af8136eef42ab04f2a09aba1e2", kill_on_drop: false }` [INFO] [stdout] 54f429cf99b1cda58bf80b7ef325d4712c4b49af8136eef42ab04f2a09aba1e2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bcb4023ec7e1bacbe974edf6718a2cb4b548e76f877556a825bd9cecd20d90c7 [INFO] running `Command { std: "docker" "start" "-a" "bcb4023ec7e1bacbe974edf6718a2cb4b548e76f877556a825bd9cecd20d90c7", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling assert_cmd v2.2.1 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling tabwriter v1.4.1 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling path-tree v0.8.3 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling stringmetrics v2.2.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling async-object-pool v0.2.0 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling tokio v1.52.1 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling serde_regex v1.1.0 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling headers-core v0.3.0 [INFO] [stderr] Compiling headers v0.4.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling httpmock v0.8.3 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling sgm-mister-helper v0.4.16 (/opt/rustwide/workdir/helpers/mister) [INFO] [stderr] Compiling sgm-steamdeck-helper v0.4.16 (/opt/rustwide/workdir/helpers/steamdeck) [INFO] [stderr] Compiling sgm-windows-helper v0.4.16 (/opt/rustwide/workdir/helpers/windows) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 18s [INFO] running `Command { std: "docker" "inspect" "bcb4023ec7e1bacbe974edf6718a2cb4b548e76f877556a825bd9cecd20d90c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bcb4023ec7e1bacbe974edf6718a2cb4b548e76f877556a825bd9cecd20d90c7", kill_on_drop: false }` [INFO] [stdout] bcb4023ec7e1bacbe974edf6718a2cb4b548e76f877556a825bd9cecd20d90c7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3a8d8919651a032875429d66d22141ee8d7cb91a40b98ad3d726afa6643bf9c7 [INFO] running `Command { std: "docker" "start" "-a" "3a8d8919651a032875429d66d22141ee8d7cb91a40b98ad3d726afa6643bf9c7", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sgm_mister_helper-16130a82a4538fbe) [INFO] [stdout] [INFO] [stdout] running 97 tests [INFO] [stdout] test backend_config::tests::backend_policy_accepts_ui_string_and_null_values ... ok [INFO] [stdout] test backend_config::tests::backend_policy_can_disable_source_and_override_runtime_flags ... ok [INFO] [stdout] test backend_config::tests::backend_policy_applies_to_manual_sources ... ok [INFO] [stdout] test config::tests::bool_and_int_parsing ... ok [INFO] [stdout] test config::tests::ini_parser_accepts_quoted_values ... ok [INFO] [stdout] test config::tests::base_url_is_built_from_url_and_port ... ok [INFO] [stdout] test config::tests::precedence_cli_over_env_over_ini_over_default ... ok [INFO] [stdout] test config::tests::ini_parser_ignores_source_sections_for_global_values ... ok [INFO] [stdout] test scanner::tests::dreamcast_nvmem_blob_is_rejected ... ok [INFO] [stdout] test scanner::tests::empty_saturn_backup_ram_is_not_classified ... ok [INFO] [stdout] test scanner::tests::empty_dreamcast_vmu_reports_skip_reason ... ok [INFO] [stdout] test scanner::tests::neogeo_mister_backup_ram_size_is_supported_when_non_blank ... ok [INFO] [stdout] test scanner::tests::dreamcast_vmu_path_hints_are_supported_and_enriched ... ok [INFO] [stdout] test scanner::tests::empty_dreamcast_vmu_is_not_classified ... ok [INFO] [stdout] test scanner::tests::empty_saturn_backup_ram_reports_skip_reason ... ok [INFO] [stdout] test scanner::tests::ps1_dexdrive_is_normalized_for_sync ... ok [INFO] [stdout] test scanner::tests::neogeo_blank_backup_ram_is_rejected ... ok [INFO] [stdout] test scanner::tests::n64_blank_eeprom_is_rejected ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_controller_pak_is_supported ... ok [INFO] [stdout] test scanner::tests::n64_blank_controller_pak_is_rejected ... ok [INFO] [stdout] test scanner::tests::infer_system_slug_from_path ... ok [INFO] [stdout] test scanner::tests::scanner_finds_supported_save_files ... ok [INFO] [stdout] test scanner::tests::n64_blank_flashram_is_rejected ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_cpk_controller_pak_is_supported ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_native_media_is_supported ... ok [INFO] [stdout] test scanner::tests::invalid_wii_data_bin_is_rejected_even_with_wii_path_hint ... ok [INFO] [stdout] test scanner::tests::rom_extension_32x_can_classify_supported_console ... ok [INFO] [stdout] test scanner::tests::non_ps1_saves_use_identity_adapter ... ok [INFO] [stdout] test scanner::tests::sony_path_hints_are_supported ... ok [INFO] [stdout] test scanner::tests::rom_extension_can_classify_supported_console ... ok [INFO] [stdout] test scanner::tests::save_path_hint_wins_over_wrong_same_stem_rom_match ... ok [INFO] [stdout] test scanner::tests::n64_retroarch_combined_srm_is_supported ... ok [INFO] [stdout] test scheduler::tests::builds_sync_command_with_config ... ok [INFO] [stdout] test service::tests::builds_service_run_command_with_config_and_intervals ... ok [INFO] [stdout] test scheduler::tests::cron_marker_is_stable ... ok [INFO] [stdout] test sources::tests::helper_device_type_matches_backend_identity_names ... ok [INFO] [stdout] test sources::tests::parses_source_sections_from_config ... ok [INFO] [stdout] test sources::tests::profile_defaults_to_kind_mapping_when_omitted ... ok [INFO] [stdout] test sources::tests::default_mister_source_uses_media_fat_layout ... ok [INFO] [stdout] test scanner::tests::text_files_are_rejected_even_with_save_extension ... ok [INFO] [stdout] test sources::tests::default_mister_systems_exclude_non_mister_consoles ... ok [INFO] [stdout] test sources::tests::detects_emudeck_root_from_candidates ... ok [INFO] [stdout] test state::tests::can_store_sessions_per_base_url ... ok [INFO] [stdout] test backend_config::tests::backend_disabled_source_is_persisted_as_none_systems ... ok [INFO] [stdout] test scanner::tests::unsupported_extension_is_rejected ... ok [INFO] [stdout] test backend_config::tests::backend_policy_writes_new_source_and_globals_to_config_ini ... ok [INFO] [stdout] test scanner::tests::valid_saturn_backup_ram_has_no_skip_reason ... ok [INFO] [stdout] test scanner::tests::unsupported_paths_are_not_classified ... ok [INFO] [stdout] test state::tests::legacy_sync_state_without_adapter_fields_still_loads ... ok [INFO] [stdout] test scanner::tests::ps1_vmp_roundtrip_conversion_works ... ok [INFO] [stdout] test syncer::tests::cloud_restore_keeps_single_system_emulator_root_direct ... ok [INFO] [stdout] test state::tests::corrupt_state_is_reset_and_backed_up ... ok [INFO] [stdout] test syncer::tests::cloud_restore_prefers_mister_directory_casing_over_generic_alias ... ok [INFO] [stdout] test scanner::tests::valid_dreamcast_vmu_has_no_skip_reason ... ok [INFO] [stdout] test sources::tests::strip_and_render_replaces_source_sections_only ... ok [INFO] [stdout] test syncer::tests::cloud_restore_prechecks_retroarch_preferred_extension_before_download ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_mister_snes_sav_even_when_backend_profile_is_srm ... ok [INFO] [stdout] test syncer::tests::cloud_restore_reads_wii_title_code_from_backend_metadata ... ok [INFO] [stdout] test syncer::tests::does_not_rewrite_non_native_container ... ok [INFO] [stdout] test syncer::tests::dreamcast_line_key_uses_slot_and_device ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_mister_n64_controller_pak_cpk ... ok [INFO] [stdout] test syncer::tests::detects_unavailable_playstation_projection ... ok [INFO] [stdout] test syncer::tests::detects_missing_cloud_payload_reference ... ok [INFO] [stdout] test syncer::tests::detects_legacy_n64_latest_payload_mismatch ... ok [INFO] [stdout] test service::tests::heartbeat_payload_redacts_secret_and_exposes_sensors ... ok [INFO] [stdout] test syncer::tests::infers_n64_project64_profile_from_path ... ok [INFO] [stdout] test syncer::tests::infers_playstation_slot_from_path_with_default ... ok [INFO] [stdout] test syncer::tests::keeps_native_n64_cpk_extension_on_download_path ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_for_everdrive_profile ... ok [INFO] [stdout] test syncer::tests::n64_unknown_size_has_no_forced_extension ... ok [INFO] [stdout] test syncer::tests::n64_cpk_upload_filename_keeps_cpk ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_on_mister_by_size ... ok [INFO] [stdout] test syncer::tests::prefers_sav_for_mister_snes ... ok [INFO] [stdout] test scanner::tests::wii_data_bin_is_supported_with_title_code_from_parent_folder ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_for_non_mister_sources ... ok [INFO] [stdout] test syncer::tests::prefers_srm_for_retroarch_snes ... ok [INFO] [stdout] test syncer::tests::keeps_native_n64_mpk_extension_on_download_path ... ok [INFO] [stdout] test syncer::tests::retries_n64_mister_cpk_for_legacy_backend_upload_form ... ok [INFO] [stdout] test syncer::tests::parses_playstation_slot_aliases ... ok [INFO] [stdout] test syncer::tests::prefers_cartridge_mapping_for_sega_cd_and_32x ... ok [INFO] [stdout] test syncer::tests::rewrites_native_save_to_preferred_extension ... ok [INFO] [stdout] test syncer::tests::runtime_target_returns_empty_for_non_projection_systems ... ok [INFO] [stdout] test syncer::tests::detects_empty_n64_controller_pak_rejection ... ok [INFO] [stdout] test syncer::tests::runtime_target_maps_retroarch_snes_to_backend_profile_id ... ok [INFO] [stdout] test syncer::tests::runtime_target_maps_saturn_to_saturn_format_alias ... ok [INFO] [stdout] test syncer::tests::prefers_srm_for_zsnes_profile ... ok [INFO] [stdout] test syncer::tests::runtime_target_uses_explicit_n64_profile_key ... ok [INFO] [stdout] test syncer::tests::runtime_target_supports_n64_project64_profile ... ok [INFO] [stdout] test syncer::tests::saturn_keeps_native_extension_without_forced_rewrite ... ok [INFO] [stdout] test syncer::tests::resolves_dreamcast_slot_from_path ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_wii_title_code_directory ... ok [INFO] [stdout] test syncer::tests::runtime_target_supports_n64_mupen_family_profile ... ok [INFO] [stdout] test syncer::tests::runtime_target_uses_profile_based_runtime_for_snes ... ok [INFO] [stdout] test syncer::tests::wii_slot_and_line_key_use_title_code ... ok [INFO] [stdout] test syncer::tests::source_system_policy_allows_only_configured_slugs ... ok [INFO] [stdout] test syncer::tests::system_profile_key_handles_hyphenated_slugs ... ok [INFO] [stdout] test syncer::tests::target_parent_policy_blocks_missing_system_folders ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 97 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sgm_mister_helper-33d7490f1e1f4a51) [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] Running tests/api_contract.rs (/opt/rustwide/target/debug/deps/api_contract-8f6bacb9888c1820) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test login_with_password_uses_login_and_token_endpoints ... ok [INFO] [stdout] test sync_auto_enrolls_when_gate_is_open_without_login ... ok [INFO] [stdout] test sync_reports_conflict_when_backend_marks_conflict ... ok [INFO] [stdout] test sync_uploads_when_no_cloud_save_exists ... ok [INFO] [stdout] test login_with_app_password_persists_token ... ok [INFO] [stdout] test sync_accepts_ps1_gme_and_uploads_normalized_payload ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Running tests/e2e_smoke.rs (/opt/rustwide/target/debug/deps/e2e_smoke-13f0fc4aab968366) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test convert_ps1_raw_to_gme_and_back_roundtrip ... ok [INFO] [stdout] test login_fails_when_backend_is_unreachable ... ok [INFO] [stdout] test sync_restores_missing_file_from_cloud_using_saved_adapter_metadata ... ok [INFO] [stdout] test watch_smoke_persists_state_and_exits_with_max_cycles ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.22s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sgm_steamdeck_helper-fd3eb796cb11295d) [INFO] [stdout] [INFO] [stdout] running 100 tests [INFO] [stdout] test backend_config::tests::backend_policy_applies_to_manual_sources ... ok [INFO] [stdout] test backend_config::tests::backend_policy_accepts_ui_string_and_null_values ... ok [INFO] [stdout] test config::tests::base_url_is_built_from_url_and_port ... ok [INFO] [stdout] test config::tests::ini_parser_ignores_source_sections_for_global_values ... ok [INFO] [stdout] test backend_config::tests::backend_policy_can_disable_source_and_override_runtime_flags ... ok [INFO] [stdout] test config::tests::ini_parser_accepts_quoted_values ... ok [INFO] [stdout] test config::tests::bool_and_int_parsing ... ok [INFO] [stdout] test config::tests::precedence_cli_over_env_over_ini_over_default ... ok [INFO] [stdout] test backend_config::tests::backend_disabled_source_is_persisted_as_none_systems ... ok [INFO] [stdout] test scanner::tests::n64_blank_eeprom_is_rejected ... ok [INFO] [stdout] test scanner::tests::empty_saturn_backup_ram_reports_skip_reason ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_controller_pak_is_supported ... ok [INFO] [stdout] test scanner::tests::n64_blank_controller_pak_is_rejected ... ok [INFO] [stdout] test scanner::tests::invalid_wii_data_bin_is_rejected_even_with_wii_path_hint ... ok [INFO] [stdout] test backend_config::tests::backend_policy_writes_new_source_and_globals_to_config_ini ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_cpk_controller_pak_is_supported ... ok [INFO] [stdout] test scanner::tests::neogeo_blank_backup_ram_is_rejected ... ok [INFO] [stdout] test scanner::tests::n64_retroarch_combined_srm_is_supported ... ok [INFO] [stdout] test scanner::tests::neogeo_mister_backup_ram_size_is_supported_when_non_blank ... ok [INFO] [stdout] test scanner::tests::non_ps1_saves_use_identity_adapter ... ok [INFO] [stdout] test scanner::tests::empty_saturn_backup_ram_is_not_classified ... ok [INFO] [stdout] test ports::tests::discovers_known_progress_saves_and_excludes_assets ... ok [INFO] [stdout] test scanner::tests::ps1_dexdrive_is_normalized_for_sync ... ok [INFO] [stdout] test scanner::tests::n64_blank_flashram_is_rejected ... ok [INFO] [stdout] test scanner::tests::empty_dreamcast_vmu_reports_skip_reason ... ok [INFO] [stdout] test scanner::tests::rom_extension_can_classify_supported_console ... ok [INFO] [stdout] test scanner::tests::unsupported_extension_is_rejected ... ok [INFO] [stdout] test scanner::tests::empty_dreamcast_vmu_is_not_classified ... ok [INFO] [stdout] test scanner::tests::scanner_finds_supported_save_files ... ok [INFO] [stdout] test scanner::tests::unsupported_paths_are_not_classified ... ok [INFO] [stdout] test scheduler::tests::builds_sync_command_with_config ... ok [INFO] [stdout] test scheduler::tests::cron_marker_is_stable ... ok [INFO] [stdout] test scanner::tests::text_files_are_rejected_even_with_save_extension ... ok [INFO] [stdout] test service::tests::builds_service_run_command_with_config_and_intervals ... ok [INFO] [stdout] test scanner::tests::rom_extension_32x_can_classify_supported_console ... ok [INFO] [stdout] test scanner::tests::sony_path_hints_are_supported ... ok [INFO] [stdout] test sources::tests::default_mister_systems_exclude_non_mister_consoles ... ok [INFO] [stdout] test scanner::tests::valid_saturn_backup_ram_has_no_skip_reason ... ok [INFO] [stdout] test scanner::tests::dreamcast_nvmem_blob_is_rejected ... ok [INFO] [stdout] test scanner::tests::save_path_hint_wins_over_wrong_same_stem_rom_match ... ok [INFO] [stdout] test scanner::tests::dreamcast_vmu_path_hints_are_supported_and_enriched ... ok [INFO] [stdout] test service::tests::heartbeat_payload_redacts_secret_and_exposes_sensors ... ok [INFO] [stdout] test sources::tests::detects_emudeck_root_from_candidates ... ok [INFO] [stdout] test sources::tests::helper_device_type_matches_backend_identity_names ... ok [INFO] [stdout] test sources::tests::default_steamdeck_source_uses_compatdata_layout ... ok [INFO] [stdout] test syncer::tests::cloud_restore_prechecks_retroarch_preferred_extension_before_download ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_native_media_is_supported ... ok [INFO] [stdout] test scanner::tests::valid_dreamcast_vmu_has_no_skip_reason ... ok [INFO] [stdout] test sources::tests::profile_defaults_to_kind_mapping_when_omitted ... ok [INFO] [stdout] test sources::tests::strip_and_render_replaces_source_sections_only ... ok [INFO] [stdout] test sources::tests::migrates_legacy_sources_json_into_config ... ok [INFO] [stdout] test syncer::tests::cloud_restore_reads_wii_title_code_from_backend_metadata ... ok [INFO] [stdout] test sources::tests::first_run_autoscan_writes_managed_source_blocks ... ok [INFO] [stdout] test state::tests::corrupt_state_is_reset_and_backed_up ... ok [INFO] [stdout] test state::tests::can_store_sessions_per_base_url ... ok [INFO] [stdout] test syncer::tests::cloud_restore_prefers_mister_directory_casing_over_generic_alias ... ok [INFO] [stdout] test scanner::tests::infer_system_slug_from_path ... ok [INFO] [stdout] test state::tests::legacy_sync_state_without_adapter_fields_still_loads ... ok [INFO] [stdout] test syncer::tests::cloud_restore_keeps_single_system_emulator_root_direct ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_mister_n64_controller_pak_cpk ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_wii_title_code_directory ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_mister_snes_sav_even_when_backend_profile_is_srm ... ok [INFO] [stdout] test syncer::tests::detects_empty_n64_controller_pak_rejection ... ok [INFO] [stdout] test syncer::tests::detects_legacy_n64_latest_payload_mismatch ... ok [INFO] [stdout] test syncer::tests::detects_unavailable_playstation_projection ... ok [INFO] [stdout] test syncer::tests::detects_missing_cloud_payload_reference ... ok [INFO] [stdout] test syncer::tests::does_not_rewrite_non_native_container ... ok [INFO] [stdout] test syncer::tests::dreamcast_line_key_uses_slot_and_device ... ok [INFO] [stdout] test syncer::tests::infers_n64_project64_profile_from_path ... ok [INFO] [stdout] test syncer::tests::keeps_native_n64_cpk_extension_on_download_path ... ok [INFO] [stdout] test syncer::tests::keeps_native_n64_mpk_extension_on_download_path ... ok [INFO] [stdout] test syncer::tests::n64_unknown_size_has_no_forced_extension ... ok [INFO] [stdout] test syncer::tests::parses_playstation_slot_aliases ... ok [INFO] [stdout] test syncer::tests::infers_playstation_slot_from_path_with_default ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_for_everdrive_profile ... ok [INFO] [stdout] test syncer::tests::prefers_sav_for_mister_snes ... ok [INFO] [stdout] test syncer::tests::prefers_srm_for_zsnes_profile ... ok [INFO] [stdout] test syncer::tests::prefers_srm_for_retroarch_snes ... ok [INFO] [stdout] test syncer::tests::n64_cpk_upload_filename_keeps_cpk ... ok [INFO] [stdout] test syncer::tests::resolves_dreamcast_slot_from_path ... ok [INFO] [stdout] test syncer::tests::runtime_target_maps_retroarch_snes_to_backend_profile_id ... ok [INFO] [stdout] test syncer::tests::runtime_target_maps_saturn_to_saturn_format_alias ... ok [INFO] [stdout] test syncer::tests::runtime_target_returns_empty_for_non_projection_systems ... ok [INFO] [stdout] test syncer::tests::runtime_target_supports_n64_mupen_family_profile ... ok [INFO] [stdout] test syncer::tests::runtime_target_supports_n64_project64_profile ... ok [INFO] [stdout] test syncer::tests::retries_n64_mister_cpk_for_legacy_backend_upload_form ... ok [INFO] [stdout] test syncer::tests::prefers_cartridge_mapping_for_sega_cd_and_32x ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_for_non_mister_sources ... ok [INFO] [stdout] test syncer::tests::rewrites_native_save_to_preferred_extension ... ok [INFO] [stdout] test scanner::tests::ps1_vmp_roundtrip_conversion_works ... ok [INFO] [stdout] test syncer::tests::runtime_target_uses_profile_based_runtime_for_snes ... ok [INFO] [stdout] test syncer::tests::runtime_target_uses_explicit_n64_profile_key ... ok [INFO] [stdout] test syncer::tests::saturn_keeps_native_extension_without_forced_rewrite ... ok [INFO] [stdout] test syncer::tests::source_system_policy_allows_only_configured_slugs ... ok [INFO] [stdout] test sources::tests::parses_source_sections_from_config ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_on_mister_by_size ... ok [INFO] [stdout] test syncer::tests::wii_slot_and_line_key_use_title_code ... ok [INFO] [stdout] test syncer::tests::target_parent_policy_blocks_missing_system_folders ... ok [INFO] [stdout] test syncer::tests::system_profile_key_handles_hyphenated_slugs ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sgm_steamdeck_helper-feaee76479557243) [INFO] [stdout] test scanner::tests::wii_data_bin_is_supported_with_title_code_from_parent_folder ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 100 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Running tests/api_contract.rs (/opt/rustwide/target/debug/deps/api_contract-bc1819520c87d0ab) [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 6 tests [INFO] [stdout] test login_with_password_uses_login_and_token_endpoints ... ok [INFO] [stdout] test login_with_app_password_persists_token ... ok [INFO] [stdout] test sync_auto_enrolls_when_gate_is_open_without_login ... ok [INFO] [stdout] test sync_reports_conflict_when_backend_marks_conflict ... ok [INFO] [stdout] test sync_uploads_when_no_cloud_save_exists ... ok [INFO] [stdout] test sync_accepts_ps1_gme_and_uploads_normalized_payload ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stderr] Running tests/e2e_smoke.rs (/opt/rustwide/target/debug/deps/e2e_smoke-922182329971977e) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test login_fails_when_backend_is_unreachable ... ok [INFO] [stdout] test convert_ps1_raw_to_gme_and_back_roundtrip ... ok [INFO] [stdout] test cloud_restore_skips_download_when_preferred_local_file_exists ... ok [INFO] [stdout] test sync_restores_missing_file_from_cloud_using_saved_adapter_metadata ... ok [INFO] [stdout] test sync_uses_latest_track_context_without_duplicate_upload ... ok [INFO] [stdout] test watch_smoke_persists_state_and_exits_with_max_cycles ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sgm_windows_helper-a0ee58783c4cc026) [INFO] [stdout] [INFO] [stdout] running 97 tests [INFO] [stdout] test backend_config::tests::backend_policy_applies_to_manual_sources ... ok [INFO] [stdout] test backend_config::tests::backend_policy_accepts_ui_string_and_null_values ... ok [INFO] [stdout] test backend_config::tests::backend_policy_can_disable_source_and_override_runtime_flags ... ok [INFO] [stdout] test config::tests::base_url_is_built_from_url_and_port ... ok [INFO] [stdout] test config::tests::bool_and_int_parsing ... ok [INFO] [stdout] test config::tests::ini_parser_accepts_quoted_values ... ok [INFO] [stdout] test config::tests::precedence_cli_over_env_over_ini_over_default ... ok [INFO] [stdout] test config::tests::ini_parser_ignores_source_sections_for_global_values ... ok [INFO] [stdout] test backend_config::tests::backend_disabled_source_is_persisted_as_none_systems ... ok [INFO] [stdout] test backend_config::tests::backend_policy_writes_new_source_and_globals_to_config_ini ... ok [INFO] [stdout] test scanner::tests::empty_saturn_backup_ram_reports_skip_reason ... ok [INFO] [stdout] test scanner::tests::n64_blank_controller_pak_is_rejected ... ok [INFO] [stdout] test scanner::tests::empty_saturn_backup_ram_is_not_classified ... ok [INFO] [stdout] test scanner::tests::empty_dreamcast_vmu_reports_skip_reason ... ok [INFO] [stdout] test scanner::tests::empty_dreamcast_vmu_is_not_classified ... ok [INFO] [stdout] test scanner::tests::n64_blank_flashram_is_rejected ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_cpk_controller_pak_is_supported ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_native_media_is_supported ... ok [INFO] [stdout] test scanner::tests::n64_non_blank_controller_pak_is_supported ... ok [INFO] [stdout] test scanner::tests::infer_system_slug_from_path ... ok [INFO] [stdout] test scanner::tests::n64_retroarch_combined_srm_is_supported ... ok [INFO] [stdout] test scanner::tests::neogeo_blank_backup_ram_is_rejected ... ok [INFO] [stdout] test scanner::tests::dreamcast_vmu_path_hints_are_supported_and_enriched ... ok [INFO] [stdout] test scanner::tests::dreamcast_nvmem_blob_is_rejected ... ok [INFO] [stdout] test scanner::tests::n64_blank_eeprom_is_rejected ... ok [INFO] [stdout] test scanner::tests::unsupported_paths_are_not_classified ... ok [INFO] [stdout] test scanner::tests::non_ps1_saves_use_identity_adapter ... ok [INFO] [stdout] test scheduler::tests::cron_marker_is_stable ... ok [INFO] [stdout] test scanner::tests::neogeo_mister_backup_ram_size_is_supported_when_non_blank ... ok [INFO] [stdout] test service::tests::builds_service_run_command_with_config_and_intervals ... ok [INFO] [stdout] test scanner::tests::scanner_finds_supported_save_files ... ok [INFO] [stdout] test scanner::tests::unsupported_extension_is_rejected ... ok [INFO] [stdout] test scanner::tests::rom_extension_can_classify_supported_console ... ok [INFO] [stdout] test scanner::tests::ps1_dexdrive_is_normalized_for_sync ... ok [INFO] [stdout] test scanner::tests::valid_dreamcast_vmu_has_no_skip_reason ... ok [INFO] [stdout] test scanner::tests::rom_extension_32x_can_classify_supported_console ... ok [INFO] [stdout] test scanner::tests::text_files_are_rejected_even_with_save_extension ... ok [INFO] [stdout] test sources::tests::default_mister_systems_exclude_non_mister_consoles ... ok [INFO] [stdout] test sources::tests::helper_device_type_matches_backend_identity_names ... ok [INFO] [stdout] test sources::tests::profile_defaults_to_kind_mapping_when_omitted ... ok [INFO] [stdout] test sources::tests::strip_and_render_replaces_source_sections_only ... ok [INFO] [stdout] test sources::tests::parses_source_sections_from_config ... ok [INFO] [stdout] test scanner::tests::sony_path_hints_are_supported ... ok [INFO] [stdout] test sources::tests::detects_emudeck_root_from_candidates ... ok [INFO] [stdout] test sources::tests::default_windows_source_uses_save_layout ... ok [INFO] [stdout] test service::tests::heartbeat_payload_redacts_secret_and_exposes_sensors ... ok [INFO] [stdout] test scanner::tests::valid_saturn_backup_ram_has_no_skip_reason ... ok [INFO] [stdout] test scheduler::tests::builds_sync_command_with_config ... ok [INFO] [stdout] test syncer::tests::cloud_restore_keeps_single_system_emulator_root_direct ... ok [INFO] [stdout] test syncer::tests::cloud_restore_prechecks_retroarch_preferred_extension_before_download ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_mister_n64_controller_pak_cpk ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_wii_title_code_directory ... ok [INFO] [stdout] test syncer::tests::cloud_restore_reads_wii_title_code_from_backend_metadata ... ok [INFO] [stdout] test syncer::tests::cloud_restore_targets_mister_snes_sav_even_when_backend_profile_is_srm ... ok [INFO] [stdout] test syncer::tests::does_not_rewrite_non_native_container ... ok [INFO] [stdout] test syncer::tests::detects_empty_n64_controller_pak_rejection ... ok [INFO] [stdout] test syncer::tests::detects_unavailable_playstation_projection ... ok [INFO] [stdout] test syncer::tests::detects_legacy_n64_latest_payload_mismatch ... ok [INFO] [stdout] test syncer::tests::detects_missing_cloud_payload_reference ... ok [INFO] [stdout] test scanner::tests::save_path_hint_wins_over_wrong_same_stem_rom_match ... ok [INFO] [stdout] test state::tests::legacy_sync_state_without_adapter_fields_still_loads ... ok [INFO] [stdout] test syncer::tests::cloud_restore_prefers_mister_directory_casing_over_generic_alias ... ok [INFO] [stdout] test syncer::tests::dreamcast_line_key_uses_slot_and_device ... ok [INFO] [stdout] test syncer::tests::infers_n64_project64_profile_from_path ... ok [INFO] [stdout] test syncer::tests::infers_playstation_slot_from_path_with_default ... ok [INFO] [stdout] test syncer::tests::n64_unknown_size_has_no_forced_extension ... ok [INFO] [stdout] test syncer::tests::prefers_cartridge_mapping_for_sega_cd_and_32x ... ok [INFO] [stdout] test syncer::tests::keeps_native_n64_cpk_extension_on_download_path ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_for_everdrive_profile ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_on_mister_by_size ... ok [INFO] [stdout] test syncer::tests::prefers_sav_for_mister_snes ... ok [INFO] [stdout] test syncer::tests::prefers_srm_for_retroarch_snes ... ok [INFO] [stdout] test syncer::tests::prefers_srm_for_zsnes_profile ... ok [INFO] [stdout] test syncer::tests::resolves_dreamcast_slot_from_path ... ok [INFO] [stdout] test syncer::tests::retries_n64_mister_cpk_for_legacy_backend_upload_form ... ok [INFO] [stdout] test syncer::tests::runtime_target_maps_retroarch_snes_to_backend_profile_id ... ok [INFO] [stdout] test syncer::tests::rewrites_native_save_to_preferred_extension ... ok [INFO] [stdout] test syncer::tests::runtime_target_supports_n64_mupen_family_profile ... ok [INFO] [stdout] test syncer::tests::runtime_target_returns_empty_for_non_projection_systems ... ok [INFO] [stdout] test syncer::tests::runtime_target_uses_profile_based_runtime_for_snes ... ok [INFO] [stdout] test syncer::tests::runtime_target_supports_n64_project64_profile ... ok [INFO] [stdout] test state::tests::can_store_sessions_per_base_url ... ok [INFO] [stdout] test syncer::tests::runtime_target_uses_explicit_n64_profile_key ... ok [INFO] [stdout] test syncer::tests::parses_playstation_slot_aliases ... ok [INFO] [stdout] test syncer::tests::keeps_native_n64_mpk_extension_on_download_path ... ok [INFO] [stdout] test syncer::tests::runtime_target_maps_saturn_to_saturn_format_alias ... ok [INFO] [stdout] test syncer::tests::saturn_keeps_native_extension_without_forced_rewrite ... ok [INFO] [stdout] test syncer::tests::n64_cpk_upload_filename_keeps_cpk ... ok [INFO] [stdout] test syncer::tests::source_system_policy_allows_only_configured_slugs ... ok [INFO] [stdout] test syncer::tests::system_profile_key_handles_hyphenated_slugs ... ok [INFO] [stdout] test syncer::tests::wii_slot_and_line_key_use_title_code ... ok [INFO] [stdout] test syncer::tests::target_parent_policy_blocks_missing_system_folders ... ok [INFO] [stdout] test state::tests::corrupt_state_is_reset_and_backed_up ... ok [INFO] [stdout] test scanner::tests::invalid_wii_data_bin_is_rejected_even_with_wii_path_hint ... ok [INFO] [stdout] test scanner::tests::wii_data_bin_is_supported_with_title_code_from_parent_folder ... ok [INFO] [stdout] test scanner::tests::ps1_vmp_roundtrip_conversion_works ... ok [INFO] [stdout] test syncer::tests::prefers_n64_native_extension_for_non_mister_sources ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 97 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sgm_windows_helper-d995540138fc97d2) [INFO] [stderr] Running tests/api_contract.rs (/opt/rustwide/target/debug/deps/api_contract-e7b6601b45377443) [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 6 tests [INFO] [stdout] test login_with_app_password_persists_token ... ok [INFO] [stdout] test sync_reports_conflict_when_backend_marks_conflict ... ok [INFO] [stdout] test login_with_password_uses_login_and_token_endpoints ... ok [INFO] [stdout] test sync_auto_enrolls_when_gate_is_open_without_login ... ok [INFO] [stdout] test sync_accepts_ps1_gme_and_uploads_normalized_payload ... ok [INFO] [stderr] Running tests/e2e_smoke.rs (/opt/rustwide/target/debug/deps/e2e_smoke-1bfeef74aae8bfa9) [INFO] [stdout] test sync_uploads_when_no_cloud_save_exists ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test convert_ps1_raw_to_gme_and_back_roundtrip ... ok [INFO] [stdout] test login_fails_when_backend_is_unreachable ... ok [INFO] [stdout] test sync_restores_missing_file_from_cloud_using_saved_adapter_metadata ... ok [INFO] [stdout] test watch_smoke_persists_state_and_exits_with_max_cycles ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.06s [INFO] [stdout] [INFO] [stderr] Doc-tests sgm_mister_helper [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 sgm_steamdeck_helper [INFO] [stdout] [INFO] [stderr] Doc-tests sgm_windows_helper [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 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" "3a8d8919651a032875429d66d22141ee8d7cb91a40b98ad3d726afa6643bf9c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a8d8919651a032875429d66d22141ee8d7cb91a40b98ad3d726afa6643bf9c7", kill_on_drop: false }` [INFO] [stdout] 3a8d8919651a032875429d66d22141ee8d7cb91a40b98ad3d726afa6643bf9c7