[INFO] fetching crate finance-news-aggregator-rs 0.2.2...
[INFO] testing finance-news-aggregator-rs-0.2.2 against 1.93.0 for beta-1.94-1
[INFO] extracting crate finance-news-aggregator-rs 0.2.2 into /workspace/builds/worker-1-tc1/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-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate finance-news-aggregator-rs 0.2.2 on toolchain 1.93.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "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" "+1.93.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fake_user_agent v0.2.2
[INFO] [stderr]   Downloaded quick-xml v0.38.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6ad26f3a62065a007b4ff20c286afa36824ea2903b3b9dd86427d002568f1917
[INFO] running `Command { std: "docker" "start" "-a" "6ad26f3a62065a007b4ff20c286afa36824ea2903b3b9dd86427d002568f1917", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ad26f3a62065a007b4ff20c286afa36824ea2903b3b9dd86427d002568f1917", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ad26f3a62065a007b4ff20c286afa36824ea2903b3b9dd86427d002568f1917", kill_on_drop: false }`
[INFO] [stdout] 6ad26f3a62065a007b4ff20c286afa36824ea2903b3b9dd86427d002568f1917
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f64db498c03c1cc1a5695fea6d181a22009acefe19583425686334bc84294ea
[INFO] running `Command { std: "docker" "start" "-a" "7f64db498c03c1cc1a5695fea6d181a22009acefe19583425686334bc84294ea", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling jiff v0.2.15
[INFO] [stderr]    Compiling fake_user_agent v0.2.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[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 serde v1.0.219
[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 quick-xml v0.38.2
[INFO] [stderr]    Compiling url v2.5.7
[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 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.66s
[INFO] running `Command { std: "docker" "inspect" "7f64db498c03c1cc1a5695fea6d181a22009acefe19583425686334bc84294ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f64db498c03c1cc1a5695fea6d181a22009acefe19583425686334bc84294ea", kill_on_drop: false }`
[INFO] [stdout] 7f64db498c03c1cc1a5695fea6d181a22009acefe19583425686334bc84294ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa9fe0e0187e326ca78d6687a6eb5ee60d5a36d58d30f61cc77be699241756ff
[INFO] running `Command { std: "docker" "start" "-a" "aa9fe0e0187e326ca78d6687a6eb5ee60d5a36d58d30f61cc77be699241756ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[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 tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[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] [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 `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: 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: 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: 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 `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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 30.38s
[INFO] running `Command { std: "docker" "inspect" "aa9fe0e0187e326ca78d6687a6eb5ee60d5a36d58d30f61cc77be699241756ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa9fe0e0187e326ca78d6687a6eb5ee60d5a36d58d30f61cc77be699241756ff", kill_on_drop: false }`
[INFO] [stdout] aa9fe0e0187e326ca78d6687a6eb5ee60d5a36d58d30f61cc77be699241756ff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 533d0f40c713b99157d55854a83822d3856ae6776a7f110eeb00ababda44ac06
[INFO] running `Command { std: "docker" "start" "-a" "533d0f40c713b99157d55854a83822d3856ae6776a7f110eeb00ababda44ac06", kill_on_drop: false }`
[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: 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: `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_cnbc_integration") generated 25 warnings
[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_market_watch_integration") generated 25 warnings (25 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_seeking_alpha_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_yahoo_finance_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: `finance-news-aggregator-rs` (test "test_wsj_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/finance_news_aggregator_rs-22ec9e108f8c77ed)
[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_generic_client_access ... ok
[INFO] [stdout] test news_client::tests::test_client_creation ... 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_nasdaq_client_access ... ok
[INFO] [stdout] test news_client::tests::test_all_clients_independent ... ok
[INFO] [stdout] test news_client::tests::test_wsj_client_access ... ok
[INFO] [stdout] test news_client::tests::test_seeking_alpha_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] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test_suite.rs (/opt/rustwide/target/debug/deps/integration_test_suite-6f7a847fd230aee8)
[INFO] [stdout] running 18 tests
[INFO] [stdout] test integration::utils::assertions::tests::test_valid_news_article ... 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 integration::utils::assertions::tests::test_valid_url_assertion ... ok
[INFO] [stdout] test run_deprecation_detection_tests ... ignored
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_error_classification ... ok
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_failure_recording ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_environment_detection ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_feature_flags ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_non_empty_collection ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_sources_filter ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_invalid_url_assertion - should panic ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_empty_collection_assertion - should panic ... ok
[INFO] [stdout] test integration::test_runner::tests::test_runner_creation ... ok
[INFO] [stdout] test integration::utils::client_factory::tests::test_client_creation ... ok
[INFO] [stdout] test integration::test_runner::tests::test_basic_functionality_test ... ok
[INFO] [stdout] test test_network_connectivity ... 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: 25.281332ms
[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] 🔸 YahooFinance: 1/8 passed (12.5%) - 0 articles - avg 1ms
[INFO] [stdout]    Failed functions: ["headlines", "topstories", "headline(AAPL)", "headline(MSFT)", "headline(TSLA)", "headline(array_0)", "headline(array_1)"]
[INFO] [stdout] 🔸 WallStreetJournal: 2/8 passed (25.0%) - 0 articles - avg 1ms
[INFO] [stdout]    Failed functions: ["lifestyle", "market_news", "opinions", "technology_news", "us_business_news", "world_news"]
[INFO] [stdout] 🔸 MarketWatch: 1/5 passed (20.0%) - 0 articles - avg 1ms
[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] 🔸 NASDAQ: 1/13 passed (7.7%) - 0 articles - avg 1ms
[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] 🔸 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] 
[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] YahooFinance: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] MarketWatch: 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] NASDAQ: 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:     0x5a285eafa272 - std::backtrace_rs::backtrace::libunwind::trace::h90e89fac33585832
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a285eafa272 - std::backtrace_rs::backtrace::trace_unsynchronized::heebcf2380a8e7359
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a285eafa272 - std::sys::backtrace::_print_fmt::hdf3e2a22d2f810db
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:68:9
[INFO] [stdout]    3:     0x5a285eafa272 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hac1d885928ba8582
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:38:26
[INFO] [stdout]    4:     0x5a285eb0cb67 - core::fmt::rt::Argument::fmt::h6901eb7c19abebe8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a285eb0cb67 - core::fmt::write::h83ebb4d32483be9e
[INFO] [stdout]    6:     0x5a285eac5b86 - std::io::default_write_fmt::h751a79cdae495f10
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a285eac5b86 - std::io::Write::write_fmt::h9ef514f8700ff7b2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a285ead79c9 - std::sys::backtrace::BacktraceLock::print::hcc2e1a3ac996c911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:41:9
[INFO] [stdout]    9:     0x5a285ead79c9 - std::panicking::default_hook::{{closure}}::h8e9c4d1276f0925f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a285ead7861 - std::panicking::default_hook::h2b2078d38b534dfb
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a285e66a73e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39d051e7dedac6a7
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5a285e66a73e - test::test_main_with_exit_callback::{{closure}}::h4b005fe75814c302
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a285ead7cf2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd426070722c13cbf
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5a285ead7cf2 - std::panicking::panic_with_hook::h39b739724e701bfd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a285ead7a88 - std::panicking::panic_handler::{{closure}}::he540c4833054e458
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a285ead2be9 - std::sys::backtrace::__rust_end_short_backtrace::hfa179d89deec8aed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:176:18
[INFO] [stdout]   17:     0x5a285eaba87d - __rustc[d131491b17107b07]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a285eb15f6c - core::panicking::panic_fmt::ha564519d657d9c46
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a285e3a4932 - integration_test_suite::validate_test_results::h5194305a7ed9669b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:36:5
[INFO] [stdout]   20:     0x5a285e3a6a85 - integration_test_suite::run_comprehensive_integration_tests::{{closure}}::h940ba05e166a274e
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:5
[INFO] [stdout]   21:     0x5a285e381022 - <core::pin::Pin<P> as core::future::future::Future>::poll::h7b4774eb17f4215e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5a285e38105d - <core::pin::Pin<P> as core::future::future::Future>::poll::hd6090d36bc0f27a2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5a285e3a24bd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h15e70095f0193a62
[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:     0x5a285e3a225b - tokio::task::coop::with_budget::h6b12b493f161ec4c
[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:     0x5a285e3a225b - tokio::task::coop::budget::h8521fbe607e6ac8c
[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:     0x5a285e3a225b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h6e7ce13b2f4d76d2
[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:     0x5a285e39fb50 - tokio::runtime::scheduler::current_thread::Context::enter::h53226a64febee94d
[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:     0x5a285e3a192d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::hd7e4ea1c694d0287
[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:     0x5a285e3a0b04 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h25f2598e4f3cc78e
[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:     0x5a285e39b1db - tokio::runtime::context::scoped::Scoped<T>::set::h6067a5da6cac9874
[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:     0x5a285e3af369 - tokio::runtime::context::set_scheduler::{{closure}}::h147ef729a40bd24c
[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:     0x5a285e37ed8f - std::thread::local::LocalKey<T>::try_with::h1dd08e9061c565f5
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x5a285e37ea7e - std::thread::local::LocalKey<T>::with::hfd998b2f26616614
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x5a285e3af2dd - tokio::runtime::context::set_scheduler::h5f30eec94b8e6ac7
[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:     0x5a285e3a0490 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hbb867854682a1ac8
[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:     0x5a285e3a0b66 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h9c0b0fc763c1123e
[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:     0x5a285e39e920 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hbffee7d8e5e693a3
[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:     0x5a285e38fd13 - tokio::runtime::context::runtime::enter_runtime::h7aaf8974b2378ae1
[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:     0x5a285e39e2e1 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h11948f780ab13e0d
[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:     0x5a285e389c24 - tokio::runtime::runtime::Runtime::block_on_inner::h6b74f56ad576f28a
[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:     0x5a285e389efc - tokio::runtime::runtime::Runtime::block_on::hf571a324e2a99fee
[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:     0x5a285e3a656f - integration_test_suite::run_comprehensive_integration_tests::he55036f01bb3ee11
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:36
[INFO] [stdout]   43:     0x5a285e3a6b07 - integration_test_suite::run_comprehensive_integration_tests::{{closure}}::hf0c57a38dd7857a7
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:9:47
[INFO] [stdout]   44:     0x5a285e335ab6 - core::ops::function::FnOnce::call_once::h96368be5f0e58c60
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5a285e66a56b - core::ops::function::FnOnce::call_once::h0217b30cfdee2e67
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5a285e66a56b - test::__rust_begin_short_backtrace::h6d98714a1e28f556
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x5a285e67defa - test::run_test_in_process::{{closure}}::he2c70d2634d3a3cc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x5a285e67defa - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40a0a825bcf17fdd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x5a285e67defa - std::panicking::catch_unwind::do_call::h6c8eb5dd6e7b5975
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x5a285e67defa - std::panicking::catch_unwind::h55455eac2972ad1e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x5a285e67defa - std::panic::catch_unwind::h0025465150a5e558
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x5a285e67defa - test::run_test_in_process::hb61e682f9b630fbc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x5a285e67defa - test::run_test::{{closure}}::hc2c2a7a38ab176e2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x5a285e658194 - test::run_test::{{closure}}::ha91867b85cd2a911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x5a285e658194 - std::sys::backtrace::__rust_begin_short_backtrace::ha00a9fe02049c339
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   56:     0x5a285e65bac2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd629fba9153dfb55
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   57:     0x5a285e65bac2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4189018816a5c5d9
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x5a285e65bac2 - std::panicking::catch_unwind::do_call::hf9fcdbca3c2e9877
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x5a285e65bac2 - std::panicking::catch_unwind::h97b92d88631c7c64
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x5a285e65bac2 - std::panic::catch_unwind::ha77cdbb68e725e5e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x5a285e65bac2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h511f05bc1a132253
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   62:     0x5a285e65bac2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6b68b31e9b685cb8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5a285eace26f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22a27d165e4e871d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   64:     0x5a285eace26f - std::sys::thread::unix::Thread::new::thread_start::h45cc87bb053add0f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   65:     0x7d8f6088aaa4 - <unknown>
[INFO] [stdout]   66:     0x7d8f60917a64 - 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.46s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration_test_suite`
[INFO] running `Command { std: "docker" "inspect" "533d0f40c713b99157d55854a83822d3856ae6776a7f110eeb00ababda44ac06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "533d0f40c713b99157d55854a83822d3856ae6776a7f110eeb00ababda44ac06", kill_on_drop: false }`
[INFO] [stdout] 533d0f40c713b99157d55854a83822d3856ae6776a7f110eeb00ababda44ac06
