[INFO] cloning repository https://github.com/doivamong/webclaw [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/doivamong/webclaw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoivamong%2Fwebclaw", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoivamong%2Fwebclaw'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fc83514b014e57e6ba37673f3b86f73265c83a22 [INFO] testing doivamong/webclaw against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdoivamong%2Fwebclaw" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/doivamong/webclaw [INFO] finished tweaking git repo https://github.com/doivamong/webclaw [INFO] tweaked toml for git repo https://github.com/doivamong/webclaw written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/doivamong/webclaw on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/doivamong/webclaw 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lzma-rs v0.3.0 [INFO] [stderr] Downloaded type1-encoding-parser v0.1.1 [INFO] [stderr] Downloaded bzip2 v0.5.2 [INFO] [stderr] Downloaded rmcp-macros v1.3.0 [INFO] [stderr] Downloaded debug_unsafe v0.1.4 [INFO] [stderr] Downloaded deflate64 v0.1.12 [INFO] [stderr] Downloaded pastey v0.2.1 [INFO] [stderr] Downloaded scraper v0.24.0 [INFO] [stderr] Downloaded atoi_simd v0.17.0 [INFO] [stderr] Downloaded schnellru v0.2.4 [INFO] [stderr] Downloaded rquickjs v0.9.0 [INFO] [stderr] Downloaded cssparser v0.35.0 [INFO] [stderr] Downloaded zip v2.4.2 [INFO] [stderr] Downloaded selectors v0.31.0 [INFO] [stderr] Downloaded pdf-extract v0.7.12 [INFO] [stderr] Downloaded typed-path v0.12.3 [INFO] [stderr] Downloaded zip v7.2.0 [INFO] [stderr] Downloaded http2 v0.5.15 [INFO] [stderr] Downloaded calamine v0.34.0 [INFO] [stderr] Downloaded rquickjs-core v0.9.0 [INFO] [stderr] Downloaded boring2 v5.0.0-alpha.13 [INFO] [stderr] Downloaded wreq v6.0.0-rc.28 [INFO] [stderr] Downloaded iri-string v0.7.11 [INFO] [stderr] Downloaded fslock v0.2.1 [INFO] [stderr] Downloaded tokio-boring2 v5.0.0-alpha.13 [INFO] [stderr] Downloaded rmcp v1.3.0 [INFO] [stderr] Downloaded codepage v0.1.2 [INFO] [stderr] Downloaded bzip2-sys v0.1.13+1.0.8 [INFO] [stderr] Downloaded rquickjs-sys v0.9.0 [INFO] [stderr] Downloaded boring-sys2 v5.0.0-alpha.13 [INFO] [stderr] Downloaded lopdf v0.34.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4cf6f43d7f988d48a868b63b5b66a74164e7dc7be238759b580a937935fadbba [INFO] running `Command { std: "docker" "start" "-a" "4cf6f43d7f988d48a868b63b5b66a74164e7dc7be238759b580a937935fadbba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4cf6f43d7f988d48a868b63b5b66a74164e7dc7be238759b580a937935fadbba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4cf6f43d7f988d48a868b63b5b66a74164e7dc7be238759b580a937935fadbba", kill_on_drop: false }` [INFO] [stdout] 4cf6f43d7f988d48a868b63b5b66a74164e7dc7be238759b580a937935fadbba [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f76f7743eaab7e8718bf9cd1c7177a866c0939cce8c19b32e44dec85c1aee41e [INFO] running `Command { std: "docker" "start" "-a" "f76f7743eaab7e8718bf9cd1c7177a866c0939cce8c19b32e44dec85c1aee41e", kill_on_drop: false }` [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling zlib-rs v0.6.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling bindgen v0.72.1 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling brotli-decompressor v5.0.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling rustc-hash v2.1.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling brotli v8.0.2 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling fslock v0.2.1 [INFO] [stderr] Compiling compression-core v0.4.31 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling rquickjs-sys v0.9.0 [INFO] [stderr] Compiling markup5ever v0.14.1 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling servo_arc v0.4.3 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling bzip2-sys v0.1.13+1.0.8 [INFO] [stderr] Compiling lzma-sys v0.1.20 [INFO] [stderr] Compiling selectors v0.26.0 [INFO] [stderr] Compiling foreign-types-macros v0.2.3 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling pom v1.1.0 [INFO] [stderr] Compiling bumpalo v3.20.2 [INFO] [stderr] Compiling foreign-types v0.5.0 [INFO] [stderr] Compiling tinyvec v1.11.0 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling cssparser v0.34.0 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling boring-sys2 v5.0.0-alpha.13 [INFO] [stderr] Compiling match_token v0.1.0 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling rangemap v1.7.1 [INFO] [stderr] Compiling weezl v0.1.12 [INFO] [stderr] Compiling ego-tree v0.10.0 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling compression-codecs v0.4.37 [INFO] [stderr] Compiling crc v3.4.0 [INFO] [stderr] Compiling html5ever v0.29.1 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling async-compression v0.4.41 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling lopdf v0.34.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling adobe-cmap-parser v0.4.1 [INFO] [stderr] Compiling type1-encoding-parser v0.1.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling euclid v0.20.14 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling web_atoms v0.1.3 [INFO] [stderr] Compiling typed-path v0.12.3 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling postscript v0.14.1 [INFO] [stderr] Compiling zip v2.4.2 [INFO] [stderr] Compiling debug_unsafe v0.1.4 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling atoi_simd v0.17.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling schnellru v0.2.4 [INFO] [stderr] Compiling zip v7.2.0 [INFO] [stderr] Compiling pdf-extract v0.7.12 [INFO] [stderr] Compiling http2 v0.5.15 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling pbkdf2 v0.12.2 [INFO] [stderr] Compiling xz2 v0.1.7 [INFO] [stderr] Compiling scraper v0.22.0 [INFO] [stderr] Compiling bzip2 v0.5.2 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling lzma-rs v0.3.0 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling quick-xml v0.39.2 [INFO] [stderr] Compiling codepage v0.1.2 [INFO] [stderr] Compiling webpki-root-certs v1.0.6 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling constant_time_eq v0.3.1 [INFO] [stderr] Compiling deflate64 v0.1.12 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling calamine v0.34.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling webclaw-pdf v0.3.4 (/opt/rustwide/workdir/crates/webclaw-pdf) [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling selectors v0.31.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling markup5ever v0.35.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling cssparser v0.35.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling match_token v0.35.0 [INFO] [stderr] Compiling rquickjs-core v0.9.0 [INFO] [stderr] Compiling rmcp v1.3.0 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling html5ever v0.35.0 [INFO] [stderr] Compiling rmcp-macros v1.3.0 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling webclaw-llm v0.3.4 (/opt/rustwide/workdir/crates/webclaw-llm) [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling rquickjs v0.9.0 [INFO] [stderr] Compiling webclaw-core v0.3.4 (/opt/rustwide/workdir/crates/webclaw-core) [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling scraper v0.24.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling boring2 v5.0.0-alpha.13 [INFO] [stderr] Compiling tokio-boring2 v5.0.0-alpha.13 [INFO] [stderr] Compiling wreq v6.0.0-rc.28 [INFO] [stderr] Compiling webclaw-fetch v0.3.4 (/opt/rustwide/workdir/crates/webclaw-fetch) [INFO] [stderr] Compiling webclaw-bench v0.3.4 (/opt/rustwide/workdir/crates/webclaw-bench) [INFO] [stderr] Compiling webclaw-cli v0.3.4 (/opt/rustwide/workdir/crates/webclaw-cli) [INFO] [stderr] Compiling webclaw-mcp v0.3.4 (/opt/rustwide/workdir/crates/webclaw-mcp) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 18s [INFO] running `Command { std: "docker" "inspect" "f76f7743eaab7e8718bf9cd1c7177a866c0939cce8c19b32e44dec85c1aee41e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f76f7743eaab7e8718bf9cd1c7177a866c0939cce8c19b32e44dec85c1aee41e", kill_on_drop: false }` [INFO] [stdout] f76f7743eaab7e8718bf9cd1c7177a866c0939cce8c19b32e44dec85c1aee41e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eb62e5c099bc269527ed0bf4a2f1c63eb778b7e0e808be9fcb244cf4a7dc6fb3 [INFO] running `Command { std: "docker" "start" "-a" "eb62e5c099bc269527ed0bf4a2f1c63eb778b7e0e808be9fcb244cf4a7dc6fb3", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.0 [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 selectors v0.31.0 [INFO] [stderr] Compiling webclaw-pdf v0.3.4 (/opt/rustwide/workdir/crates/webclaw-pdf) [INFO] [stderr] Compiling bindgen v0.72.1 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling scraper v0.24.0 [INFO] [stderr] Compiling scraper v0.22.0 [INFO] [stderr] Compiling webclaw-core v0.3.4 (/opt/rustwide/workdir/crates/webclaw-core) [INFO] [stderr] Compiling webclaw-llm v0.3.4 (/opt/rustwide/workdir/crates/webclaw-llm) [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling boring-sys2 v5.0.0-alpha.13 [INFO] [stderr] Compiling boring2 v5.0.0-alpha.13 [INFO] [stderr] Compiling tokio-boring2 v5.0.0-alpha.13 [INFO] [stderr] Compiling wreq v6.0.0-rc.28 [INFO] [stderr] Compiling webclaw-fetch v0.3.4 (/opt/rustwide/workdir/crates/webclaw-fetch) [INFO] [stderr] Compiling webclaw-bench v0.3.4 (/opt/rustwide/workdir/crates/webclaw-bench) [INFO] [stderr] Compiling webclaw-cli v0.3.4 (/opt/rustwide/workdir/crates/webclaw-cli) [INFO] [stderr] Compiling webclaw-mcp v0.3.4 (/opt/rustwide/workdir/crates/webclaw-mcp) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 22s [INFO] running `Command { std: "docker" "inspect" "eb62e5c099bc269527ed0bf4a2f1c63eb778b7e0e808be9fcb244cf4a7dc6fb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eb62e5c099bc269527ed0bf4a2f1c63eb778b7e0e808be9fcb244cf4a7dc6fb3", kill_on_drop: false }` [INFO] [stdout] eb62e5c099bc269527ed0bf4a2f1c63eb778b7e0e808be9fcb244cf4a7dc6fb3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fb087c5eebb0495b5e583c60c8d1ad01d1e151ce262a117689625b6d012fa417 [INFO] running `Command { std: "docker" "start" "-a" "fb087c5eebb0495b5e583c60c8d1ad01d1e151ce262a117689625b6d012fa417", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/webclaw_bench-ed92c104d2ae285e) [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/webclaw-94bb8e18a0d62e2b) [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/webclaw_core-8d98574c4cedf797) [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 11 tests [INFO] [stdout] test tests::url_to_filename_json_format ... ok [INFO] [stdout] test tests::url_to_filename_llm_format ... ok [INFO] [stdout] test tests::url_to_filename_nested_path ... ok [INFO] [stdout] test tests::url_to_filename_query_params ... ok [INFO] [stdout] test tests::url_to_filename_path ... ok [INFO] [stdout] test tests::url_to_filename_html_format ... ok [INFO] [stdout] test tests::url_to_filename_root ... ok [INFO] [stdout] test tests::url_to_filename_special_chars ... ok [INFO] [stdout] test tests::url_to_filename_trailing_slash ... ok [INFO] [stdout] test tests::url_to_filename_text_format ... ok [INFO] [stdout] test tests::write_to_file_creates_dirs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 269 tests [INFO] [stdout] test brand::tests::test_extract_font_name_from_url ... ok [INFO] [stdout] test brand::tests::test_empty_html ... ok [INFO] [stdout] test brand::tests::test_favicon_shortcut_icon ... ok [INFO] [stdout] test brand::tests::test_favicon ... ok [INFO] [stdout] test brand::tests::test_google_fonts_from_url ... ok [INFO] [stdout] test brand::tests::test_google_fonts_url ... ok [INFO] [stdout] test brand::tests::test_font_preload ... ok [INFO] [stdout] test brand::tests::test_inline_styles ... ok [INFO] [stdout] test brand::tests::test_logo_by_alt ... ok [INFO] [stdout] test brand::tests::test_hsl_colors ... ok [INFO] [stdout] test brand::tests::test_font_extraction ... ok [INFO] [stdout] test brand::tests::test_boring_colors_filtered ... ok [INFO] [stdout] test brand::tests::test_font_ordering_by_frequency ... ok [INFO] [stdout] test brand::tests::test_css_custom_properties ... ok [INFO] [stdout] test brand::tests::test_logo_by_class ... ok [INFO] [stdout] test brand::tests::test_hex_colors ... ok [INFO] [stdout] test brand::tests::test_full_brand ... ok [INFO] [stdout] test brand::tests::test_logo_by_id ... ok [INFO] [stdout] test brand::tests::test_no_logo_or_favicon ... ok [INFO] [stdout] test brand::tests::test_short_hex_expansion ... ok [INFO] [stdout] test brand::tests::test_max_10_colors ... ok [INFO] [stdout] test brand::tests::test_rgb_colors ... ok [INFO] [stdout] test data_island::tests::skips_non_content_strings ... ok [INFO] [stdout] test data_island::tests::skips_content_already_in_dom ... ok [INFO] [stdout] test data_island::tests::deduplicates_chunks ... ok [INFO] [stdout] test data_island::tests::skips_when_dom_has_enough_content ... ok [INFO] [stdout] test data_island::tests::extracts_quotes ... ok [INFO] [stdout] test brand::tests::test_theme_color_meta ... ok [INFO] [stdout] test diff::tests::test_empty_content ... ok [INFO] [stdout] test data_island::tests::extracts_contentful_rich_text ... ok [INFO] [stdout] test diff::tests::test_identical_content ... ok [INFO] [stdout] test diff::tests::test_content_change ... ok [INFO] [stdout] test diff::tests::test_link_removed ... ok [INFO] [stdout] test diff::tests::test_link_added ... ok [INFO] [stdout] test diff::tests::test_title_change ... ok [INFO] [stdout] test diff::tests::test_link_text_change_ignored ... ok [INFO] [stdout] test diff::tests::test_links_added_and_removed ... ok [INFO] [stdout] test diff::tests::test_word_count_delta ... ok [INFO] [stdout] test diff::tests::test_unified_diff_format ... ok [INFO] [stdout] test domain::tests::dom_fallback_generic ... ok [INFO] [stdout] test domain::tests::ecommerce_urls ... ok [INFO] [stdout] test domain::tests::github_urls ... ok [INFO] [stdout] test domain::tests::social_urls ... ok [INFO] [stdout] test brand::tests::test_tailwind_arbitrary_colors ... ok [INFO] [stdout] test domain::tests::documentation_urls ... ok [INFO] [stdout] test domain::tests::dom_fallback_article ... ok [INFO] [stdout] test domain::tests::forum_urls ... ok [INFO] [stdout] test extractor::tests::h1_outside_content_node_captured ... ok [INFO] [stdout] test extractor::tests::cjk_punctuation_lifts_score ... ok [INFO] [stdout] test extractor::tests::full_page_noise_stripped ... ok [INFO] [stdout] test extractor::tests::eyebrow_text_recovered ... ok [INFO] [stdout] test extractor::tests::falls_back_to_body ... ok [INFO] [stdout] test extractor::tests::footer_cta_link_recovered ... ok [INFO] [stdout] test extractor::tests::footer_sitemap_recovered ... ok [INFO] [stdout] test extractor::tests::heading_inside_nav_not_recovered ... ok [INFO] [stdout] test extractor::tests::prefers_content_class ... ok [INFO] [stdout] test extractor::tests::route_style_eyebrow_not_recovered ... ok [INFO] [stdout] test extractor::tests::script_inside_content_node_stripped ... ok [INFO] [stdout] test js_eval::tests::empty_html_returns_no_blobs ... ok [INFO] [stdout] test extractor::tests::announcement_banner_recovered ... ok [INFO] [stdout] test extractor::tests::small_footer_not_treated_as_sitemap ... ok [INFO] [stdout] test extractor::tests::section_heading_in_header_class_recovered ... ok [INFO] [stdout] test extractor::tests::wikipedia_like_nav_sidebar_stripped ... ok [INFO] [stdout] test js_eval::tests::filter_readable_rejects_junk ... ok [INFO] [stdout] test extractor::tests::word_count_works ... ok [INFO] [stdout] test extractor::tests::sr_only_footer_heading_not_recovered ... ok [INFO] [stdout] test extractor::tests::picks_article_over_nav ... ok [INFO] [stdout] test js_eval::tests::extract_next_f_rsc_data ... ok [INFO] [stdout] test js_eval::tests::extract_readable_text_produces_markdown ... ok [INFO] [stdout] test js_eval::tests::extracts_window_preloaded_data ... ok [INFO] [stdout] test js_eval::tests::filter_readable_accepts_prose ... ok [INFO] [stdout] test js_eval::tests::skips_external_and_module_scripts ... ok [INFO] [stdout] test llm::body::tests::collapse_repeated_phrase_triple ... ok [INFO] [stdout] test llm::body::tests::collapse_repeated_phrase_in_line ... ok [INFO] [stdout] test js_eval::tests::handles_script_errors_gracefully ... ok [INFO] [stdout] test llm::body::tests::dedup_comma_list_case_insensitive ... ok [INFO] [stdout] test llm::body::tests::dedup_comma_list_catches_repeated_logos ... ok [INFO] [stdout] test js_eval::tests::strips_html_tags_from_text ... ok [INFO] [stdout] test llm::body::tests::dedup_comma_list_consecutive ... ok [INFO] [stdout] test llm::body::tests::dedup_comma_list_cycle_still_works ... ok [INFO] [stdout] test llm::body::tests::dedup_comma_list_no_dupes ... ok [INFO] [stdout] test llm::body::tests::dedup_lines_removes_repeated_lines_in_block ... ok [INFO] [stdout] test llm::body::tests::dedup_comma_list_preserves_unique_list ... ok [INFO] [stdout] test llm::body::tests::empty_code_block_stripped ... ok [INFO] [stdout] test llm::body::tests::empty_heading_at_eof_stripped ... ok [INFO] [stdout] test llm::body::tests::heading_with_content_preserved ... ok [INFO] [stdout] test llm::body::tests::empty_code_block_with_lang_stripped ... ok [INFO] [stdout] test llm::body::tests::empty_heading_before_same_level_stripped ... ok [INFO] [stdout] test llm::body::tests::heading_with_subsection_preserved ... ok [INFO] [stdout] test llm::cleanup::tests::alt_text_animation_stripped ... ok [INFO] [stdout] test llm::body::tests::nonempty_code_block_preserved ... ok [INFO] [stdout] test llm::cleanup::tests::alt_text_code_block_preserved ... ok [INFO] [stdout] test llm::cleanup::tests::adjacent_description_deduped ... ok [INFO] [stdout] test llm::cleanup::tests::alt_text_normal_prose_kept ... ok [INFO] [stdout] test llm::cleanup::tests::alt_text_descriptive_prefix_stripped ... ok [INFO] [stdout] test llm::cleanup::tests::alt_text_photo_prefix_stripped ... ok [INFO] [stdout] test llm::cleanup::tests::alt_text_short_prefix_kept ... ok [INFO] [stdout] test llm::cleanup::tests::collapse_spaced_text_mixed_line ... ok [INFO] [stdout] test llm::cleanup::tests::collapse_spaced_text_short_ignored ... ok [INFO] [stdout] test llm::cleanup::tests::broken_image_fragment_stripped ... ok [INFO] [stdout] test llm::body::tests::dedup_duplicate_headings_different_levels ... ok [INFO] [stdout] test llm::body::tests::dedup_duplicate_headings_removes_following_content ... ok [INFO] [stdout] test llm::body::tests::dedup_duplicate_headings_no_dupes ... ok [INFO] [stdout] test llm::cleanup::tests::collapse_spaced_text_basic ... ok [INFO] [stdout] test llm::body::tests::dedup_duplicate_headings_removes ... ok [INFO] [stdout] test llm::cleanup::tests::collapse_spaced_text_single_word ... ok [INFO] [stdout] test llm::cleanup::tests::collapse_spaced_text_skips_code_blocks ... ok [INFO] [stdout] test llm::cleanup::tests::css_artifact_not_real_code ... ok [INFO] [stdout] test llm::cleanup::tests::css_artifact_standalone_line ... ok [INFO] [stdout] test llm::cleanup::tests::decode_no_entity_passthrough ... ok [INFO] [stdout] test llm::cleanup::tests::decode_nbsp ... ok [INFO] [stdout] test llm::cleanup::tests::decode_named_entities ... ok [INFO] [stdout] test llm::cleanup::tests::invisible_unicode_no_change ... ok [INFO] [stdout] test llm::cleanup::tests::decode_unknown_entity_preserved ... ok [INFO] [stdout] test llm::cleanup::tests::invisible_unicode_stripped ... ok [INFO] [stdout] test llm::cleanup::tests::leaked_js_code_block_preserved ... ok [INFO] [stdout] test llm::cleanup::tests::decode_amp_lt_gt ... ok [INFO] [stdout] test llm::cleanup::tests::decode_numeric_entities ... ok [INFO] [stdout] test llm::cleanup::tests::long_alt_description_detected ... ok [INFO] [stdout] test llm::cleanup::tests::long_alt_description_real_content_kept ... ok [INFO] [stdout] test llm::cleanup::tests::long_api_list_collapsed ... ok [INFO] [stdout] test llm::cleanup::tests::non_duplicate_learn_more_preserved ... ok [INFO] [stdout] test llm::cleanup::tests::normal_prose_not_collapsed ... ok [INFO] [stdout] test llm::cleanup::tests::repeated_brand_list_stripped ... ok [INFO] [stdout] test llm::cleanup::tests::css_artifact_keyframes_stripped ... ok [INFO] [stdout] test llm::cleanup::tests::social_avatar_labels_stripped ... ok [INFO] [stdout] test llm::cleanup::tests::ui_control_arrow_chars ... ok [INFO] [stdout] test llm::cleanup::tests::ui_control_material_icons ... ok [INFO] [stdout] test llm::cleanup::tests::ui_control_not_real_content ... ok [INFO] [stdout] test llm::cleanup::tests::ui_control_strip_from_text ... ok [INFO] [stdout] test llm::images::tests::bare_image_ref_detected ... ok [INFO] [stdout] test llm::links::tests::noise_link_detected ... ok [INFO] [stdout] test llm::links::tests::link_label_short_unchanged ... ok [INFO] [stdout] test llm::links::tests::link_label_duplicate_deduped ... ok [INFO] [stdout] test llm::cleanup::tests::leaked_js_self_wrap ... ok [INFO] [stdout] test llm::images::tests::linked_image_conversion ... ok [INFO] [stdout] test llm::links::tests::link_label_truncated ... ok [INFO] [stdout] test llm::cleanup::tests::leaked_js_normal_text_preserved ... ok [INFO] [stdout] test llm::links::tests::link_label_markdown_stripped ... ok [INFO] [stdout] test llm::tests::converts_linked_images_to_links ... ok [INFO] [stdout] test llm::tests::dedup_keeps_short_repeated_text ... ok [INFO] [stdout] test llm::tests::collapses_consecutive_logo_images_on_separate_lines ... ok [INFO] [stdout] test llm::tests::collapses_excessive_whitespace ... ok [INFO] [stdout] test llm::tests::dedup_catches_near_duplicates_via_prefix ... ok [INFO] [stdout] test llm::tests::dedup_preserves_unique_paragraphs ... ok [INFO] [stdout] test llm::tests::dedup_carousel_realistic ... ok [INFO] [stdout] test llm::tests::dedup_removes_exact_duplicate_paragraphs ... ok [INFO] [stdout] test llm::tests::deduplicates_identical_heading_paragraph ... ok [INFO] [stdout] test llm::tests::dedup_text_line_matching_heading ... ok [INFO] [stdout] test llm::tests::deduplicates_links ... ok [INFO] [stdout] test llm::tests::deduplicates_heading_and_paragraph ... ok [INFO] [stdout] test llm::tests::inline_image_in_paragraph_stripped ... ok [INFO] [stdout] test llm::tests::keeps_meaningful_alt_text ... ok [INFO] [stdout] test llm::tests::keeps_prose_with_css_like_word ... ok [INFO] [stdout] test llm::tests::merge_stat_does_not_merge_long_lines ... ok [INFO] [stdout] test llm::tests::does_not_strip_emphasis_inside_code_blocks ... ok [INFO] [stdout] test llm::tests::merges_stat_lines_with_descriptions ... ok [INFO] [stdout] test llm::tests::empty_metadata_fields_excluded ... ok [INFO] [stdout] test llm::tests::metadata_header_includes_populated_fields ... ok [INFO] [stdout] test llm::tests::moves_links_to_end ... ok [INFO] [stdout] test llm::tests::merge_stat_preserves_headings_and_lists ... ok [INFO] [stdout] test llm::tests::preserves_headings_structure ... ok [INFO] [stdout] test llm::tests::no_leading_dot_from_linked_images ... ok [INFO] [stdout] test llm::tests::preserves_code_blocks ... ok [INFO] [stdout] test llm::tests::linked_images_split_on_separate_lines ... ok [INFO] [stdout] test llm::tests::preserves_css_classes_inside_code_blocks ... ok [INFO] [stdout] test llm::tests::preserves_list_structure ... ok [INFO] [stdout] test llm::tests::skips_anchor_and_javascript_links ... ok [INFO] [stdout] test llm::tests::strips_empty_alt_images ... ok [INFO] [stdout] test llm::tests::strips_bold_and_italic ... ok [INFO] [stdout] test markdown::tests::ad_class_does_not_false_positive ... ok [INFO] [stdout] test markdown::tests::adjacent_buttons_get_separated ... ok [INFO] [stdout] test markdown::tests::adjacent_links_get_separated ... ok [INFO] [stdout] test llm::tests::strips_image_markdown ... ok [INFO] [stdout] test markdown::tests::adjacent_spans_get_separated ... ok [INFO] [stdout] test markdown::tests::collapse_whitespace_skips_code_fences ... ok [INFO] [stdout] test markdown::tests::blockquote ... ok [INFO] [stdout] test llm::tests::strips_bare_image_references ... ok [INFO] [stdout] test markdown::tests::code_blocks ... ok [INFO] [stdout] test markdown::tests::horizontal_rule ... ok [INFO] [stdout] test markdown::tests::images_collected ... ok [INFO] [stdout] test markdown::tests::inline_code ... ok [INFO] [stdout] test llm::tests::collapses_consecutive_logo_images_on_same_line ... ok [INFO] [stdout] test markdown::tests::inline_text_with_adjacent_elements ... ok [INFO] [stdout] test markdown::tests::links_collected ... ok [INFO] [stdout] test markdown::tests::multiline_code_preserves_newlines ... ok [INFO] [stdout] test markdown::tests::deep_indentation_preserved_in_code ... ok [INFO] [stdout] test markdown::tests::headings ... ok [INFO] [stdout] test llm::tests::strips_css_class_text_lines ... ok [INFO] [stdout] test markdown::tests::multiline_code_no_inline_markdown ... ok [INFO] [stdout] test markdown::tests::compound_classes_not_noise ... ok [INFO] [stdout] test markdown::tests::multiline_code_with_span_children ... ok [INFO] [stdout] test markdown::tests::multiline_code_with_div_lines ... ok [INFO] [stdout] test llm::tests::separates_short_and_long_alts_on_same_line ... ok [INFO] [stdout] test markdown::tests::multiline_code_with_br_tags ... ok [INFO] [stdout] test markdown::tests::no_extra_space_when_whitespace_exists ... ok [INFO] [stdout] test markdown::tests::relative_url_resolution ... ok [INFO] [stdout] test markdown::tests::paragraphs_and_inline ... ok [INFO] [stdout] test markdown::tests::strip_markdown_handles_single_pipe_line ... ok [INFO] [stdout] test llm::tests::realistic_page ... ok [INFO] [stdout] test markdown::tests::preserves_content_with_no_noise ... ok [INFO] [stdout] test markdown::tests::nested_list ... ok [INFO] [stdout] test markdown::tests::shiki_line_spans_preserve_indentation ... ok [INFO] [stdout] test markdown::tests::strip_markdown_handles_empty_table_row ... ok [INFO] [stdout] test markdown::tests::ordered_list ... ok [INFO] [stdout] test markdown::tests::strips_style_content ... ok [INFO] [stdout] test markdown::tests::strips_by_role_attribute ... ok [INFO] [stdout] test markdown::tests::strips_by_class_patterns ... ok [INFO] [stdout] test markdown::tests::tab_indentation_preserved_in_code ... ok [INFO] [stdout] test markdown::tests::strips_table_syntax_from_plain_text ... ok [INFO] [stdout] test markdown::tests::strips_footer_content ... ok [INFO] [stdout] test markdown::tests::strips_to_plain_text ... ok [INFO] [stdout] test markdown::tests::strips_by_id_patterns ... ok [INFO] [stdout] test markdown::tests::strips_script_content ... ok [INFO] [stdout] test markdown::tests::strips_nav_sidebar_from_content ... ok [INFO] [stdout] test noise::tests::ad_class_no_false_positive ... ok [INFO] [stdout] test metadata::tests::falls_back_to_title_tag ... ok [INFO] [stdout] test metadata::tests::handles_missing_metadata_gracefully ... ok [INFO] [stdout] test markdown::tests::syntax_highlighted_code_preserves_indentation ... ok [INFO] [stdout] test markdown::tests::table ... ok [INFO] [stdout] test markdown::tests::unordered_list ... ok [INFO] [stdout] test metadata::tests::extracts_basic_metadata ... ok [INFO] [stdout] test noise::tests::ad_class_standalone_detected ... ok [INFO] [stdout] test noise::tests::amazon_classes_not_noise ... ok [INFO] [stdout] test noise::tests::noise_class_patterns ... ok [INFO] [stdout] test noise::tests::bem_component_names_not_noise ... ok [INFO] [stdout] test noise::tests::css_class_text_normal_prose_kept ... ok [INFO] [stdout] test noise::tests::css_class_text_detected ... ok [INFO] [stdout] test noise::tests::css_class_text_mixed_content ... ok [INFO] [stdout] test noise::tests::structural_ids_not_noise ... ok [INFO] [stdout] test noise::tests::tailwind_animation_utilities_not_noise ... ok [INFO] [stdout] test noise::tests::short_patterns_require_word_boundary ... ok [INFO] [stdout] test noise::tests::word_boundary_match_works ... ok [INFO] [stdout] test structured_data::tests::case_insensitive_type ... ok [INFO] [stdout] test noise::tests::tailwind_css_vars_not_noise ... ok [INFO] [stdout] test structured_data::tests::extracts_single_json_ld ... ok [INFO] [stdout] test structured_data::tests::handles_array_json_ld ... ok [INFO] [stdout] test structured_data::tests::empty_script_tag_skipped ... ok [INFO] [stdout] test structured_data::tests::extracts_multiple_json_ld_blocks ... ok [INFO] [stdout] test structured_data::tests::handles_whitespace_in_json ... ok [INFO] [stdout] test structured_data::tests::skips_invalid_json ... ok [INFO] [stdout] test structured_data::tests::ignores_regular_script_tags ... ok [INFO] [stdout] test tests::empty_html_returns_error ... ok [INFO] [stdout] test structured_data::tests::handles_no_json_ld ... ok [INFO] [stdout] test tests::readable_rejects_empty_page ... ok [INFO] [stdout] test tests::readable_accepts_cjk_content ... ok [INFO] [stdout] test tests::readable_accepts_real_article ... ok [INFO] [stdout] test tests::invalid_url_returns_error ... ok [INFO] [stdout] test tests::serializes_to_json ... ok [INFO] [stdout] test tests::no_url_is_fine ... ok [INFO] [stdout] test tests::test_backward_compat ... ok [INFO] [stdout] test tests::readable_rejects_login_wall ... ok [INFO] [stdout] test tests::full_extraction_pipeline ... ok [INFO] [stdout] test tests::test_include_and_exclude ... ok [INFO] [stdout] test tests::test_empty_options ... ok [INFO] [stdout] test tests::test_exclude_selectors ... ok [INFO] [stdout] test tests::test_invalid_selectors ... ok [INFO] [stdout] test tests::test_include_selectors ... ok [INFO] [stdout] test tests::test_include_raw_html ... ok [INFO] [stdout] test tests::youtube_url_without_player_response_falls_through ... ok [INFO] [stdout] test tests::test_only_main_content ... ok [INFO] [stdout] test tests::test_raw_html_not_in_json_when_none ... ok [INFO] [stdout] test youtube::tests::format_duration_short ... ok [INFO] [stdout] test youtube::tests::format_view_count_values ... ok [INFO] [stdout] test tests::youtube_extraction_produces_structured_markdown ... ok [INFO] [stdout] test youtube::tests::handles_missing_optional_fields ... ok [INFO] [stdout] test youtube::tests::returns_none_for_non_youtube_html ... ok [INFO] [stdout] test youtube::tests::detects_youtube_urls ... ok [INFO] [stdout] test youtube::tests::extracts_from_mock_html ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 269 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/webclaw_fetch-2de29197709a98cd) [INFO] [stdout] [INFO] [stdout] running 68 tests [INFO] [stdout] test client::tests::test_batch_extract_result_struct ... ok [INFO] [stdout] test client::tests::test_batch_result_struct ... ok [INFO] [stdout] test client::tests::test_extract_host ... ok [INFO] [stdout] test client::tests::test_pdf_to_extraction_result ... ok [INFO] [stdout] test client::tests::test_default_config_has_empty_proxy_pool ... ok [INFO] [stdout] test client::tests::test_collect_ordered_handles_gaps ... ok [INFO] [stdout] test crawler::tests::different_schemes_are_different_origins ... ok [INFO] [stdout] test client::tests::test_is_pdf_content_type ... ok [INFO] [stdout] test client::tests::test_batch_preserves_order ... ok [INFO] [stdout] test crawler::tests::glob_exact_match ... ok [INFO] [stdout] test crawler::tests::glob_middle_wildcard ... ok [INFO] [stdout] test crawler::tests::glob_no_pattern_matches_nothing ... ok [INFO] [stdout] test crawler::tests::glob_star_matches_single_segment ... ok [INFO] [stdout] test crawler::tests::glob_trailing_star ... ok [INFO] [stdout] test crawler::tests::normalize_keeps_root_slash ... ok [INFO] [stdout] test crawler::tests::normalize_lowercases_host ... ok [INFO] [stdout] test crawler::tests::normalize_preserves_query ... ok [INFO] [stdout] test crawler::tests::normalize_strips_fragment ... ok [INFO] [stdout] test client::tests::test_static_pool_no_proxy ... ok [INFO] [stdout] test client::tests::test_pick_for_host_deterministic ... ok [INFO] [stdout] test client::tests::test_rotating_pool_prebuilds_clients ... ok [INFO] [stdout] test crawler::tests::normalize_strips_trailing_slash ... ok [INFO] [stdout] test crawler::tests::origin_includes_explicit_port ... ok [INFO] [stdout] test document::tests::test_csv_empty ... ok [INFO] [stdout] test document::tests::test_detect_by_url_extension ... ok [INFO] [stdout] test document::tests::test_csv_quoted_fields ... ok [INFO] [stdout] test client::tests::test_pick_for_host_distributes ... ok [INFO] [stdout] test crawler::tests::origin_omits_default_port ... ok [INFO] [stdout] test document::tests::test_csv_simple ... ok [INFO] [stdout] test document::tests::test_csv_windows_line_endings ... ok [INFO] [stdout] test document::tests::test_detect_csv_content_type ... ok [INFO] [stdout] test document::tests::test_content_type_takes_precedence_over_url ... ok [INFO] [stdout] test document::tests::test_detect_url_extension_with_query ... ok [INFO] [stdout] test document::tests::test_detect_xls_content_type ... ok [INFO] [stdout] test document::tests::test_detect_csv_content_type_with_charset ... ok [INFO] [stdout] test document::tests::test_detect_docx_content_type ... ok [INFO] [stdout] test document::tests::test_detect_none_for_html ... ok [INFO] [stdout] test document::tests::test_detect_xlsx_content_type ... ok [INFO] [stdout] test document::tests::test_docx_xml_empty_paragraphs_skipped ... ok [INFO] [stdout] test document::tests::test_detect_url_extension_case_insensitive ... ok [INFO] [stdout] test document::tests::test_docx_xml_simple_paragraphs ... ok [INFO] [stdout] test document::tests::test_strip_markdown ... ok [INFO] [stdout] test document::tests::test_extract_csv_result ... ok [INFO] [stdout] test document::tests::test_docx_xml_headings ... ok [INFO] [stdout] test document::tests::test_docx_xml_multiple_runs ... ok [INFO] [stdout] test proxy::tests::parse_file_empty_errors ... ok [INFO] [stdout] test proxy::tests::parse_invalid_returns_none ... ok [INFO] [stdout] test proxy::tests::parse_file_happy_path ... ok [INFO] [stdout] test proxy::tests::parse_host_port_only ... ok [INFO] [stdout] test proxy::tests::parse_host_port_user_pass ... ok [INFO] [stdout] test proxy::tests::parse_file_missing_errors ... ok [INFO] [stdout] test sitemap::tests::test_detect_sitemap_type ... ok [INFO] [stdout] test sitemap::tests::test_empty_sitemap ... ok [INFO] [stdout] test proxy::tests::parse_trims_whitespace ... ok [INFO] [stdout] test sitemap::tests::test_deduplicate ... ok [INFO] [stdout] test sitemap::tests::test_malformed_xml ... ok [INFO] [stdout] test sitemap::tests::test_malformed_xml_partial ... ok [INFO] [stdout] test sitemap::tests::test_parse_robots_txt_empty_value ... ok [INFO] [stdout] test sitemap::tests::test_parse_sitemap_index ... ok [INFO] [stdout] test sitemap::tests::test_missing_loc ... ok [INFO] [stdout] test sitemap::tests::test_parse_sitemap_xml_dispatches_urlset ... ok [INFO] [stdout] test sitemap::tests::test_parse_robots_txt ... ok [INFO] [stdout] test sitemap::tests::test_parse_sitemap_xml_dispatches_index ... ok [INFO] [stdout] test sitemap::tests::test_parse_urlset ... ok [INFO] [stdout] test document::tests::test_rows_to_markdown_table ... ok [INFO] [stdout] test document::tests::test_rows_to_markdown_table_ragged ... ok [INFO] [stdout] test sitemap::tests::test_priority_parsing ... ok [INFO] [stdout] test crawler::tests::glob_doublestar_matches_multiple_segments ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/webclaw_llm-ef019730e291d6d8) [INFO] [stdout] [INFO] [stdout] running 48 tests [INFO] [stdout] test clean::tests::handles_unclosed_think_tag ... ok [INFO] [stdout] test clean::tests::handles_empty_thinking_block ... ok [INFO] [stdout] test clean::tests::handles_only_thinking ... ok [INFO] [stdout] test clean::tests::preserves_json_content ... ok [INFO] [stdout] test clean::tests::passthrough_no_tags ... ok [INFO] [stdout] test clean::tests::real_world_extract_leak ... ok [INFO] [stdout] test chain::tests::empty_chain_returns_no_providers ... ok [INFO] [stdout] test chain::tests::chain_length ... ok [INFO] [stdout] test chain::tests::single_provider_success ... ok [INFO] [stdout] test chain::tests::fallback_on_first_failure ... ok [INFO] [stdout] test chain::tests::all_fail_collects_errors ... ok [INFO] [stdout] test clean::tests::strips_multiple_thinking_blocks ... ok [INFO] [stdout] test clean::tests::strips_partial_think_at_end ... ok [INFO] [stdout] test clean::tests::strips_orphan_closing_tag ... ok [INFO] [stdout] test clean::tests::strips_simple_thinking_block ... ok [INFO] [stdout] test clean::tests::thinking_with_newlines_before_json ... ok [INFO] [stdout] test clean::tests::strips_multiline_thinking ... ok [INFO] [stdout] test extract::tests::extract_json_uses_schema_in_prompt ... ok [INFO] [stdout] test extract::tests::parse_clean_json ... ok [INFO] [stdout] test extract::tests::extract_with_prompt_returns_json ... ok [INFO] [stdout] test extract::tests::parse_json_with_whitespace ... ok [INFO] [stdout] test providers::anthropic::tests::env_var_key_fallback ... ignored, mutates process env; run with --test-threads=1 [INFO] [stdout] test extract::tests::parse_invalid_json ... ok [INFO] [stdout] test extract::tests::parse_json_with_code_fence ... ok [INFO] [stdout] test extract::tests::parse_json_with_thinking_and_code_fence ... ok [INFO] [stdout] test extract::tests::parse_json_with_thinking_tags ... ok [INFO] [stdout] test providers::anthropic::tests::empty_key_returns_none ... ok [INFO] [stdout] test providers::anthropic::tests::no_key_returns_none ... ignored, mutates process env; run with --test-threads=1 [INFO] [stdout] test providers::ollama::tests::env_var_fallback ... ignored, mutates process env; run with --test-threads=1 [INFO] [stdout] test providers::ollama::tests::explicit_model_overrides_any_env ... ok [INFO] [stdout] test providers::anthropic::tests::default_model_accessor ... ok [INFO] [stdout] test providers::anthropic::tests::explicit_key_constructs ... ok [INFO] [stdout] test providers::ollama::tests::explicit_params_used ... ok [INFO] [stdout] test providers::ollama::tests::default_model_accessor ... ok [INFO] [stdout] test providers::anthropic::tests::custom_model ... ok [INFO] [stdout] test providers::ollama::tests::explicit_url_overrides_any_env ... ok [INFO] [stdout] test providers::openai::tests::custom_base_url_and_model ... ok [INFO] [stdout] test providers::openai::tests::default_model_accessor ... ok [INFO] [stdout] test providers::openai::tests::env_var_key_fallback ... ignored, mutates process env; run with --test-threads=1 [INFO] [stdout] test providers::openai::tests::no_key_returns_none ... ignored, mutates process env; run with --test-threads=1 [INFO] [stdout] test providers::tests::override_key_takes_precedence ... ok [INFO] [stdout] test providers::openai::tests::empty_key_returns_none ... ok [INFO] [stdout] test providers::openai::tests::explicit_key_constructs ... ok [INFO] [stdout] test summarize::tests::summarize_strips_thinking_tags ... ok [INFO] [stdout] test providers::tests::empty_override_returns_none ... ok [INFO] [stdout] test summarize::tests::summarize_custom_sentence_count ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/webclaw_mcp-276e90275af038a5) [INFO] [stdout] test providers::tests::none_override_with_no_env_returns_none ... ok [INFO] [stdout] test summarize::tests::summarize_returns_text ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 43 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test serpapi::tests::test_detect_language_cjk ... ok [INFO] [stdout] test serpapi::tests::test_lang_to_country ... ok [INFO] [stdout] test serpapi::tests::test_recency_values ... ok [INFO] [stdout] test serpapi::tests::test_detect_language_english ... ok [INFO] [stdout] test serpapi::tests::test_detect_language_vietnamese ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/webclaw_pdf-3ad84dbbeff43eab) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test tests::test_empty_bytes_returns_error ... ok [INFO] [stdout] test tests::test_pdf_metadata_default ... ok [INFO] [stdout] test tests::test_normalize_text_empty ... ok [INFO] [stdout] test tests::test_garbage_bytes_returns_error ... ok [INFO] [stdout] test tests::test_to_markdown_empty_title_skipped ... ok [INFO] [stdout] test tests::test_to_markdown_without_title ... ok [INFO] [stdout] test tests::test_to_markdown_with_title ... ok [INFO] [stdout] test tests::test_oversized_pdf_rejected ... ok [INFO] [stdout] test tests::test_normalize_text_collapses_blanks ... ok [INFO] [stdout] test tests::test_normalize_text_trims_lines ... ok [INFO] [stdout] test tests::test_truncated_pdf_header_returns_error ... ok [INFO] [stderr] Doc-tests webclaw_core [INFO] [stdout] [INFO] [stdout] test result: ok. 11 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] [stderr] Doc-tests webclaw_fetch [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 webclaw_llm [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 webclaw_pdf [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" "fb087c5eebb0495b5e583c60c8d1ad01d1e151ce262a117689625b6d012fa417", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb087c5eebb0495b5e583c60c8d1ad01d1e151ce262a117689625b6d012fa417", kill_on_drop: false }` [INFO] [stdout] fb087c5eebb0495b5e583c60c8d1ad01d1e151ce262a117689625b6d012fa417