51 lines
1.4 KiB
Rust
51 lines
1.4 KiB
Rust
//! Integration tests for rustc-hyperopt
|
|
|
|
use rustc_hyperopt::{ColdStartOptimizer, OptimizerConfig};
|
|
use tokio;
|
|
|
|
#[tokio::test]
|
|
async fn test_optimizer_creation() {
|
|
let optimizer = ColdStartOptimizer::new().await;
|
|
assert!(optimizer.is_ok());
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_optimizer_with_config() {
|
|
let config = OptimizerConfig::default();
|
|
let optimizer = ColdStartOptimizer::with_config(config).await;
|
|
assert!(optimizer.is_ok());
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_optimization_run() {
|
|
let optimizer = ColdStartOptimizer::new().await.unwrap();
|
|
let result = optimizer.optimize_compilation().await;
|
|
assert!(result.is_ok());
|
|
|
|
let optimization_result = result.unwrap();
|
|
assert!(optimization_result.speedup_factor >= 1.0);
|
|
assert!(optimization_result.patterns_matched >= 0);
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_performance_metrics() {
|
|
let optimizer = ColdStartOptimizer::new().await.unwrap();
|
|
|
|
// Run optimization first
|
|
let _ = optimizer.optimize_compilation().await.unwrap();
|
|
|
|
let metrics = optimizer.get_performance_metrics().await;
|
|
assert!(metrics.is_ok());
|
|
|
|
let performance_metrics = metrics.unwrap();
|
|
assert!(performance_metrics.total_optimizations >= 1);
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_cache_operations() {
|
|
let optimizer = ColdStartOptimizer::new().await.unwrap();
|
|
|
|
// Clear caches should work
|
|
let result = optimizer.clear_caches().await;
|
|
assert!(result.is_ok());
|
|
} |