[INFO] fetching crate rust-threat-detector 2.0.0...
[INFO] testing rust-threat-detector-2.0.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rust-threat-detector 2.0.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate rust-threat-detector 2.0.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate rust-threat-detector 2.0.0
[INFO] tweaked toml for crates.io crate rust-threat-detector 2.0.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rust-threat-detector 2.0.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rust-threat-detector 2.0.0 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 291a55d3a3ef885d717768e605972606511e7bdce1ade3a2633eb2393ce3c974
[INFO] running `Command { std: "docker" "start" "-a" "291a55d3a3ef885d717768e605972606511e7bdce1ade3a2633eb2393ce3c974", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "291a55d3a3ef885d717768e605972606511e7bdce1ade3a2633eb2393ce3c974", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "291a55d3a3ef885d717768e605972606511e7bdce1ade3a2633eb2393ce3c974", kill_on_drop: false }`
[INFO] [stdout] 291a55d3a3ef885d717768e605972606511e7bdce1ade3a2633eb2393ce3c974
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b86f6f4ab6d0ce0263dcaf242fa0fb6d91d1b906a1fb4bc859cc7b36c5b5bebf
[INFO] running `Command { std: "docker" "start" "-a" "b86f6f4ab6d0ce0263dcaf242fa0fb6d91d1b906a1fb4bc859cc7b36c5b5bebf", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling match_cfg v0.1.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling hostname v0.3.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling rust-threat-detector v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `feature_history` and `max_history` are never read
[INFO] [stdout]    --> src/ml_scoring.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct MLThreatScorer {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 153 |     weights: ModelWeights,
[INFO] [stdout] 154 |     feature_history: HashMap<String, VecDeque<ThreatFeatures>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |     baseline_stats: HashMap<String, BaselineStats>,
[INFO] [stdout] 156 |     max_history: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.83s
[INFO] running `Command { std: "docker" "inspect" "b86f6f4ab6d0ce0263dcaf242fa0fb6d91d1b906a1fb4bc859cc7b36c5b5bebf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b86f6f4ab6d0ce0263dcaf242fa0fb6d91d1b906a1fb4bc859cc7b36c5b5bebf", kill_on_drop: false }`
[INFO] [stdout] b86f6f4ab6d0ce0263dcaf242fa0fb6d91d1b906a1fb4bc859cc7b36c5b5bebf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5561e9eb0ad8373dcdc8d4237f4d8028c7a3030d00da2984ddb7e00b5baae388
[INFO] running `Command { std: "docker" "start" "-a" "5561e9eb0ad8373dcdc8d4237f4d8028c7a3030d00da2984ddb7e00b5baae388", kill_on_drop: false }`
[INFO] [stdout] warning: fields `feature_history` and `max_history` are never read
[INFO] [stdout]    --> src/ml_scoring.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct MLThreatScorer {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 153 |     weights: ModelWeights,
[INFO] [stdout] 154 |     feature_history: HashMap<String, VecDeque<ThreatFeatures>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |     baseline_stats: HashMap<String, BaselineStats>,
[INFO] [stdout] 156 |     max_history: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-threat-detector v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PlaybookAction`, `Playbook`, and `incident_response::FailureAction`
[INFO] [stdout]   --> examples/incident_response.rs:10:53
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ThreatCategory, ThreatSeverity, ResponseAction, Playbook,
[INFO] [stdout]    |                                                     ^^^^^^^^
[INFO] [stdout] 11 |     PlaybookAction, incident_response::FailureAction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id2`
[INFO] [stdout]    --> src/incident_response.rs:847:13
[INFO] [stdout]     |
[INFO] [stdout] 847 |         let id2 = manager.create_incident(&alert2);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_id2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_history` and `max_history` are never read
[INFO] [stdout]    --> src/ml_scoring.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct MLThreatScorer {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 153 |     weights: ModelWeights,
[INFO] [stdout] 154 |     feature_history: HashMap<String, VecDeque<ThreatFeatures>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |     baseline_stats: HashMap<String, BaselineStats>,
[INFO] [stdout] 156 |     max_history: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.21s
[INFO] running `Command { std: "docker" "inspect" "5561e9eb0ad8373dcdc8d4237f4d8028c7a3030d00da2984ddb7e00b5baae388", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5561e9eb0ad8373dcdc8d4237f4d8028c7a3030d00da2984ddb7e00b5baae388", kill_on_drop: false }`
[INFO] [stdout] 5561e9eb0ad8373dcdc8d4237f4d8028c7a3030d00da2984ddb7e00b5baae388
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9cb362934c3e85d23f91a160105dc27e19b7de7ab1060781f5c23c4942e36450
[INFO] running `Command { std: "docker" "start" "-a" "9cb362934c3e85d23f91a160105dc27e19b7de7ab1060781f5c23c4942e36450", kill_on_drop: false }`
[INFO] [stderr] warning: fields `feature_history` and `max_history` are never read
[INFO] [stderr]    --> src/ml_scoring.rs:154:5
[INFO] [stderr]     |
[INFO] [stderr] 152 | pub struct MLThreatScorer {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 153 |     weights: ModelWeights,
[INFO] [stderr] 154 |     feature_history: HashMap<String, VecDeque<ThreatFeatures>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 155 |     baseline_stats: HashMap<String, BaselineStats>,
[INFO] [stderr] 156 |     max_history: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id2`
[INFO] [stderr]    --> src/incident_response.rs:847:13
[INFO] [stderr]     |
[INFO] [stderr] 847 |         let id2 = manager.create_incident(&alert2);
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_id2`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-threat-detector` (lib) generated 1 warning
[INFO] [stderr] warning: `rust-threat-detector` (lib test) generated 2 warnings (1 duplicate) (run `cargo fix --lib -p rust-threat-detector --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused imports: `PlaybookAction`, `Playbook`, and `incident_response::FailureAction`
[INFO] [stderr]   --> examples/incident_response.rs:10:53
[INFO] [stderr]    |
[INFO] [stderr] 10 |     ThreatCategory, ThreatSeverity, ResponseAction, Playbook,
[INFO] [stderr]    |                                                     ^^^^^^^^
[INFO] [stderr] 11 |     PlaybookAction, incident_response::FailureAction,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-threat-detector` (example "incident_response") generated 1 warning (run `cargo fix --example "incident_response" -p rust-threat-detector` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_threat_detector-04e4de45bda37b86)
[INFO] [stdout] 
[INFO] [stdout] running 97 tests
[INFO] [stdout] test anomaly_detection::tests::test_anomaly_to_threat_alert ... ok
[INFO] [stdout] test anomaly_detection::tests::test_clear_old_data ... ok
[INFO] [stdout] test anomaly_detection::tests::test_severity_calculation ... ok
[INFO] [stdout] test anomaly_detection::tests::test_exponential_smoothing ... ok
[INFO] [stdout] test anomaly_detection::tests::test_analyze_log ... ok
[INFO] [stdout] test anomaly_detection::tests::test_get_all_metrics ... ok
[INFO] [stdout] test anomaly_detection::tests::test_iqr_detection ... ok
[INFO] [stdout] test anomaly_detection::tests::test_moving_average_detection ... ok
[INFO] [stdout] test anomaly_detection::tests::test_time_series_mean ... ok
[INFO] [stdout] test anomaly_detection::tests::test_time_series_moving_average ... ok
[INFO] [stdout] test anomaly_detection::tests::test_time_series_std_dev ... ok
[INFO] [stdout] test anomaly_detection::tests::test_time_series_iqr ... ok
[INFO] [stdout] test anomaly_detection::tests::test_time_series_percentile ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_clear_old_profiles ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_anomaly_detection_unusual_ip ... ok
[INFO] [stdout] test anomaly_detection::tests::test_zscore_detection ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_get_user_profile ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_anomaly_detection_unusual_hour ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_user_profile_creation ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_no_anomaly_normal_behavior ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_high_risk_users ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_user_profile_update ... ok
[INFO] [stdout] test behavioral_analytics::tests::test_stats ... ok
[INFO] [stdout] test incident_response::tests::test_action_reversibility ... ok
[INFO] [stdout] test incident_response::tests::test_active_incidents ... ok
[INFO] [stdout] test incident_response::tests::test_incident_creation ... ok
[INFO] [stdout] test incident_response::tests::test_incident_notes ... ok
[INFO] [stdout] test incident_response::tests::test_incident_overdue ... ok
[INFO] [stdout] test incident_response::tests::test_incident_statistics ... ok
[INFO] [stdout] test incident_response::tests::test_incident_status_progression ... ok
[INFO] [stdout] test incident_response::tests::test_variable_substitution ... ok
[INFO] [stdout] test incident_response::tests::test_playbook_execution ... ok
[INFO] [stdout] test incident_response::tests::test_playbook_finding ... ok
[INFO] [stdout] test incident_response::tests::test_status_next ... ok
[INFO] [stdout] test mitre_attack::tests::test_alert_message_generation ... ok
[INFO] [stdout] test mitre_attack::tests::test_brute_force_detection ... ok
[INFO] [stdout] test mitre_attack::tests::test_ransomware_detection ... ok
[INFO] [stdout] test ml_scoring::tests::test_batch_scoring ... ok
[INFO] [stdout] test ml_scoring::tests::test_contributing_factors ... ok
[INFO] [stdout] test ml_scoring::tests::test_feature_extraction ... ok
[INFO] [stdout] test ml_scoring::tests::test_low_risk_scoring ... ok
[INFO] [stdout] test ml_scoring::tests::test_risk_level_classification ... ok
[INFO] [stdout] test ml_scoring::tests::test_threat_scoring ... ok
[INFO] [stdout] test ml_scoring::tests::test_top_threats ... ok
[INFO] [stdout] test siem_formats::tests::test_all_formats ... ok
[INFO] [stdout] test siem_formats::tests::test_batch_export ... ok
[INFO] [stdout] test siem_formats::tests::test_batch_exporter ... ok
[INFO] [stdout] test siem_formats::tests::test_cef_escaping ... ok
[INFO] [stdout] test siem_formats::tests::test_cef_export ... ok
[INFO] [stdout] test siem_formats::tests::test_csv_escaping ... ok
[INFO] [stdout] test siem_formats::tests::test_csv_export ... ok
[INFO] [stdout] test siem_formats::tests::test_csv_header ... ok
[INFO] [stdout] test siem_formats::tests::test_json_export ... ok
[INFO] [stdout] test siem_formats::tests::test_leef_export ... ok
[INFO] [stdout] test siem_formats::tests::test_severity_conversions ... ok
[INFO] [stdout] test siem_formats::tests::test_syslog_export ... ok
[INFO] [stdout] test tests::test_aggregations ... ok
[INFO] [stdout] test ml_scoring::tests::test_baseline_deviation ... ok
[INFO] [stdout] test mitre_attack::tests::test_get_techniques_by_tactic ... ok
[INFO] [stdout] test tests::test_alert_correlation ... ok
[INFO] [stdout] test tests::test_batch_analysis ... ok
[INFO] [stdout] test tests::test_brute_force_detection ... ok
[INFO] [stdout] test tests::test_category_filtering ... ok
[INFO] [stdout] test mitre_attack::tests::test_sql_injection_detection ... ok
[INFO] [stdout] test mitre_attack::tests::test_credential_dumping_detection ... ok
[INFO] [stdout] test mitre_attack::tests::test_no_detection ... ok
[INFO] [stdout] test tests::test_alert_history ... ok
[INFO] [stdout] test tests::test_risk_assessment ... ok
[INFO] [stdout] test tests::test_deduplication ... ok
[INFO] [stdout] test tests::test_clear_old_alerts ... ok
[INFO] [stdout] test tests::test_json_export ... ok
[INFO] [stdout] test tests::test_severity_filtering ... ok
[INFO] [stdout] test tests::test_no_threat_detected ... ok
[INFO] [stdout] test threat_hunting::tests::test_hunt_creation ... ok
[INFO] [stdout] test threat_hunting::tests::test_hunt_from_template ... ok
[INFO] [stdout] test threat_hunting::tests::test_hunt_lifecycle ... ok
[INFO] [stdout] test threat_hunting::tests::test_hunt_findings ... ok
[INFO] [stdout] test threat_hunting::tests::test_hunt_statistics ... ok
[INFO] [stdout] test threat_hunting::tests::test_ioc_sweep ... ok
[INFO] [stdout] test threat_intelligence::tests::test_add_ioc ... ok
[INFO] [stdout] test threat_intelligence::tests::test_check_clean_ip ... ok
[INFO] [stdout] test threat_intelligence::tests::test_check_malicious_ip ... ok
[INFO] [stdout] test threat_intelligence::tests::test_clear_old_iocs ... ok
[INFO] [stdout] test threat_intelligence::tests::test_domain_extraction ... ok
[INFO] [stdout] test threat_intelligence::tests::test_get_ioc ... ok
[INFO] [stdout] test threat_intelligence::tests::test_get_iocs_by_type ... ok
[INFO] [stdout] test threat_intelligence::tests::test_ioc_creation ... ok
[INFO] [stdout] test threat_intelligence::tests::test_stats ... ok
[INFO] [stdout] test threat_intelligence::tests::test_threat_score_calculation ... ok
[INFO] [stdout] test threat_intelligence::tests::test_user_agent_detection ... ok
[INFO] [stdout] test threat_hunting::tests::test_query_execution ... ok
[INFO] [stdout] test tests::test_malware_detection ... ok
[INFO] [stdout] test tests::test_threat_scoring ... ok
[INFO] [stdout] test tests::test_top_sources ... ok
[INFO] [stdout] test tests::test_sql_injection_detection ... ok
[INFO] [stdout] test mitre_attack::tests::test_command_execution_detection ... ok
[INFO] [stdout] test mitre_attack::tests::test_multiple_detections ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 97 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rust_threat_detector
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 29) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9cb362934c3e85d23f91a160105dc27e19b7de7ab1060781f5c23c4942e36450", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cb362934c3e85d23f91a160105dc27e19b7de7ab1060781f5c23c4942e36450", kill_on_drop: false }`
[INFO] [stdout] 9cb362934c3e85d23f91a160105dc27e19b7de7ab1060781f5c23c4942e36450
