[INFO] cloning repository https://github.com/Leonqn/mview [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Leonqn/mview" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeonqn%2Fmview", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeonqn%2Fmview'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 698c8eb4a60a4b7c90fad8b74413f0ba20c98fd0 [INFO] testing Leonqn/mview 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%2FLeonqn%2Fmview" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Leonqn/mview [INFO] finished tweaking git repo https://github.com/Leonqn/mview [INFO] tweaked toml for git repo https://github.com/Leonqn/mview written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Leonqn/mview 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/Leonqn/mview 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 teloxide-macros v0.8.0 [INFO] [stderr] Downloaded teloxide v0.13.0 [INFO] [stderr] Downloaded rc-box v1.3.0 [INFO] [stderr] Downloaded erasable v1.3.0 [INFO] [stderr] Downloaded dptree v0.3.0 [INFO] [stderr] Downloaded iri-string v0.7.11 [INFO] [stderr] Downloaded selectors v0.26.0 [INFO] [stderr] Downloaded teloxide-core v0.10.1 [INFO] [stderr] Downloaded scraper v0.22.0 [INFO] [stderr] Downloaded cssparser v0.34.0 [INFO] [stderr] Downloaded r2d2_sqlite v0.25.0 [INFO] [stderr] Downloaded psl-types v2.0.11 [INFO] [stderr] Downloaded memo-map v0.3.3 [INFO] [stderr] Downloaded publicsuffix v2.3.0 [INFO] [stderr] Downloaded minijinja v2.18.0 [INFO] [stderr] Downloaded aquamarine v0.5.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] 6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b [INFO] running `Command { std: "docker" "start" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b", 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" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b" "/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" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b", 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" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling erasable v1.3.0 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling selectors v0.26.0 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling include_dir_macros v0.7.4 [INFO] [stderr] Compiling markup5ever v0.14.1 [INFO] [stderr] Compiling psl-types v2.0.11 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling include_dir v0.7.4 [INFO] [stderr] Compiling rc-box v1.3.0 [INFO] [stderr] Compiling scheduled-thread-pool v0.2.7 [INFO] [stderr] Compiling servo_arc v0.4.3 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling takecell v0.1.1 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling take_mut v0.2.2 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling r2d2 v0.8.10 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling memo-map v0.3.3 [INFO] [stderr] Compiling ego-tree v0.10.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Compiling darling_core v0.13.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling teloxide-macros v0.8.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling darling_macro v0.13.4 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Compiling darling v0.13.4 [INFO] [stderr] Compiling serde_with_macros v1.5.2 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling hashlink v0.9.1 [INFO] [stderr] Compiling cssparser v0.34.0 [INFO] [stderr] Compiling match_token v0.1.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling pin-project v1.1.11 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling aquamarine v0.5.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_with v1.14.0 [INFO] [stderr] Compiling minijinja v2.18.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling dptree v0.3.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling html5ever v0.29.1 [INFO] [stderr] Compiling scraper v0.22.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 publicsuffix v2.3.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling cookie_store v0.22.1 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling r2d2_sqlite v0.25.0 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling teloxide-core v0.10.1 [INFO] [stderr] Compiling teloxide v0.13.0 [INFO] [stderr] Compiling mview v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 08s [INFO] running `Command { std: "docker" "inspect" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b", 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" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b" "/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 bitflags v2.11.0 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling rusqlite v0.32.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling selectors v0.26.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling r2d2_sqlite v0.25.0 [INFO] [stderr] Compiling scraper v0.22.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling teloxide-core v0.10.1 [INFO] [stderr] Compiling teloxide v0.13.0 [INFO] [stderr] Compiling mview v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 55.27s [INFO] running `Command { std: "docker" "inspect" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b", 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" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b" "/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.55s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mview-2cb3f4e5c248ad56) [INFO] [stdout] [INFO] [stdout] running 213 tests [INFO] [stdout] test anilist::client::tests::test_find_sequel_ignores_prequel ... ok [INFO] [stdout] test anilist::client::tests::test_find_sequel_filters_non_anime ... ok [INFO] [stdout] test anilist::client::tests::test_find_sequel_includes_movie ... ok [INFO] [stdout] test anilist::client::tests::test_find_sequel_with_sequel ... ok [INFO] [stdout] test anilist::client::tests::test_parse_discover_response ... ok [INFO] [stdout] test anilist::client::tests::test_find_sequel_without_sequel ... ok [INFO] [stdout] test anilist::models::tests::test_deserialize_media_with_relations ... ok [INFO] [stdout] test anilist::models::tests::test_deserialize_search_response ... ok [INFO] [stdout] test anilist::models::tests::test_search_item_fallback_to_romaji ... ok [INFO] [stdout] test config::tests::test_load_config_file_not_found ... ok [INFO] [stdout] test config::tests::test_load_config_missing_required_field ... ok [INFO] [stdout] test config::tests::test_load_valid_config ... ok [INFO] [stdout] test anilist::models::tests::test_strip_html ... ok [INFO] [stdout] test anilist::models::tests::test_parsed_streaming_episodes ... ok [INFO] [stdout] test config::tests::test_load_config_with_defaults ... ok [INFO] [stdout] test anilist::models::tests::test_search_item_from_media ... ok [INFO] [stdout] test db::queries::tests::test_cascade_delete ... ok [INFO] [stdout] test db::queries::tests::test_get_torrent_by_id ... ok [INFO] [stdout] test db::queries::tests::test_notification_crud ... ok [INFO] [stdout] test plex::organizer::tests::test_companion_dest_path_label_only ... ok [INFO] [stdout] test plex::organizer::tests::test_companion_dest_path_no_info ... ok [INFO] [stdout] test plex::organizer::tests::test_companion_dest_path_with_lang ... ok [INFO] [stdout] test plex::organizer::tests::test_companion_dest_path_with_lang_and_label ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_english_folder ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_filename_eng ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_filename_lang ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_label_folder ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_lang_and_label ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_no_hints ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_russian_folder ... ok [INFO] [stdout] test plex::organizer::tests::test_detect_companion_info_unknown_lang_ignored ... ok [INFO] [stdout] test plex::organizer::tests::test_episode_dest_path_double_digit_season ... ok [INFO] [stdout] test plex::organizer::tests::test_episode_dest_path_sanitizes_special_chars ... ok [INFO] [stdout] test plex::organizer::tests::test_episode_dest_path_with_empty_title ... ok [INFO] [stdout] test plex::organizer::tests::test_episode_dest_path_with_title ... ok [INFO] [stdout] test plex::organizer::tests::test_episode_dest_path_without_title ... ok [INFO] [stdout] test plex::organizer::tests::test_is_companion_file ... ok [INFO] [stdout] test plex::organizer::tests::test_is_video_file ... ok [INFO] [stdout] test plex::organizer::tests::test_movie_dest_path_preserves_extension ... ok [INFO] [stdout] test plex::organizer::tests::test_movie_dest_path_sanitizes_special_chars ... ok [INFO] [stdout] test plex::organizer::tests::test_movie_dest_path_with_year ... ok [INFO] [stdout] test plex::organizer::tests::test_movie_dest_path_without_year ... ok [INFO] [stdout] test plex::organizer::tests::test_organize_file_creates_parent_dirs ... ok [INFO] [stdout] test plex::organizer::tests::test_organize_file_hardlink ... ok [INFO] [stdout] test plex::organizer::tests::test_organize_file_skips_existing ... ok [INFO] [stdout] test db::tests::test_migrations_idempotent ... ok [INFO] [stdout] test db::queries::tests::test_check_and_complete_season_all_downloaded ... ok [INFO] [stdout] test db::queries::tests::test_captcha_crud ... ok [INFO] [stdout] test db::queries::tests::test_season_crud ... ok [INFO] [stdout] test qbittorrent::client::tests::test_qbt_torrent_deserialization ... ok [INFO] [stdout] test qbittorrent::client::tests::test_qbt_torrent_file_deserialization ... ok [INFO] [stdout] test qbittorrent::client::tests::test_qbt_torrent_deserialization_missing_category ... ok [INFO] [stdout] test db::queries::tests::test_check_and_complete_season_not_all_downloaded ... ok [INFO] [stdout] test db::queries::tests::test_check_and_complete_season_future_episodes ... ok [INFO] [stdout] test rutracker::auth::tests::test_build_login_form_without_captcha ... ok [INFO] [stdout] test db::queries::tests::test_get_season_by_id ... ok [INFO] [stdout] test db::queries::tests::test_torrent_crud ... ok [INFO] [stdout] test db::tests::test_foreign_keys_enabled ... ok [INFO] [stdout] test rutracker::auth::tests::test_build_login_form_encodes_special_chars ... ok [INFO] [stdout] test rutracker::auth::tests::test_build_login_form_with_captcha ... ok [INFO] [stdout] test db::queries::tests::test_get_tracking_seasons_for_media ... ok [INFO] [stdout] test db::queries::tests::test_media_crud ... ok [INFO] [stdout] test db::queries::tests::test_episode_crud ... ok [INFO] [stdout] test db::tests::test_init_pool_in_memory ... ok [INFO] [stdout] test rutracker::client::tests::test_extract_captcha_url_absolute ... ok [INFO] [stdout] test rutracker::client::tests::test_extract_captcha_url_not_found ... ok [INFO] [stdout] test rutracker::client::tests::test_extract_captcha_sid_not_found ... ok [INFO] [stdout] test rutracker::client::tests::test_extract_captcha_url_found ... ok [INFO] [stdout] test rutracker::client::tests::test_extract_captcha_sid ... ok [INFO] [stdout] test rutracker::download::tests::test_download_url_construction ... ok [INFO] [stdout] test rutracker::monitor::tests::test_check_update_fallback_registered_at ... ok [INFO] [stdout] test rutracker::monitor::tests::test_check_update_no_info ... ok [INFO] [stdout] test rutracker::search::tests::test_extract_topic_id ... ok [INFO] [stdout] test rutracker::search::tests::test_is_audio_only_forum ... ok [INFO] [stdout] test rutracker::search::tests::test_parse_empty_results ... ok [INFO] [stdout] test rutracker::search::tests::test_parse_row_missing_optional_fields ... ok [INFO] [stdout] test rutracker::search::tests::test_parse_search_results ... ok [INFO] [stdout] test rutracker::monitor::tests::test_check_update_first_hash ... ok [INFO] [stdout] test rutracker::search::tests::test_sanitize_query ... ok [INFO] [stdout] test rutracker::monitor::tests::test_check_update_hash_changed ... ok [INFO] [stdout] test rutracker::monitor::tests::test_check_update_hash_unchanged ... ok [INFO] [stdout] test rutracker::topic::tests::test_extract_date_from_text ... ok [INFO] [stdout] test rutracker::topic::tests::test_extract_episode_info ... ok [INFO] [stdout] test rutracker::topic::tests::test_extract_link ... ok [INFO] [stdout] test rutracker::topic::tests::test_parse_topic_html ... ok [INFO] [stdout] test rutracker::topic::tests::test_parse_real_rutracker_html ... ok [INFO] [stdout] test rutracker::topic::tests::test_parse_topic_minimal_html ... ok [INFO] [stdout] test rutracker::topic::tests::test_extract_episode_info_from_brackets ... ok [INFO] [stdout] test rutracker::topic::tests::test_extract_quality ... ok [INFO] [stdout] test rutracker::torrent_file::tests::rejects_empty ... ok [INFO] [stdout] test rutracker::torrent_file::tests::rejects_non_torrent_html ... ok [INFO] [stdout] test rutracker::torrent_file::tests::parses_info_hash_and_name ... ok [INFO] [stdout] test search::tests::test_is_generic_season_name ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_bracketed_episode ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_episode_keyword ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_fallback_digit ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_none ... ok [INFO] [stdout] test search::tests::test_parse_anime_season_title ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_skips_resolution ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_sxxexx ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_strips_brackets_and_high_episodes ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_db_query_active_torrents_with_qbt_hash ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_is_completed_by_progress ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_extract_episode_number_zero ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_is_completed_seeding ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_sanitize_path_absolute ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_sanitize_path_normal ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_sanitize_path_traversal ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_sanitize_path_current_dir ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_is_completed_by_state ... ok [INFO] [stdout] test tasks::rutracker_check::tests::test_update_torrent_registered_at ... ok [INFO] [stdout] test rutracker::auth::tests::test_submit_captcha_no_pending ... ok [INFO] [stdout] test qbittorrent::client::tests::test_add_torrent_url_construction ... ok [INFO] [stdout] test rutracker::auth::tests::test_client_is_accessible ... ok [INFO] [stdout] test telegram::bot::tests::test_command_parse ... ok [INFO] [stdout] test telegram::notifications::tests::test_format_download_complete ... ok [INFO] [stdout] test telegram::notifications::tests::test_format_new_season ... ok [INFO] [stdout] test telegram::notifications::tests::test_format_torrent_update ... ok [INFO] [stdout] test tasks::tmdb_check::tests::test_notification_creation_for_new_season ... ok [INFO] [stdout] test tmdb::client::tests::test_parse_collection_json ... ok [INFO] [stdout] test tmdb::client::tests::test_parse_movie_details_json ... ok [INFO] [stdout] test tmdb::client::tests::test_parse_movie_search_json ... ok [INFO] [stdout] test tmdb::client::tests::test_parse_season_details_json ... ok [INFO] [stdout] test tmdb::client::tests::test_parse_tv_details_with_external_ids ... ok [INFO] [stdout] test tmdb::client::tests::test_parse_tv_search_json ... ok [INFO] [stdout] test tmdb::models::tests::test_deserialize_collection_details_with_parts ... ok [INFO] [stdout] test tmdb::models::tests::test_deserialize_movie_details ... ok [INFO] [stdout] test tmdb::models::tests::test_deserialize_movie_details_with_collection ... ok [INFO] [stdout] test tmdb::models::tests::test_deserialize_movie_search_response ... ok [INFO] [stdout] test tmdb::models::tests::test_deserialize_season_details ... ok [INFO] [stdout] test tmdb::models::tests::test_deserialize_tv_details_with_seasons ... ok [INFO] [stdout] test tmdb::models::tests::test_deserialize_tv_search_response ... ok [INFO] [stdout] test tmdb::models::tests::test_search_item_from_movie ... ok [INFO] [stdout] test tmdb::models::tests::test_search_item_from_tv ... ok [INFO] [stdout] test qbittorrent::client::tests::test_client_strips_trailing_slash ... ok [INFO] [stdout] test plex::client::tests::test_plex_client_creation ... ok [INFO] [stdout] test rutracker::auth::tests::test_ensure_auth_on_dead_task ... ok [INFO] [stdout] test rutracker::auth::tests::test_ensure_auth_fails_on_unreachable_server ... ok [INFO] [stdout] test web::routes::api::tests::test_streaming_episodes_for_season_combined ... ok [INFO] [stdout] test web::routes::api::tests::test_streaming_episodes_for_season_per_season ... ok [INFO] [stdout] test web::routes::api::tests::test_streaming_episodes_jjk_scenario ... ok [INFO] [stdout] test plex::client::tests::test_plex_client_trims_trailing_slash ... ok [INFO] [stdout] test rutracker::auth::tests::test_multiple_invalidate_does_not_panic ... ok [INFO] [stdout] test rutracker::auth::tests::test_auth_handle_invalidate_does_not_panic ... ok [INFO] [stdout] test tmdb::client::tests::test_client_creation ... ok [INFO] [stdout] test qbittorrent::client::tests::test_client_creation ... ok [INFO] [stdout] test rutracker::auth::tests::test_captcha_state_initially_none ... ok [INFO] [stdout] test tasks::tmdb_check::tests::test_check_new_seasons_no_series ... ok [INFO] [stdout] test web::routes::api::tests::test_get_notifications_empty ... ok [INFO] [stdout] test tasks::rutracker_check::tests::test_check_torrents_no_auto_update ... ok [INFO] [stdout] test web::routes::api::tests::test_track_invalid_media_type ... ok [INFO] [stdout] test tasks::rutracker_check::tests::test_check_torrents_with_torrent_in_db ... ok [INFO] [stdout] test tasks::download_monitor::tests::test_check_downloads_no_active_torrents ... ok [INFO] [stdout] test web::routes::captcha::tests::test_captcha_page_returns_200 ... ok [INFO] [stdout] test web::routes::api::tests::test_get_notifications_with_data ... ok [INFO] [stdout] test web::routes::api::tests::test_delete_media_endpoint ... ok [INFO] [stdout] test web::routes::api::tests::test_track_endpoint_exists ... ok [INFO] [stdout] test web::routes::api::tests::test_mark_notification_read ... ok [INFO] [stdout] test web::routes::api::tests::test_track_movie_db_integration ... ok [INFO] [stdout] test web::routes::captcha::tests::test_captcha_image_404_when_no_captcha ... ok [INFO] [stdout] test web::routes::discover::tests::test_parse_category ... ok [INFO] [stdout] test web::routes::api::tests::test_track_series_db_integration ... ok [INFO] [stdout] test tasks::tmdb_check::tests::test_check_new_seasons_filters_correctly ... ok [INFO] [stdout] test web::routes::api::tests::test_track_movie_collection_creates_multiple_seasons ... ok [INFO] [stdout] test web::routes::captcha::tests::test_captcha_status_shows_banner_when_pending ... ok [INFO] [stdout] test web::routes::captcha::tests::test_captcha_status_empty_when_no_captcha ... ok [INFO] [stdout] test web::routes::series::tests::test_dedup_search_results ... ok [INFO] [stdout] test web::routes::discover::tests::test_discover_page_contains_tabs ... ok [INFO] [stdout] test web::routes::captcha::tests::test_captcha_partial_no_captcha ... ok [INFO] [stdout] test web::routes::series::tests::test_extract_season_marker ... ok [INFO] [stdout] test web::routes::series::tests::test_filter_conflicting_season_markers ... ok [INFO] [stdout] test web::routes::captcha::tests::test_submit_captcha_empty_code ... ok [INFO] [stdout] test web::routes::dashboard::tests::test_dashboard_contains_title ... ok [INFO] [stdout] test web::routes::search::tests::test_search_page_contains_form ... ok [INFO] [stdout] test web::routes::dashboard::tests::test_dashboard_returns_200 ... ok [INFO] [stdout] test web::routes::search::tests::test_search_page_returns_200 ... ok [INFO] [stdout] test web::routes::search::tests::test_search_results_no_rutracker_section ... ok [INFO] [stdout] test web::routes::dashboard::tests::test_dashboard_shows_tracked_media ... ok [INFO] [stdout] test web::routes::dashboard::tests::test_dashboard_returns_html ... ok [INFO] [stdout] test web::routes::dashboard::tests::test_dashboard_shows_tracking_seasons ... ok [INFO] [stdout] test web::routes::discover::tests::test_discover_page_returns_200 ... ok [INFO] [stdout] test web::routes::dashboard::tests::test_static_route_exists ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_contains_media_info ... ok [INFO] [stdout] test web::routes::search::tests::test_search_with_empty_query_returns_200 ... ok [INFO] [stdout] test web::tests::test_extract_season_tag_anime ... ok [INFO] [stdout] test web::tests::test_extract_season_tag_english ... ok [INFO] [stdout] test web::routes::search::tests::test_search_results_partial_contains_sections ... ok [INFO] [stdout] test web::tests::test_extract_season_tag_none ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_contains_download_route ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_anime_audio ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_basic ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_empty_brackets ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_nested ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_no_tags ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_prepends_season ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_splits_long_tags ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_trailing_audio ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_contains_episodes_details ... ok [INFO] [stdout] test web::tests::test_extract_tags_filter_unclosed ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_contains_external_links ... ok [INFO] [stdout] test web::routes::series::tests::test_season_status_toggle_updates_db ... ok [INFO] [stdout] test web::routes::series::tests::test_season_status_invalid ... ok [INFO] [stdout] test web::tests::test_extract_season_tag_russian ... ok [INFO] [stdout] test web::tests::test_extract_season_tag_ordinal_words ... ok [INFO] [stdout] test web::routes::series::tests::test_season_status_toggle ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_shows_torrents ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_returns_200 ... ok [INFO] [stdout] test web::routes::series::tests::test_download_search_result_season_not_found ... ok [INFO] [stdout] test web::routes::series::tests::test_series_not_found ... ok [INFO] [stdout] test web::routes::settings::tests::test_settings_returns_200 ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_contains_search_button ... ok [INFO] [stdout] test web::routes::series::tests::test_series_detail_contains_seasons_and_episodes ... ok [INFO] [stdout] test web::routes::settings::tests::test_settings_contains_config_values ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 213 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.62s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b", kill_on_drop: false }` [INFO] [stdout] 6d3ca0c265a12a6df6eb5d154d0f59fdbebf18625bd90bdfee26cc6c18f38a3b