[INFO] cloning repository https://github.com/moritzheiber/feedme [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/moritzheiber/feedme" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoritzheiber%2Ffeedme", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoritzheiber%2Ffeedme'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 32454f3fb0bb376b75a62df32678ee34c5bbd500 [INFO] testing moritzheiber/feedme against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoritzheiber%2Ffeedme" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/moritzheiber/feedme [INFO] finished tweaking git repo https://github.com/moritzheiber/feedme [INFO] tweaked toml for git repo https://github.com/moritzheiber/feedme written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/moritzheiber/feedme on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/moritzheiber/feedme 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0b0aafece2cc65e53822c938eb5fc74dbf7943e0ffaccade3182f2b0a5378226 [INFO] running `Command { std: "docker" "start" "-a" "0b0aafece2cc65e53822c938eb5fc74dbf7943e0ffaccade3182f2b0a5378226", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0b0aafece2cc65e53822c938eb5fc74dbf7943e0ffaccade3182f2b0a5378226", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b0aafece2cc65e53822c938eb5fc74dbf7943e0ffaccade3182f2b0a5378226", kill_on_drop: false }` [INFO] [stdout] 0b0aafece2cc65e53822c938eb5fc74dbf7943e0ffaccade3182f2b0a5378226 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3c1364960a3c7dd2471cf13befe53ae5768fb2c42d6e92f5733ca60ab468a304 [INFO] running `Command { std: "docker" "start" "-a" "3c1364960a3c7dd2471cf13befe53ae5768fb2c42d6e92f5733ca60ab468a304", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling aws-lc-rs v1.16.2 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling web_atoms v0.1.3 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling indexmap v2.13.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling jetscii v0.5.3 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling cc v1.2.59 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling utf8-width v0.1.8 [INFO] [stderr] Compiling xmlparser v0.13.6 [INFO] [stderr] Compiling html-escape v0.2.13 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling quick-xml v0.39.2 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling md5 v0.8.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling aws-lc-sys v0.39.1 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling hard-xml-derive v1.41.0 [INFO] [stderr] Compiling hard-xml v1.41.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling tokio-stream v0.1.18 [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.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling match_token v0.35.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling cssparser v0.35.0 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling thiserror v1.0.69 [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 clap v4.6.1 [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 serde v1.0.228 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling opml v1.1.6 [INFO] [stderr] Compiling markup5ever v0.35.0 [INFO] [stderr] Compiling html5ever v0.35.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-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling ammonia v4.1.2 [INFO] [stderr] Compiling tower-http v0.6.10 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling feedparser-rs v0.5.3 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling reqwest v0.13.3 [INFO] [stderr] Compiling feedme v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 45s [INFO] running `Command { std: "docker" "inspect" "3c1364960a3c7dd2471cf13befe53ae5768fb2c42d6e92f5733ca60ab468a304", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3c1364960a3c7dd2471cf13befe53ae5768fb2c42d6e92f5733ca60ab468a304", kill_on_drop: false }` [INFO] [stdout] 3c1364960a3c7dd2471cf13befe53ae5768fb2c42d6e92f5733ca60ab468a304 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a69db4ef08b330d995cd640d85fbe4725420c079c4889196cc687e6fa703c43a [INFO] running `Command { std: "docker" "start" "-a" "a69db4ef08b330d995cd640d85fbe4725420c079c4889196cc687e6fa703c43a", kill_on_drop: false }` [INFO] [stderr] Compiling feedme v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.62s [INFO] running `Command { std: "docker" "inspect" "a69db4ef08b330d995cd640d85fbe4725420c079c4889196cc687e6fa703c43a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a69db4ef08b330d995cd640d85fbe4725420c079c4889196cc687e6fa703c43a", kill_on_drop: false }` [INFO] [stdout] a69db4ef08b330d995cd640d85fbe4725420c079c4889196cc687e6fa703c43a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 19071680b6b4cd88e1957c1d411f101786b62298005e8fc590a52a579584b6b2 [INFO] running `Command { std: "docker" "start" "-a" "19071680b6b4cd88e1957c1d411f101786b62298005e8fc590a52a579584b6b2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/feedme-2cfb1007a3384ddc) [INFO] [stdout] [INFO] [stdout] running 153 tests [INFO] [stdout] test api::fever::tests::groups_endpoint ... ok [INFO] [stdout] test api::fever::tests::get_discovery_returns_api_version_and_auth_zero ... ok [INFO] [stdout] test api::fever::tests::get_discovery_with_empty_query ... ok [INFO] [stdout] test api::fever::tests::authenticated_base_request ... ok [INFO] [stdout] test api::fever::tests::combined_query_params ... ok [INFO] [stdout] test api::fever::tests::unauthenticated_request ... ok [INFO] [stdout] test cli::tests::extract_feeds_from_valid_opml ... ok [INFO] [stdout] test cli::tests::extract_feeds_skips_outlines_without_xml_url ... ok [INFO] [stdout] test cli::tests::feeds_to_opml_empty_list ... ok [INFO] [stdout] test cli::tests::feeds_to_opml_produces_valid_xml ... ok [INFO] [stdout] test api::fever::tests::favicons_endpoint ... ok [INFO] [stdout] test api::fever::tests::missing_api_key ... ok [INFO] [stdout] test api::fever::tests::items_endpoint_default ... ok [INFO] [stdout] test api::fever::tests::mark_item_as_unsaved ... ok [INFO] [stdout] test api::fever::tests::feeds_endpoint ... ok [INFO] [stdout] test api::fever::tests::mark_item_as_read ... ok [INFO] [stdout] test api::fever::tests::mark_item_as_saved ... ok [INFO] [stdout] test cli::tests::parse_feed_add ... ok [INFO] [stdout] test cli::tests::parse_feed_add_with_interval ... ok [INFO] [stdout] test cli::tests::parse_feed_export ... ok [INFO] [stdout] test cli::tests::parse_feed_import ... ok [INFO] [stdout] test api::fever::tests::mark_group_as_read ... ok [INFO] [stdout] test api::fever::tests::items_with_since_id ... ok [INFO] [stdout] test cli::tests::parse_feed_update ... ok [INFO] [stdout] test cli::tests::parse_feed_list ... ok [INFO] [stdout] test cli::tests::parse_feed_update_partial ... ok [INFO] [stdout] test cli::tests::parse_feed_remove ... ok [INFO] [stdout] test cli::tests::parse_serve ... ok [INFO] [stdout] test config::tests::from_vars_invalid_port ... ok [INFO] [stdout] test cli::tests::parse_serve_with_overrides ... ok [INFO] [stdout] test config::tests::from_vars_with_all_vars ... ok [INFO] [stdout] test config::tests::from_vars_missing_password ... ok [INFO] [stdout] test config::tests::from_vars_with_required_only ... ok [INFO] [stdout] test api::fever::tests::saved_item_ids_endpoint ... ok [INFO] [stdout] test db::models::tests::favicon_serializes_to_fever_json ... ok [INFO] [stdout] test api::fever::tests::items_with_ids ... ok [INFO] [stdout] test config::tests::from_vars_missing_email ... ok [INFO] [stdout] test cli::tests::handle_feed_export_writes_file ... ok [INFO] [stdout] test api::fever::tests::mark_feed_as_read ... ok [INFO] [stdout] test db::models::tests::feed_serializes_to_fever_json ... ok [INFO] [stdout] test db::models::tests::item_serializes_to_fever_json ... ok [INFO] [stdout] test api::fever::tests::unread_recently_read ... ok [INFO] [stdout] test api::fever::tests::items_with_max_id ... ok [INFO] [stdout] test api::fever::tests::unread_item_ids_endpoint ... ok [INFO] [stdout] test cli::tests::handle_feed_add_and_list ... ok [INFO] [stdout] test cli::tests::handle_feed_import_from_opml ... ok [INFO] [stdout] test cli::tests::handle_feed_update_changes_interval ... ok [INFO] [stdout] test db::repo::tests::delete_feed_cascades_items ... ok [INFO] [stdout] test db::repo::tests::duplicate_feed_url_rejected ... ok [INFO] [stdout] test cli::tests::handle_feed_import_skips_duplicates ... ok [INFO] [stdout] test cli::tests::handle_feed_remove_deletes_feed ... ok [INFO] [stdout] test db::repo::tests::delete_nonexistent_feed ... ok [INFO] [stdout] test db::repo::tests::feed_exists_by_url_check ... ok [INFO] [stdout] test db::repo::tests::insert_and_list_feeds ... ok [INFO] [stdout] test db::repo::tests::item_dedup_by_url ... ok [INFO] [stdout] test db::repo::tests::last_refreshed_time ... ok [INFO] [stdout] test db::repo::tests::get_items_by_specific_ids ... ok [INFO] [stdout] test db::repo::tests::get_feed_by_id ... ok [INFO] [stdout] test db::repo::tests::insert_and_query_items ... ok [INFO] [stdout] test db::repo::tests::upsert_and_get_favicons ... ok [INFO] [stdout] test db::repo::tests::unread_recently_read_items ... ok [INFO] [stdout] test db::repo::tests::unread_and_saved_item_ids ... ok [INFO] [stdout] test db::repo::tests::mark_feed_read_before_timestamp ... ok [INFO] [stdout] test fetcher::tests::concurrent_fetches_is_positive ... ok [INFO] [stdout] test fetcher::tests::check_due_feeds_empty_db ... ok [INFO] [stdout] test db::repo::tests::update_feed_url_and_interval ... ok [INFO] [stdout] test fetcher::tests::entry_extraction_bare_minimum ... ok [INFO] [stdout] test fetcher::tests::entry_extraction_from_atom ... ok [INFO] [stdout] test fetcher::tests::entry_prefers_content_over_summary ... ok [INFO] [stdout] test fetcher::tests::entry_uses_dc_creator_fallback ... ok [INFO] [stdout] test fetcher::tests::entry_uses_summary_when_no_content ... ok [INFO] [stdout] test fetcher::tests::entry_extraction_from_rss ... ok [INFO] [stdout] test fetcher::tests::entry_extraction_from_json_feed ... ok [INFO] [stdout] test db::repo::tests::update_feed_metadata ... ok [INFO] [stdout] test db::repo::tests::update_feed_partial ... ok [INFO] [stdout] test fetcher::tests::check_due_feeds_backoff_eventually_due ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_absolute ... ok [INFO] [stdout] test db::repo::tests::get_items_before_max_id ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_apple_touch_icon ... ok [INFO] [stdout] test db::repo::tests::mark_all_read_before_timestamp ... ok [INFO] [stdout] test db::repo::tests::get_items_since_id ... ok [INFO] [stdout] test db::repo::tests::update_feed_favicon_id ... ok [INFO] [stdout] test fetcher::tests::check_due_feeds_empty_when_none_due ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_empty_base_url ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_empty_href ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_fallback ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_protocol_relative ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_missing_quotes ... ok [INFO] [stdout] test fetcher::tests::check_due_feeds_includes_never_fetched ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_from_html ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_multiple_icons_picks_first ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_single_quotes ... ok [INFO] [stdout] test fetcher::tests::extract_recommended_interval_from_ttl ... ok [INFO] [stdout] test fetcher::tests::extract_recommended_interval_from_syndication ... ok [INFO] [stdout] test fetcher::tests::extract_feed_icon_url_from_atom_icon ... ok [INFO] [stdout] test fetcher::tests::extract_site_url_from_atom ... ok [INFO] [stdout] test fetcher::tests::extract_recommended_interval_ttl_precedence ... ok [INFO] [stdout] test fetcher::tests::extract_recommended_interval_no_hints ... ok [INFO] [stdout] test fetcher::tests::extract_site_url_from_rss ... ok [INFO] [stdout] test fetcher::tests::extract_skip_days_mask_empty ... ok [INFO] [stdout] test fetcher::tests::extract_feed_icon_url_from_rss_image ... ok [INFO] [stdout] test fetcher::tests::extract_feed_title_from_rss ... ok [INFO] [stdout] test fetcher::tests::fetch_feed_accept_header_is_set ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_exact_boundary ... ok [INFO] [stdout] test fetcher::tests::extract_skip_hours_mask_empty ... ok [INFO] [stdout] test fetcher::tests::entry_uses_updated_when_no_published ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_backoff_capped ... ok [INFO] [stdout] test fetcher::tests::extract_skip_hours_mask_parses_hours ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_interval_elapsed ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_never_fetched ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_recently_fetched ... ok [INFO] [stdout] test fetcher::tests::extract_feed_icon_url_none ... ok [INFO] [stdout] test fetcher::tests::check_due_feeds_returns_due_only ... ok [INFO] [stdout] test fetcher::tests::extract_skip_days_mask_parses_days ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_respects_feed_ttl ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_skip_days_blocks ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_future_last_updated ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_skip_hours_blocks ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_with_backoff_delays_retry ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_with_backoff_one_failure ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_zero_interval ... ok [INFO] [stdout] test fetcher::tests::is_feed_due_user_interval_overrides_short_ttl ... ok [INFO] [stdout] test fetcher::tests::check_due_feeds_respects_backoff ... ok [INFO] [stdout] test fetcher::tests::extract_favicon_url_large_html_does_not_hang ... ok [INFO] [stdout] test fetcher::tests::process_feed_no_entries ... ok [INFO] [stdout] test fetcher::tests::process_feed_html_not_a_feed ... ok [INFO] [stdout] test fetcher::tests::process_feed_garbage_bytes ... ok [INFO] [stdout] test fetcher::tests::process_feed_empty_body ... ok [INFO] [stdout] test fetcher::tests::process_feed_entries_missing_urls_skipped ... ok [INFO] [stdout] test fetcher::tests::process_feed_content_encoded ... ok [INFO] [stdout] test fetcher::tests::process_feed_deduplicates_items ... ok [INFO] [stdout] test fetcher::tests::should_refresh_favicon_never_checked_but_has_favicon ... ok [INFO] [stdout] test fetcher::tests::should_refresh_favicon_no_favicon ... ok [INFO] [stdout] test fetcher::tests::should_refresh_favicon_recent_check ... ok [INFO] [stdout] test fetcher::tests::process_feed_returns_feed_icon_url ... ok [INFO] [stdout] test fetcher::tests::process_feed_atom_format ... ok [INFO] [stdout] test fetcher::tests::process_feed_json_feed ... ok [INFO] [stdout] test fetcher::tests::process_feed_stores_skip_days ... ok [INFO] [stdout] test fetcher::tests::should_refresh_favicon_stale_check ... ok [INFO] [stdout] test fetcher::tests::process_feed_entries_missing_metadata_uses_defaults ... ok [INFO] [stdout] test fetcher::tests::user_agent_is_set ... ok [INFO] [stdout] test fetcher::tests::process_feed_mixed_valid_and_broken_entries ... ok [INFO] [stdout] test fetcher::tests::process_feed_inserts_items ... ok [INFO] [stdout] test fetcher::tests::process_feed_valid_xml_not_a_feed ... ok [INFO] [stdout] test fetcher::tests::reset_failures_clears_count ... ok [INFO] [stdout] test fetcher::tests::process_feed_stores_skip_hours ... ok [INFO] [stdout] test fetcher::tests::upsert_favicon_with_etag ... ok [INFO] [stdout] test fetcher::tests::update_favicon_last_checked ... ok [INFO] [stdout] test fetcher::tests::update_favicon_data_and_etag ... ok [INFO] [stdout] test fetcher::tests::process_feed_stores_ttl ... ok [INFO] [stdout] test db::repo::tests::items_pagination_limit ... ok [INFO] [stdout] test fetcher::tests::fetch_feed_respects_size_limit ... ok [INFO] [stdout] test fetcher::tests::scheduler_stops_on_shutdown ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 153 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/feedme-c41503e4d26a230b) [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/integration.rs (/opt/rustwide/target/debug/deps/integration-d85f755defd5ea0f) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test unauthenticated_request_gets_no_data ... ok [INFO] [stdout] test mark_nonexistent_item_returns_clean_response ... ok [INFO] [stdout] test mark_nonexistent_feed_returns_clean_response ... ok [INFO] [stdout] test unknown_mark_action_is_ignored ... ok [INFO] [stdout] test sql_injection_in_form_data_is_harmless ... ok [INFO] [stdout] test process_feed_deduplicates_on_second_run ... ok [INFO] [stdout] test combined_query_returns_all_requested_data ... ok [INFO] [stdout] test mark_feed_read_before_timestamp ... ok [INFO] [stdout] test malicious_html_in_feed_is_served_verbatim ... ok [INFO] [stdout] test unread_recently_read_restores_items ... ok [INFO] [stdout] test save_and_unsave_item ... ok [INFO] [stdout] test with_ids_garbage_values_are_silently_dropped ... ok [INFO] [stdout] test full_lifecycle_add_feed_process_items_read_and_mark ... ok [INFO] [stdout] test multiple_feeds_with_items ... ok [INFO] [stderr] Doc-tests feedme [INFO] [stdout] test empty_database_returns_zero_items ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [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" "19071680b6b4cd88e1957c1d411f101786b62298005e8fc590a52a579584b6b2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19071680b6b4cd88e1957c1d411f101786b62298005e8fc590a52a579584b6b2", kill_on_drop: false }` [INFO] [stdout] 19071680b6b4cd88e1957c1d411f101786b62298005e8fc590a52a579584b6b2