[INFO] fetching crate finance-news-aggregator-rs 0.2.2...
[INFO] testing finance-news-aggregator-rs-0.2.2 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate finance-news-aggregator-rs 0.2.2 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate finance-news-aggregator-rs 0.2.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate finance-news-aggregator-rs 0.2.2
[INFO] tweaked toml for crates.io crate finance-news-aggregator-rs 0.2.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate finance-news-aggregator-rs 0.2.2 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4717e873b7cd1dba2a213b7e483e6e58f18361cad29970a6ecc9237522932391
[INFO] running `Command { std: "docker" "start" "-a" "4717e873b7cd1dba2a213b7e483e6e58f18361cad29970a6ecc9237522932391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4717e873b7cd1dba2a213b7e483e6e58f18361cad29970a6ecc9237522932391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4717e873b7cd1dba2a213b7e483e6e58f18361cad29970a6ecc9237522932391", kill_on_drop: false }`
[INFO] [stdout] 4717e873b7cd1dba2a213b7e483e6e58f18361cad29970a6ecc9237522932391
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d7c3b18202aae5308e43acbdfdd999ff5236818128e1b7145d767c51d27bd501
[INFO] running `Command { std: "docker" "start" "-a" "d7c3b18202aae5308e43acbdfdd999ff5236818128e1b7145d767c51d27bd501", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling fake_user_agent v0.2.2
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot v0.12.4
[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 env_logger v0.11.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[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 tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling finance-news-aggregator-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.54s
[INFO] running `Command { std: "docker" "inspect" "d7c3b18202aae5308e43acbdfdd999ff5236818128e1b7145d767c51d27bd501", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7c3b18202aae5308e43acbdfdd999ff5236818128e1b7145d767c51d27bd501", kill_on_drop: false }`
[INFO] [stdout] d7c3b18202aae5308e43acbdfdd999ff5236818128e1b7145d767c51d27bd501
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8eaf1a5b072c17a27e38fa92b15dba2f21eee428b1ee9d82f5e85037aa649473
[INFO] running `Command { std: "docker" "start" "-a" "8eaf1a5b072c17a27e38fa92b15dba2f21eee428b1ee9d82f5e85037aa649473", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling finance-news-aggregator-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/config_example.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut default_client = NewsClient::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name` and `tests_failed` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 45 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub tests_failed: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SourceSummary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name` and `error_message` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CliRunner` is never constructed
[INFO] [stdout]  --> tests/integration/cli_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CliRunner;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `run` and `print_help` are never used
[INFO] [stdout]    --> tests/integration/cli_runner.rs:12:18
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl CliRunner {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  11 |     /// Run integration tests from command line
[INFO] [stdout]  12 |     pub async fn run() {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn print_help() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `context`, `results`, `source_results`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/test_runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct IntegrationTestRunner {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 22 |     config: EnvironmentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     context: TestContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     results: Vec<TestResult>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     source_results: HashMap<String, Vec<TestResult>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TestSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SourceSummary` is never constructed
[INFO] [stdout]   --> tests/integration/test_runner.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SourceSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/integration/test_runner.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntegrationTestRunner {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn run_all_tests(&mut self) -> Result<TestSummary, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_sources_to_test(&self) -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn run_tests_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     async fn run_tests_sequential(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     async fn test_source_async(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     async fn test_cnbc_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     async fn test_market_watch_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     async fn test_nasdaq_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     async fn test_seeking_alpha_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn test_wsj_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     async fn test_yahoo_finance_source(client: reqwest::Client) -> Vec<TestResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     async fn test_function_with_symbols(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     async fn test_function<F, Fut>(function_name: &str, test_fn: F) -> TestResult
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn generate_summary(&self) -> TestSummary {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn generate_performance_report(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn print_final_report(&self, summary: &TestSummary) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestConfig` is never constructed
[INFO] [stdout]   --> tests/integration/utils/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_name`, `function_name`, `error_message`, `article_count`, and `execution_time_ms` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TestResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 33 |     pub source_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 34 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub success: bool,
[INFO] [stdout] 36 |     pub error_message: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub article_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub execution_time_ms: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client`, `config`, `deprecation_tracker`, and `start_time` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct TestContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub client: Client,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 68 |     pub config: IntegrationTestConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub deprecation_tracker: deprecation_tracker::DeprecationTracker,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sources_to_test`, `functions_to_skip`, `test_timeout_seconds`, `network_retry_attempts`, `deprecation_tracking_enabled`, and `ci_mode` are never read
[INFO] [stdout]   --> tests/integration/utils/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct IntegrationTestConfig {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 87 |     pub sources_to_test: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub functions_to_skip: HashMap<String, Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     pub test_timeout_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     pub network_retry_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub deprecation_tracking_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub ci_mode: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegrationTestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_sources`, `with_timeout`, `with_deprecation_tracking`, and `skip_functions` are never used
[INFO] [stdout]    --> tests/integration/utils/mod.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl IntegrationTestConfig {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 116 |     /// Create a new configuration with source filtering
[INFO] [stdout] 117 |     pub fn with_sources(sources: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn with_timeout(mut self, timeout_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_deprecation_tracking(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn skip_functions(mut self, source: &str, functions: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_news_collection` is never used
[INFO] [stdout]   --> tests/integration/utils/assertions.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn assert_valid_news_collection(articles: &[NewsArticle], min_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_reasonable_execution_time` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn assert_reasonable_execution_time(execution_time_ms: u128, max_time_ms: u128) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_expected_values` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn assert_contains_expected_values(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_contains_keys` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn assert_contains_keys<V>(map: &HashMap<String, V>, expected_keys: &[&str], map_name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArticleValidationRules` is never constructed
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ArticleValidationRules {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `lenient` and `strict` are never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl ArticleValidationRules {
[INFO] [stdout]     | --------------------------- associated functions in this implementation
[INFO] [stdout] 178 |     /// Create lenient validation rules for testing
[INFO] [stdout] 179 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_article_meets_rules` is never used
[INFO] [stdout]    --> tests/integration/utils/assertions.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub fn assert_article_meets_rules(article: &NewsArticle, rules: &ArticleValidationRules) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_retry_client` and `get_rotated_user_agent` are never used
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ClientFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn create_retry_client() -> Result<Client, reqwest::Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_rotated_user_agent() -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_attempts` is never read
[INFO] [stdout]   --> tests/integration/utils/client_factory.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct RetryConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 50 |     pub max_attempts: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RetryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_failure_with_url`, `get_source_failures`, `get_error_summary`, and `has_critical_failures` are never used
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DeprecationTracker {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn record_failure_with_url(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn get_source_failures(&self, source: &str) -> Vec<&FailureRecord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn get_error_summary(&self) -> &HashMap<String, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn has_critical_failures(&self, source: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error_message` and `timestamp` are never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct FailureRecord {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub error_message: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_working` is never read
[INFO] [stdout]    --> tests/integration/utils/deprecation_tracker.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct DeprecatedEndpoint {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub last_working: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeprecatedEndpoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enable_performance_tracking`, `parallel_execution`, and `verbose_output` are never read
[INFO] [stdout]   --> tests/integration/utils/environment.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct EnvironmentConfig {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub enable_performance_tracking: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub parallel_execution: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub verbose_output: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvironmentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_feature_enabled` is never used
[INFO] [stdout]    --> tests/integration/utils/environment.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EnvironmentConfig {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_feature_enabled(feature: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 35.12s
[INFO] running `Command { std: "docker" "inspect" "8eaf1a5b072c17a27e38fa92b15dba2f21eee428b1ee9d82f5e85037aa649473", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8eaf1a5b072c17a27e38fa92b15dba2f21eee428b1ee9d82f5e85037aa649473", kill_on_drop: false }`
[INFO] [stdout] 8eaf1a5b072c17a27e38fa92b15dba2f21eee428b1ee9d82f5e85037aa649473
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] db44195e6500bee184c5ed6b4dd458d61c8ab289f9a39fa3fbbd1f513893f8b4
[INFO] running `Command { std: "docker" "start" "-a" "db44195e6500bee184c5ed6b4dd458d61c8ab289f9a39fa3fbbd1f513893f8b4", 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_wsj_integration") generated 25 warnings
[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 "integration_test_suite") generated 21 warnings (18 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_cnbc_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_yahoo_finance_integration") generated 25 warnings (25 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/finance_news_aggregator_rs-e85af618c3416896)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test news_source::wsj::tests::test_wsj_config ... ok
[INFO] [stdout] test news_source::wsj::tests::test_wsj_opinions ... ok
[INFO] [stdout] test news_client::tests::test_cnbc_client_access ... 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_client_creation ... ok
[INFO] [stdout] test news_client::tests::test_generic_client_access ... ok
[INFO] [stdout] test news_client::tests::test_nasdaq_client_access ... ok
[INFO] [stdout] 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_all_clients_independent ... ok
[INFO] [stderr]      Running tests/integration_test_suite.rs (/opt/rustwide/target/debug/deps/integration_test_suite-a5117bf5dde516c8)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.63s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test integration::utils::assertions::tests::test_non_empty_collection ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_valid_news_article ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_valid_url_assertion ... ok
[INFO] [stdout] test integration::utils::client_factory::tests::test_retry_config_delay_calculation ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_environment_detection ... 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_feature_flags ... ok
[INFO] [stdout] test integration::utils::deprecation_tracker::tests::test_deprecation_report_generation ... ok
[INFO] [stdout] test integration::utils::environment::tests::test_sources_filter ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_empty_collection_assertion - should panic ... ok
[INFO] [stdout] test integration::utils::assertions::tests::test_invalid_url_assertion - should panic ... ok
[INFO] [stdout] test integration::test_runner::tests::test_runner_creation ... ok
[INFO] [stdout] test integration::test_runner::tests::test_basic_functionality_test ... ok
[INFO] [stdout] test integration::utils::client_factory::tests::test_client_creation ... 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: 23.437369ms
[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 0ns
[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 0ns
[INFO] [stdout]    Failed functions: ["lifestyle", "market_news", "opinions", "technology_news", "us_business_news", "world_news"]
[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] 🔸 MarketWatch: 1/5 passed (20.0%) - 0 articles - avg 1ms
[INFO] [stdout]    Failed functions: ["top_stories", "real_time_headlines", "market_pulse", "bulletins"]
[INFO] [stdout] 🔸 CNBC: 1/10 passed (10.0%) - 0 articles - avg 1ms
[INFO] [stdout]    Failed functions: ["top_news", "business", "technology", "investing", "world_news", "fetch_topic(economy)", "fetch_topic(finance)", "fetch_topic(politics)", "fetch_topic(health_care)"]
[INFO] [stdout] 🔸 NASDAQ: 1/13 passed (7.7%) - 0 articles - avg 0ns
[INFO] [stdout]    Failed functions: ["commodities", "cryptocurrency", "dividends", "earnings", "economics", "innovation", "original_content", "financial_advisors", "stocks", "fetch_topic(commodities)", "fetch_topic(cryptocurrency)", "fetch_topic(earnings)"]
[INFO] [stdout] 
[INFO] [stdout] 🔍 === DEPRECATION REPORT ===
[INFO] [stdout] === DEPRECATION REPORT ===
[INFO] [stdout] Total Failures: 0
[INFO] [stdout] Sources Affected: 0
[INFO] [stdout] 
[INFO] [stdout] Error Summary:
[INFO] [stdout] 
[INFO] [stdout] === END REPORT ===
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ⚡ === PERFORMANCE REPORT ===
[INFO] [stdout] === PERFORMANCE ANALYSIS ===
[INFO] [stdout] YahooFinance: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] CNBC: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] MarketWatch: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] WallStreetJournal: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] SeekingAlpha: avg=0ms, min=0ms, max=0ms
[INFO] [stdout] NASDAQ: 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:     0x57c8c3f54dc2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57c8c3f54dc2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57c8c3f54dc2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x57c8c3f54dc2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x57c8c3f677bf - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x57c8c3f677bf - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x57c8c3f1f1e3 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x57c8c3f1f1e3 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x57c8c3f2c4d2 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x57c8c3f3144f - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x57c8c3f312e1 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x57c8c3abcb3e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x57c8c3abcb3e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x57c8c3f31b0f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x57c8c3f31b0f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x57c8c3f318ba - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x57c8c3f2c609 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x57c8c3f13a0d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x57c8c3f71180 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x57c8c37f2a33 - integration_test_suite::validate_test_results::hdbff8671a10e3218
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:36:5
[INFO] [stdout]   20:     0x57c8c37f4a24 - integration_test_suite::run_comprehensive_integration_tests::{{closure}}::hda8f00fbbebee973
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:5
[INFO] [stdout]   21:     0x57c8c37f0e32 - <core::pin::Pin<P> as core::future::future::Future>::poll::ha9b31b4d70179d7c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x57c8c37f0dad - <core::pin::Pin<P> as core::future::future::Future>::poll::h1e3f694d1e9b2d26
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x57c8c37e571d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h05699228a8b88c2b
[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:     0x57c8c37e54bb - tokio::task::coop::with_budget::h0011f42d90bb87ac
[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:     0x57c8c37e54bb - tokio::task::coop::budget::hc07f37e988a4f397
[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:     0x57c8c37e54bb - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h16f117aaf9b1f468
[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:     0x57c8c37e2df0 - tokio::runtime::scheduler::current_thread::Context::enter::haa0ecdfff49bc321
[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:     0x57c8c37e4b8d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::ha056096f48433647
[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:     0x57c8c37e3da4 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h046e7f95fe0627bc
[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:     0x57c8c37f5f6b - tokio::runtime::context::scoped::Scoped<T>::set::h8f06fcb074c66df1
[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:     0x57c8c37e1269 - tokio::runtime::context::set_scheduler::{{closure}}::h8e210c8193ef4024
[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:     0x57c8c3800102 - std::thread::local::LocalKey<T>::try_with::h121713d17c9b363b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/local.rs:508:12
[INFO] [stdout]   33:     0x57c8c37ffe8e - std::thread::local::LocalKey<T>::with::he95d7589982e6e4a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/local.rs:472:20
[INFO] [stdout]   34:     0x57c8c37e11dd - tokio::runtime::context::set_scheduler::h06804a9d3d65eb66
[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:     0x57c8c37e3730 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hc8c69fd83fb57926
[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:     0x57c8c37e3de3 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h026e8af76c68c958
[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:     0x57c8c37e1bc0 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hf19c31b41e79e659
[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:     0x57c8c37c14c0 - tokio::runtime::context::runtime::enter_runtime::h811f7917ce9367a7
[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:     0x57c8c37e1631 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h54fc44822e5bffe7
[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:     0x57c8c37f60d4 - tokio::runtime::runtime::Runtime::block_on_inner::hae50b0f5f0249b2a
[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:     0x57c8c37f63ac - tokio::runtime::runtime::Runtime::block_on::h5af4cba263bcd56a
[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:     0x57c8c37f455f - integration_test_suite::run_comprehensive_integration_tests::h6853e19081d31fd3
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:28:36
[INFO] [stdout]   43:     0x57c8c37f4aa7 - integration_test_suite::run_comprehensive_integration_tests::{{closure}}::he4c2ac314ab63fd7
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test_suite.rs:9:47
[INFO] [stdout]   44:     0x57c8c3783e26 - core::ops::function::FnOnce::call_once::h10249ed990277362
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x57c8c3abc98b - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x57c8c3abc98b - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x57c8c3ad099d - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x57c8c3ad099d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x57c8c3ad099d - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   50:     0x57c8c3ad099d - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   51:     0x57c8c3ad099d - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x57c8c3ad099d - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x57c8c3ad099d - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x57c8c3aa9ee4 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x57c8c3aa9ee4 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   56:     0x57c8c3aad81a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   57:     0x57c8c3aad81a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x57c8c3aad81a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   59:     0x57c8c3aad81a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   60:     0x57c8c3aad81a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x57c8c3aad81a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   62:     0x57c8c3aad81a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x57c8c3f27a0f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   64:     0x57c8c3f27a0f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   65:     0x78a315906aa4 - <unknown>
[INFO] [stdout]   66:     0x78a315993a64 - 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.37s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration_test_suite`
[INFO] running `Command { std: "docker" "inspect" "db44195e6500bee184c5ed6b4dd458d61c8ab289f9a39fa3fbbd1f513893f8b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db44195e6500bee184c5ed6b4dd458d61c8ab289f9a39fa3fbbd1f513893f8b4", kill_on_drop: false }`
[INFO] [stdout] db44195e6500bee184c5ed6b4dd458d61c8ab289f9a39fa3fbbd1f513893f8b4
