Agent Results: ✅ Agent 1: Verified ML CheckpointMetadata (no errors found) ✅ Agent 2: Fixed 12 ML error handling issues (E0533, E0277, E0282) ✅ Agent 3: Fixed 10 ML type mismatches (E0308) ✅ Agent 4: Fixed 5 trading service test errors (E0599, E0308) ✅ Agent 5: Restored 5 tests crate infrastructure types ✅ Agent 6: Fixed 3 tests dependencies (OrderSide/Status, tempfile) ✅ Agent 7: Fixed TradingEventType re-export ✅ Agent 8: Fixed 7 E2E test files (proto namespaces) ✅ Agent 9: Verified ML crate clean compilation ✅ Agent 10: Fixed 4 trading service/engine errors ✅ Agent 11: Completed integration test analysis ✅ Agent 12: Generated comprehensive verification report Files Modified: 30 files Error Reduction: ~200 errors → 24 errors (88%) Remaining: 16 ML + 5 E2E + 3 tests = 24 errors Documentation: - WAVE34_COMPLETION_REPORT.md (447 lines) - WAVE35_ACTION_PLAN.md (detailed fixes) Next: Wave 35 with 3 targeted agents to achieve 0 errors
40 lines
1.3 KiB
Rust
40 lines
1.3 KiB
Rust
//! Common test utilities and helpers for Foxhunt testing suites
|
|
//!
|
|
//! This crate provides shared utilities, fixtures, and helper functions
|
|
//! used across all test suites in the Foxhunt system.
|
|
|
|
// Allow dead code for test infrastructure that may not be fully used yet
|
|
#![allow(dead_code)]
|
|
|
|
use std::sync::Once;
|
|
use tracing_subscriber;
|
|
|
|
static INIT: Once = Once::new();
|
|
|
|
/// Initialize logging for tests - safe to call multiple times
|
|
pub fn init_test_logging() {
|
|
INIT.call_once(|| {
|
|
tracing_subscriber::fmt()
|
|
.with_env_filter("debug")
|
|
.with_test_writer()
|
|
.try_init()
|
|
.ok(); // Ignore errors if already initialized
|
|
});
|
|
}
|
|
|
|
/// Test configuration constants
|
|
pub mod constants {
|
|
use rust_decimal::Decimal;
|
|
use std::time::Duration;
|
|
|
|
pub const DEFAULT_TIMEOUT: Duration = Duration::from_secs(30);
|
|
pub const FAST_TIMEOUT: Duration = Duration::from_secs(5);
|
|
pub const SLOW_TIMEOUT: Duration = Duration::from_secs(120);
|
|
|
|
pub const MIN_PRICE: Decimal = Decimal::from_parts(1, 0, 0, false, 8); // 0.00000001
|
|
pub const MAX_PRICE: Decimal = Decimal::from_parts(1000000, 0, 0, false, 0); // 1,000,000
|
|
|
|
pub const MIN_QUANTITY: Decimal = Decimal::from_parts(1, 0, 0, false, 8);
|
|
pub const MAX_QUANTITY: Decimal = Decimal::from_parts(1000000, 0, 0, false, 0);
|
|
}
|