wifi-densepose/vendor/sublinear-time-solver/crates/rustc-hyperopt/tests/integration_test.rs

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());
}