fix(tests): skip CPU-replay DQN tests on CUDA builds

7 tests call train_step() via CPU experience replay, but with the cuda
feature GPU PER is mandatory (no CPU path). Mark them
#[cfg_attr(feature = "cuda", ignore)] — the GPU training pipeline
integration tests cover this path properly on H100.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-03-13 12:50:23 +01:00
parent 5b0b5ef917
commit faea94948d
2 changed files with 7 additions and 0 deletions

View File

@@ -4748,6 +4748,7 @@ mod tests {
}
#[test]
#[cfg_attr(feature = "cuda", ignore)] // GPU PER mandatory on CUDA — CPU replay path unavailable
fn test_training_step_with_data() -> anyhow::Result<()> {
let mut config = DQNConfig::emergency_safe_defaults();
config.min_replay_size = 4;
@@ -4808,6 +4809,7 @@ mod tests {
}
#[test]
#[cfg_attr(feature = "cuda", ignore)] // GPU PER mandatory on CUDA — CPU replay path unavailable
fn test_cql_regularization() -> anyhow::Result<()> {
let mut config = DQNConfig::emergency_safe_defaults();
config.state_dim = 8;
@@ -5041,6 +5043,7 @@ mod tests {
/// With weight_decay > 0, training a few steps should produce different final
/// weights than weight_decay == 0, proving L2 regularization is active.
#[test]
#[cfg_attr(feature = "cuda", ignore)] // GPU PER mandatory on CUDA — CPU replay path unavailable
fn test_weight_decay_wired_to_optimizer() -> anyhow::Result<()> {
// Helper: run a few training steps and return the first Q-network parameter tensor
fn train_and_get_params(weight_decay: f64) -> anyhow::Result<Vec<f32>> {
@@ -5212,6 +5215,7 @@ mod tests {
}
#[test]
#[cfg_attr(feature = "cuda", ignore)] // GPU PER mandatory on CUDA — CPU replay path unavailable
fn test_branching_dqn_end_to_end() -> anyhow::Result<()> {
// Phase C+: Verify branching DQN creates, selects actions, and trains
let mut config = DQNConfig::emergency_safe_defaults();
@@ -5261,6 +5265,7 @@ mod tests {
}
#[test]
#[cfg_attr(feature = "cuda", ignore)] // GPU PER mandatory on CUDA — CPU replay path unavailable
fn test_branching_regime_conditioning_affects_loss() -> anyhow::Result<()> {
// Verify that regime-conditional IS weighting produces different losses
// than the no-regime path when states contain regime features.

View File

@@ -222,6 +222,7 @@ mod tests {
}
#[test]
#[cfg_attr(feature = "cuda", ignore)] // GPU PER mandatory on CUDA — CPU replay path unavailable
fn test_dqn_strategy_train_and_evaluate() {
let config = make_test_config();
let mut strategy = DqnStrategy::new(config)
@@ -242,6 +243,7 @@ mod tests {
}
#[test]
#[cfg_attr(feature = "cuda", ignore)] // GPU PER mandatory on CUDA — CPU replay path unavailable
fn test_dqn_strategy_reset() {
let config = make_test_config();
let mut strategy = DqnStrategy::new(config)