[INFO] fetching crate finance-news-aggregator-rs 0.2.2...
[INFO] testing finance-news-aggregator-rs-0.2.2 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate finance-news-aggregator-rs 0.2.2 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate finance-news-aggregator-rs 0.2.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate finance-news-aggregator-rs 0.2.2
[INFO] tweaked toml for crates.io crate finance-news-aggregator-rs 0.2.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate finance-news-aggregator-rs 0.2.2 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate finance-news-aggregator-rs 0.2.2 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 64ba9ebd586dc7d7d5911c21d1bb2f16d762c7de35b9c12b1e7b4722e5d2c90b
[INFO] running `Command { std: "docker" "start" "-a" "64ba9ebd586dc7d7d5911c21d1bb2f16d762c7de35b9c12b1e7b4722e5d2c90b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64ba9ebd586dc7d7d5911c21d1bb2f16d762c7de35b9c12b1e7b4722e5d2c90b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64ba9ebd586dc7d7d5911c21d1bb2f16d762c7de35b9c12b1e7b4722e5d2c90b", kill_on_drop: false }`
[INFO] [stdout] 64ba9ebd586dc7d7d5911c21d1bb2f16d762c7de35b9c12b1e7b4722e5d2c90b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e24fd6a122c9d1762204b017f0e5a3d5dbbc6453df48e82cbc42517ed2316bd
[INFO] running `Command { std: "docker" "start" "-a" "1e24fd6a122c9d1762204b017f0e5a3d5dbbc6453df48e82cbc42517ed2316bd", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling jiff v0.2.15
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling fake_user_agent v0.2.2
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling quick-xml v0.38.2
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling finance-news-aggregator-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.12s
[INFO] running `Command { std: "docker" "inspect" "1e24fd6a122c9d1762204b017f0e5a3d5dbbc6453df48e82cbc42517ed2316bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e24fd6a122c9d1762204b017f0e5a3d5dbbc6453df48e82cbc42517ed2316bd", kill_on_drop: false }`
[INFO] [stdout] 1e24fd6a122c9d1762204b017f0e5a3d5dbbc6453df48e82cbc42517ed2316bd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b163c8ffb9bed002eb8833fc5a9843eb705bf98303b6a59546d0e8beb0dbc96
[INFO] running `Command { std: "docker" "start" "-a" "9b163c8ffb9bed002eb8833fc5a9843eb705bf98303b6a59546d0e8beb0dbc96", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling finance-news-aggregator-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/config_example.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut default_client = NewsClient::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name` and `tests_failed` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 45 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub tests_failed: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SourceSummary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name` and `error_message` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 31.95s
[INFO] running `Command { std: "docker" "inspect" "9b163c8ffb9bed002eb8833fc5a9843eb705bf98303b6a59546d0e8beb0dbc96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b163c8ffb9bed002eb8833fc5a9843eb705bf98303b6a59546d0e8beb0dbc96", kill_on_drop: false }`
[INFO] [stdout] 9b163c8ffb9bed002eb8833fc5a9843eb705bf98303b6a59546d0e8beb0dbc96
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9d4756a22d5da2b3ce85c287be75b94c6f574981375e259944e0c80ae4f189c2
[INFO] running `Command { std: "docker" "start" "-a" "9d4756a22d5da2b3ce85c287be75b94c6f574981375e259944e0c80ae4f189c2", kill_on_drop: false }`
[INFO] [stderr] warning: struct `CliRunner` is never constructed
[INFO] [stderr]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct CliRunner;
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `run` and `print_help` are never used
[INFO] [stderr]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl CliRunner {
[INFO] [stderr]     | -------------- associated functions in this implementation
[INFO] [stderr]  11 |     /// Run integration tests from command line
[INFO] [stderr]  12 |     pub async fn run() {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     fn print_help() {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stderr]   --> tests/integration/test_runner.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct IntegrationTestRunner {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 22 |     config: EnvironmentConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 23 |     context: TestContext,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 24 |     results: Vec<TestResult>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 26 |     start_time: Instant,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestSummary` is never constructed
[INFO] [stderr]   --> tests/integration/test_runner.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct TestSummary {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SourceSummary` is never constructed
[INFO] [stderr]   --> tests/integration/test_runner.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct SourceSummary {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> tests/integration/test_runner.rs:81:18
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl IntegrationTestRunner {
[INFO] [stderr]     | -------------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     async fn run_tests_parallel(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 155 |     async fn run_tests_sequential(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 178 |     async fn test_source_async(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 417 |     async fn test_function_with_symbols(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TestConfig` is never constructed
[INFO] [stderr]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct TestConfig {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct TestResult {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 33 |     pub source_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 34 |     pub function_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 35 |     pub success: bool,
[INFO] [stderr] 36 |     pub error_message: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 37 |     pub article_count: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 38 |     pub execution_time_ms: u128,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct TestContext {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 67 |     pub client: Client,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 68 |     pub config: IntegrationTestConfig,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 70 |     pub start_time: Instant,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub struct IntegrationTestConfig {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 89 |     pub test_timeout_seconds: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 90 |     pub network_retry_attempts: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 92 |     pub ci_mode: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stderr]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl IntegrationTestConfig {
[INFO] [stderr]     | -------------------------- associated items in this implementation
[INFO] [stderr] 116 |     /// Create a new configuration with source filtering
[INFO] [stderr] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_news_collection` is never used
[INFO] [stderr]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_contains_expected_values` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub fn assert_contains_expected_values(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_contains_keys` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stderr]     |
[INFO] [stderr] 153 | pub struct ArticleValidationRules {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `lenient` and `strict` are never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stderr]     |
[INFO] [stderr] 177 | impl ArticleValidationRules {
[INFO] [stderr]     | --------------------------- associated functions in this implementation
[INFO] [stderr] 178 |     /// Create lenient validation rules for testing
[INFO] [stderr] 179 |     pub fn lenient() -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     pub fn strict() -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_article_meets_rules` is never used
[INFO] [stderr]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stderr]     |
[INFO] [stderr] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stderr]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl ClientFactory {
[INFO] [stderr]    | ------------------ associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `max_attempts` is never read
[INFO] [stderr]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct RetryConfig {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 50 |     pub max_attempts: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stderr]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stderr]     |
[INFO] [stderr]  13 | impl DeprecationTracker {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  47 |     pub fn record_failure_with_url(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `error_message` and `timestamp` are never read
[INFO] [stderr]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stderr]     |
[INFO] [stderr] 185 | pub struct FailureRecord {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 189 |     pub error_message: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `last_working` is never read
[INFO] [stderr]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 196 | pub struct DeprecatedEndpoint {
[INFO] [stderr]     |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 201 |     pub last_working: Option<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stderr]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub struct EnvironmentConfig {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub enable_performance_tracking: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     pub parallel_execution: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     pub verbose_output: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `is_feature_enabled` is never used
[INFO] [stderr]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stderr]     |
[INFO] [stderr]  28 | impl EnvironmentConfig {
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source_name` and `tests_failed` are never read
[INFO] [stderr]   --> tests/integration/test_runner.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct SourceSummary {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 45 |     pub source_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub tests_failed: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SourceSummary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source_name` and `error_message` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct TestResult {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 33 |     pub source_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub error_message: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `config` and `start_time` are never read
[INFO] [stderr]   --> tests/integration/utils/mod.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct TestContext {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 67 |     pub client: Client,
[INFO] [stderr] 68 |     pub config: IntegrationTestConfig,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stderr] 70 |     pub start_time: Instant,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/config_example.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut default_client = NewsClient::new();
[INFO] [stderr]    |         ----^^^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_market_watch_integration") generated 25 warnings
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_wsj_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_seeking_alpha_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "integration_test_suite") generated 21 warnings (18 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_nasdaq_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_cnbc_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (example "config_example") generated 1 warning (run `cargo fix --example "config_example" -p finance-news-aggregator-rs` to apply 1 suggestion)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_yahoo_finance_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/finance_news_aggregator_rs-ffea881fca49e311)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test news_source::wsj::tests::test_wsj_config ... ok
[INFO] [stdout] test news_client::tests::test_market_watch_client_access ... ok
[INFO] [stdout] test news_client::tests::test_yahoo_finance_client_access ... ok
[INFO] [stdout] test news_client::tests::test_cnbc_client_access ... ok
[INFO] [stdout] test news_source::wsj::tests::test_wsj_opinions ... ok
[INFO] [stdout] test news_client::tests::test_wsj_client_access ... ok
[INFO] [stdout] test news_client::tests::test_client_creation ... ok
[INFO] [stdout] test news_client::tests::test_all_clients_independent ... ok
[INFO] [stdout] test news_client::tests::test_seeking_alpha_client_access ... ok
[INFO] [stdout] test news_client::tests::test_generic_client_access ... ok
[INFO] [stdout] test news_client::tests::test_nasdaq_client_access ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test_suite.rs (/opt/rustwide/target/debug/deps/integration_test_suite-e78c2abf6e468640)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test integration::utils::assertions::tests::test_non_empty_collection ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_valid_news_article ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_valid_url_assertion ... ok
[INFO] [stdout] test integration::utils::client_factory::tests::test_retry_config_delay_calculation ... ok
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_deprecation_report_generation ... ok
[INFO] [stdout] test run_deprecation_detection_tests ... ignored
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_failure_recording ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_feature_flags ... ok
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_error_classification ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_sources_filter ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_environment_detection ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_empty_collection_assertion - should panic ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_invalid_url_assertion - should panic ... ok
[INFO] [stdout] test integration::test_runner::tests::test_runner_creation ... ok
[INFO] [stdout] test integration::test_runner::tests::test_basic_functionality_test ... ok
[INFO] [stdout] test test_network_connectivity ... ok
[INFO] [stdout] test integration::utils::client_factory::tests::test_client_creation ... ok
[INFO] [stdout] test run_comprehensive_integration_tests ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- run_comprehensive_integration_tests stdout ----
[INFO] [stdout] 🚀 Starting comprehensive integration test suite
[INFO] [stdout] 🚀 Starting comprehensive integration test suite
[INFO] [stdout] Environment: Local
[INFO] [stdout] Configuration: EnvironmentConfig { test_mode: Local, timeout_seconds: 45, max_retries: 3, sources_filter: None, enable_deprecation_tracking: true, enable_performance_tracking: true, parallel_execution: true, verbose_output: true }
[INFO] [stdout] 
[INFO] [stdout] 🔄 Running tests in parallel mode
[INFO] [stdout] ✅ Completed tests for CNBC
[INFO] [stdout] ✅ Completed tests for MarketWatch
[INFO] [stdout] ✅ Completed tests for NASDAQ
[INFO] [stdout] ✅ Completed tests for SeekingAlpha
[INFO] [stdout] ✅ Completed tests for WallStreetJournal
[INFO] [stdout] ✅ Completed tests for YahooFinance
[INFO] [stdout] 
[INFO] [stdout] 🎯 ===== INTEGRATION TEST SUMMARY =====
[INFO] [stdout] ⏱️  Total execution time: 21.456977ms
[INFO] [stdout] 📊 Total tests: 65
[INFO] [stdout] ✅ Successful: 7 (10.8%)
[INFO] [stdout] ❌ Failed: 58 (89.2%)
[INFO] [stdout] 📰 Total articles fetched: 0
[INFO] [stdout] 
[INFO] [stdout] 📈 === SOURCE BREAKDOWN ===
[INFO] [stdout] 🔸 WallStreetJournal: 2/8 passed (25.0%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["lifestyle", "market_news", "opinions", "technology_news", "us_business_news", "world_news"]
[INFO] [stdout] 🔸 YahooFinance: 1/8 passed (12.5%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["headlines", "topstories", "headline(AAPL)", "headline(MSFT)", "headline(TSLA)", "headline(array_0)", "headline(array_1)"]
[INFO] [stdout] 🔸 MarketWatch: 1/5 passed (20.0%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["top_stories", "real_time_headlines", "market_pulse", "bulletins"]
[INFO] [stdout] 🔸 SeekingAlpha: 1/21 passed (4.8%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["all_news", "editors_picks", "etfs", "forex", "ipo_analysis", "latest_articles", "long_ideas", "short_ideas", "transcripts", "wall_street_breakfast", "most_popular_articles", "global_markets(US)", "global_markets(UK)", "global_markets(Germany)", "sectors(technology)", "sectors(healthcare)", "sectors(finance)", "stocks(AAPL)", "stocks(MSFT)", "stocks(GOOGL)"]
[INFO] [stdout] 🔸 CNBC: 1/10 passed (10.0%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["top_news", "business", "technology", "investing", "world_news", "fetch_topic(economy)", "fetch_topic(finance)", "fetch_topic(politics)", "fetch_topic(health_care)"]
[INFO] [stdout] 🔸 NASDAQ: 1/13 passed (7.7%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["commodities", "cryptocurrency", "dividends", "earnings", "economics", "innovation", "original_content", "financial_advisors", "stocks", "fetch_topic(commodities)", "fetch_topic(cryptocurrency)", "fetch_topic(earnings)"]
[INFO] [stdout] 
[INFO] [stdout] 🔍 === DEPRECATION REPORT ===
[INFO] [stdout] === DEPRECATION REPORT ===
[INFO] [stdout] Total Failures: 0
[INFO] [stdout] Sources Affected: 0
[INFO] [stdout] 
[INFO] [stdout] Error Summary:
[INFO] [stdout] 
[INFO] [stdout] === END REPORT ===
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ⚡ === PERFORMANCE REPORT ===
[INFO] [stdout] === PERFORMANCE ANALYSIS ===
[INFO] [stdout] NASDAQ: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] CNBC: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] SeekingAlpha: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] YahooFinance: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] MarketWatch: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] WallStreetJournal: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 🚨 Overall Status: CRITICAL (10.8% success rate)
[INFO] [stdout] =====================================
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'run_comprehensive_integration_tests' (53) panicked at tests/integration_test_suite.rs:36:5:
[INFO] [stdout] Test success rate too low: 10.8% (expected >= 50%)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63f6b1fb22a2 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x63f6b1fb22a2 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x63f6b1fb22a2 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x63f6b1fb22a2 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x63f6b1fcb7aa - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x63f6b1fcb7aa - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x63f6b1fb8c16 - std[3f03f8b59f91bef1]::io::default_write_fmt::<alloc[15e7b27aba85d2e2]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x63f6b1fb8c16 - <alloc[15e7b27aba85d2e2]::vec::Vec<u8> as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x63f6b1f8f3bf - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x63f6b1f8f3bf - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x63f6b1fa9c29 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x63f6b1b0dcee - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x63f6b1b0dcee - test[30224e0cb089acd2]::test_main_with_exit_callback::<test[30224e0cb089acd2]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x63f6b1fa9e92 - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x63f6b1fa9e92 - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x63f6b1f8f478 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x63f6b1f843a9 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x63f6b1f9065d - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x63f6b1fcbf9c - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x63f6b1852f62 - integration_test_suite[e6c5e3c216c908ef]::validate_test_results
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:36:5
[INFO] [stdout]   20:     0x63f6b18526a5 - integration_test_suite[e6c5e3c216c908ef]::run_comprehensive_integration_tests::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:5
[INFO] [stdout]   21:     0x63f6b182d5c2 - <core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>> as core[585f66e14d78f9ba]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x63f6b182d63d - <core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>> as core[585f66e14d78f9ba]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x63f6b185b70d - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   24:     0x63f6b185b60b - tokio[3fce3d6843b3b720]::task::coop::with_budget::<core[585f66e14d78f9ba]::task::poll::Poll<()>, <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x63f6b185b60b - tokio[3fce3d6843b3b720]::task::coop::budget::<core[585f66e14d78f9ba]::task::poll::Poll<()>, <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x63f6b185b60b - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   27:     0x63f6b1856550 - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Context>::enter::<core[585f66e14d78f9ba]::task::poll::Poll<()>, <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   28:     0x63f6b185a78d - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   29:     0x63f6b1859a84 - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}, core[585f66e14d78f9ba]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   30:     0x63f6b183913b - <tokio[3fce3d6843b3b720]::runtime::context::scoped::Scoped<tokio[3fce3d6843b3b720]::runtime::scheduler::Context>>::set::<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}, core[585f66e14d78f9ba]::option::Option<()>>::{closure#0}, (alloc[15e7b27aba85d2e2]::boxed::Box<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Core>, core[585f66e14d78f9ba]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x63f6b1869de9 - tokio[3fce3d6843b3b720]::runtime::context::set_scheduler::<(alloc[15e7b27aba85d2e2]::boxed::Box<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Core>, core[585f66e14d78f9ba]::option::Option<()>), <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}, core[585f66e14d78f9ba]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x63f6b18411d2 - <std[3f03f8b59f91bef1]::thread::local::LocalKey<tokio[3fce3d6843b3b720]::runtime::context::Context>>::try_with::<tokio[3fce3d6843b3b720]::runtime::context::set_scheduler<(alloc[15e7b27aba85d2e2]::boxed::Box<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Core>, core[585f66e14d78f9ba]::option::Option<()>), <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}, core[585f66e14d78f9ba]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[15e7b27aba85d2e2]::boxed::Box<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Core>, core[585f66e14d78f9ba]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x63f6b1840d5e - <std[3f03f8b59f91bef1]::thread::local::LocalKey<tokio[3fce3d6843b3b720]::runtime::context::Context>>::with::<tokio[3fce3d6843b3b720]::runtime::context::set_scheduler<(alloc[15e7b27aba85d2e2]::boxed::Box<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Core>, core[585f66e14d78f9ba]::option::Option<()>), <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}, core[585f66e14d78f9ba]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[15e7b27aba85d2e2]::boxed::Box<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Core>, core[585f66e14d78f9ba]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x63f6b1869b0d - tokio[3fce3d6843b3b720]::runtime::context::set_scheduler::<(alloc[15e7b27aba85d2e2]::boxed::Box<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::Core>, core[585f66e14d78f9ba]::option::Option<()>), <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}, core[585f66e14d78f9ba]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x63f6b1858ba0 - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>::{closure#0}, core[585f66e14d78f9ba]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   36:     0x63f6b1858e96 - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[585f66e14d78f9ba]::pin::Pin<&mut core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   37:     0x63f6b1859590 - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x63f6b1842c23 - tokio[3fce3d6843b3b720]::runtime::context::runtime::enter_runtime::<<tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x63f6b1856081 - <tokio[3fce3d6843b3b720]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x63f6b185d7c4 - <tokio[3fce3d6843b3b720]::runtime::runtime::Runtime>::block_on_inner::<core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   41:     0x63f6b185d98c - <tokio[3fce3d6843b3b720]::runtime::runtime::Runtime>::block_on::<core[585f66e14d78f9ba]::pin::Pin<&mut dyn core[585f66e14d78f9ba]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   42:     0x63f6b18536bf - integration_test_suite[e6c5e3c216c908ef]::run_comprehensive_integration_tests
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:36
[INFO] [stdout]   43:     0x63f6b1850d57 - integration_test_suite[e6c5e3c216c908ef]::run_comprehensive_integration_tests::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:9:47
[INFO] [stdout]   44:     0x63f6b17f9cc6 - <integration_test_suite[e6c5e3c216c908ef]::run_comprehensive_integration_tests::{closure#0} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x63f6b1b0209b - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x63f6b1b0209b - test[30224e0cb089acd2]::__rust_begin_short_backtrace::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x63f6b1b0e8fa - test[30224e0cb089acd2]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x63f6b1b0e8fa - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x63f6b1b0e8fa - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x63f6b1b0e8fa - std[3f03f8b59f91bef1]::panicking::catch_unwind::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x63f6b1b0e8fa - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x63f6b1b0e8fa - test[30224e0cb089acd2]::run_test_in_process
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x63f6b1b0e8fa - test[30224e0cb089acd2]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x63f6b1b08dc4 - test[30224e0cb089acd2]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x63f6b1b08dc4 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x63f6b1b113f2 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   57:     0x63f6b1b113f2 - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x63f6b1b113f2 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x63f6b1b113f2 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<(), core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x63f6b1b113f2 - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x63f6b1b113f2 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   62:     0x63f6b1b113f2 - <std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x63f6b1fb1b0f - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::ops::function::FnOnce<(), Output = ()> + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   64:     0x63f6b1fb1b0f - <std[3f03f8b59f91bef1]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   65:     0x7f849f047aa4 - <unknown>
[INFO] [stdout]   66:     0x7f849f0d4a64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     run_comprehensive_integration_tests
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 16 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration_test_suite`
[INFO] running `Command { std: "docker" "inspect" "9d4756a22d5da2b3ce85c287be75b94c6f574981375e259944e0c80ae4f189c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d4756a22d5da2b3ce85c287be75b94c6f574981375e259944e0c80ae4f189c2", kill_on_drop: false }`
[INFO] [stdout] 9d4756a22d5da2b3ce85c287be75b94c6f574981375e259944e0c80ae4f189c2
