Skip to content

Commit e47e80c

Browse files
test(automation): isolate retained runtime fixtures
1 parent 2343763 commit e47e80c

6 files changed

Lines changed: 35 additions & 0 deletions

File tree

tests/automation_runner_test/combined_review.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ fn combined_output_fixture() -> Value {
4646
})
4747
}
4848

49+
#[cfg(feature = "test-transport")]
4950
#[tokio::test]
5051
async fn combined_review_runner_records_both_tasks_from_one_backend_call() {
5152
let _env_lock = ENV_LOCK.lock().await;
@@ -384,6 +385,7 @@ async fn combined_review_terminal_evidence_matrix_has_zero_effects() {
384385
assert!(!profile_root.exists());
385386
}
386387

388+
#[cfg(feature = "test-transport")]
387389
#[tokio::test]
388390
async fn combined_review_records_failures_for_both_tasks_when_an_array_is_missing() {
389391
let _env_lock = ENV_LOCK.lock().await;
@@ -440,6 +442,7 @@ async fn combined_review_records_failures_for_both_tasks_when_an_array_is_missin
440442
);
441443
}
442444

445+
#[cfg(feature = "test-transport")]
443446
#[tokio::test]
444447
async fn combined_review_records_noop_fallbacks_for_both_tasks_when_backend_fails() {
445448
let _env_lock = ENV_LOCK.lock().await;

tests/automation_runner_test/runner.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ async fn scheduler_skill_writer_respects_interval_gate() {
162162
);
163163
}
164164

165+
#[cfg(feature = "test-transport")]
165166
#[tokio::test]
166167
async fn scheduler_skill_writer_respects_idle_window_after_recent_session_activity() {
167168
let temp = tempdir().unwrap();
@@ -192,6 +193,7 @@ async fn scheduler_skill_writer_respects_idle_window_after_recent_session_activi
192193
);
193194
}
194195

196+
#[cfg(feature = "test-transport")]
195197
#[tokio::test]
196198
async fn scheduler_skill_writer_skips_without_new_session_activity_since_last_success() {
197199
let temp = tempdir().unwrap();

tests/automation_runner_test/session_reflector.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use crate::support::*;
2+
#[cfg(feature = "test-transport")]
23
use tracedecay_agent_hosts::ports::session_evidence::{LcmGrepSort, LcmScope};
34

45
#[test]
@@ -235,6 +236,7 @@ async fn project_reflector_and_skill_writer_terminal_evidence_matrix_has_zero_wr
235236
assert!(!profile_root.exists());
236237
}
237238

239+
#[cfg(feature = "test-transport")]
238240
#[tokio::test]
239241
async fn session_reflector_runner_auto_applies_valid_fact_proposals_by_default() {
240242
let temp = tempdir().unwrap();
@@ -556,6 +558,7 @@ async fn session_reflector_runner_auto_applies_valid_fact_proposals_by_default()
556558
assert!(records[0].applied_ops.is_some());
557559
}
558560

561+
#[cfg(feature = "test-transport")]
559562
#[tokio::test]
560563
async fn session_reflector_runner_auto_apply_ignores_dashboard_approval_gate() {
561564
const HIGH_ENTROPY_RUN_ID: &str =
@@ -722,6 +725,7 @@ async fn session_reflector_runner_auto_apply_ignores_dashboard_approval_gate() {
722725
);
723726
}
724727

728+
#[cfg(feature = "test-transport")]
725729
#[tokio::test]
726730
async fn session_reflector_runner_self_manages_partial_noops_without_review_gate() {
727731
let temp = tempdir().unwrap();
@@ -884,6 +888,7 @@ async fn session_fact_proposals_replay_same_run_idempotently() {
884888
assert_eq!(proposals.proposals()[0].automation_run_id(), Some("run-a"));
885889
}
886890

891+
#[cfg(feature = "test-transport")]
887892
#[tokio::test]
888893
async fn session_reflector_rejects_unsupported_source_role_and_time_filters_without_writes() {
889894
let _env_lock = ENV_LOCK.lock().await;
@@ -978,6 +983,7 @@ async fn session_reflector_rejects_unsupported_source_role_and_time_filters_with
978983
);
979984
}
980985

986+
#[cfg(feature = "test-transport")]
981987
#[tokio::test]
982988
async fn session_reflector_replays_recent_sessions_without_keyword_matches() {
983989
let temp = tempdir().unwrap();
@@ -1058,6 +1064,7 @@ async fn session_reflector_replays_recent_sessions_without_keyword_matches() {
10581064
assert_eq!(run.ledger_record.rejected_count, 0);
10591065
}
10601066

1067+
#[cfg(feature = "test-transport")]
10611068
#[tokio::test]
10621069
async fn session_reflector_suppresses_replay_for_filtered_runs() {
10631070
let temp = tempdir().unwrap();
@@ -1155,8 +1162,10 @@ async fn session_reflector_skips_when_replay_disabled_and_no_grep_hits() {
11551162
);
11561163
}
11571164

1165+
#[cfg(feature = "test-transport")]
11581166
struct NoSummaryReplayBackend;
11591167

1168+
#[cfg(feature = "test-transport")]
11601169
impl AgentTaskBackend for NoSummaryReplayBackend {
11611170
fn run_task(
11621171
&self,
@@ -1189,6 +1198,7 @@ impl AgentTaskBackend for NoSummaryReplayBackend {
11891198
}
11901199
}
11911200

1201+
#[cfg(feature = "test-transport")]
11921202
#[tokio::test]
11931203
async fn session_reflector_replay_respects_include_summaries_false() {
11941204
let temp = tempdir().unwrap();
@@ -1263,6 +1273,7 @@ async fn session_reflector_replay_respects_include_summaries_false() {
12631273
assert_eq!(run.ledger_record.status, AutomationRunStatus::Succeeded);
12641274
}
12651275

1276+
#[cfg(feature = "test-transport")]
12661277
#[tokio::test]
12671278
async fn session_reflector_runner_ledgers_malformed_backend_output() {
12681279
let temp = tempdir().unwrap();
@@ -1326,6 +1337,7 @@ async fn session_reflector_runner_ledgers_malformed_backend_output() {
13261337
assert_eq!(records[0].error_retryable, Some(false));
13271338
}
13281339

1340+
#[cfg(feature = "test-transport")]
13291341
#[tokio::test]
13301342
async fn session_reflector_runner_ledgers_missing_facts_array() {
13311343
let temp = tempdir().unwrap();
@@ -1389,6 +1401,7 @@ async fn session_reflector_runner_ledgers_missing_facts_array() {
13891401
assert_eq!(records[0].error_retryable, Some(false));
13901402
}
13911403

1404+
#[cfg(feature = "test-transport")]
13921405
#[tokio::test]
13931406
async fn session_reflector_runner_records_noop_fallback_when_backend_run_task_fails() {
13941407
let temp = tempdir().unwrap();

tests/automation_runner_test/skill_writer.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ async fn skill_writer_fails_closed_on_denied_temporal_evidence() {
9595

9696
// Every test below that reaches evidence building holds `ENV_LOCK` and pins
9797
// its profile database override at the isolated session store.
98+
#[cfg(feature = "test-transport")]
9899
#[tokio::test]
99100
async fn skill_writer_default_provider_searches_all_providers() {
100101
let _env_lock = ENV_LOCK.lock().await;
@@ -136,6 +137,7 @@ async fn skill_writer_default_provider_searches_all_providers() {
136137
assert_eq!(run.ledger_record.status, AutomationRunStatus::Succeeded);
137138
}
138139

140+
#[cfg(feature = "test-transport")]
139141
#[tokio::test]
140142
async fn skill_writer_replays_recent_sessions_without_keyword_matches() {
141143
let _env_lock = ENV_LOCK.lock().await;
@@ -217,6 +219,7 @@ async fn skill_writer_skips_when_replay_disabled_and_no_grep_hits() {
217219
);
218220
}
219221

222+
#[cfg(feature = "test-transport")]
220223
#[tokio::test]
221224
async fn skill_writer_host_modes_do_not_select_alternate_lcm_storage() {
222225
let _env_lock = ENV_LOCK.lock().await;
@@ -280,6 +283,7 @@ async fn skill_writer_host_modes_do_not_select_alternate_lcm_storage() {
280283
assert_eq!(backend.calls(), 1);
281284
}
282285

286+
#[cfg(feature = "test-transport")]
283287
#[tokio::test]
284288
async fn skill_writer_runner_creates_pending_skill_drafts_for_approval() {
285289
let _env_lock = ENV_LOCK.lock().await;
@@ -464,6 +468,7 @@ async fn skill_writer_runner_creates_pending_skill_drafts_for_approval() {
464468
);
465469
}
466470

471+
#[cfg(feature = "test-transport")]
467472
#[tokio::test]
468473
async fn skill_writer_evidence_imports_project_skill_usage_analytics_before_summarizing() {
469474
let _env_lock = ENV_LOCK.lock().await;
@@ -548,6 +553,7 @@ async fn skill_writer_evidence_imports_project_skill_usage_analytics_before_summ
548553
);
549554
}
550555

556+
#[cfg(feature = "test-transport")]
551557
#[tokio::test]
552558
async fn skill_writer_evidence_includes_underused_tool_family_summary() {
553559
let _env_lock = ENV_LOCK.lock().await;
@@ -579,6 +585,7 @@ async fn skill_writer_evidence_includes_underused_tool_family_summary() {
579585
assert_eq!(run.ledger_record.status, AutomationRunStatus::Succeeded);
580586
}
581587

588+
#[cfg(feature = "test-transport")]
582589
#[tokio::test]
583590
async fn skill_writer_runner_auto_enables_when_config_explicitly_allows() {
584591
let _env_lock = ENV_LOCK.lock().await;
@@ -697,6 +704,7 @@ async fn skill_writer_runner_auto_enables_when_config_explicitly_allows() {
697704
assert!(updated.pending_update.is_none());
698705
}
699706

707+
#[cfg(feature = "test-transport")]
700708
#[tokio::test]
701709
async fn skill_writer_runner_updates_existing_skills_with_checksum_precondition() {
702710
let _env_lock = ENV_LOCK.lock().await;
@@ -912,6 +920,7 @@ async fn skill_writer_runner_updates_existing_skills_with_checksum_precondition(
912920
);
913921
}
914922

923+
#[cfg(feature = "test-transport")]
915924
#[tokio::test]
916925
async fn skill_writer_runner_ledgers_malformed_backend_output() {
917926
let _env_lock = ENV_LOCK.lock().await;
@@ -962,6 +971,7 @@ async fn skill_writer_runner_ledgers_malformed_backend_output() {
962971
assert_eq!(records[0].error_retryable, Some(false));
963972
}
964973

974+
#[cfg(feature = "test-transport")]
965975
#[tokio::test]
966976
async fn skill_writer_runner_ledgers_missing_skills_array() {
967977
let _env_lock = ENV_LOCK.lock().await;
@@ -1013,6 +1023,7 @@ async fn skill_writer_runner_ledgers_missing_skills_array() {
10131023
assert_eq!(records[0].error_retryable, Some(false));
10141024
}
10151025

1026+
#[cfg(feature = "test-transport")]
10161027
#[tokio::test]
10171028
async fn skill_writer_runner_records_noop_fallback_when_backend_run_task_fails() {
10181029
let _env_lock = ENV_LOCK.lock().await;

tests/automation_runner_test/skill_writer_consolidation.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
#[cfg(feature = "test-transport")]
12
use crate::support::*;
23

4+
#[cfg(feature = "test-transport")]
35
#[tokio::test]
46
async fn skill_writer_runner_auto_applies_safe_consolidations() {
57
let _env_lock = ENV_LOCK.lock().await;

tests/automation_runner_test/support.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,13 +1034,15 @@ pub(crate) async fn init_project(project_root: &Path) -> TraceDecay {
10341034
TraceDecay::init(project_root).await.unwrap()
10351035
}
10361036

1037+
#[cfg(feature = "test-transport")]
10371038
pub(crate) async fn project_session_runtime(
10381039
cg: &TraceDecay,
10391040
) -> std::sync::Arc<HostAdmissionTestRuntimeV1> {
10401041
cg.test_runtime_for_test()
10411042
.expect("project graph should retain its registered test runtime")
10421043
}
10431044

1045+
#[cfg(feature = "test-transport")]
10441046
pub(crate) async fn seed_session_evidence(cg: &TraceDecay) {
10451047
let db = project_session_runtime(cg).await;
10461048
seed_session_message_in_db(
@@ -1059,6 +1061,7 @@ pub(crate) async fn seed_session_evidence(cg: &TraceDecay) {
10591061
.await;
10601062
}
10611063

1064+
#[cfg(feature = "test-transport")]
10621065
pub(crate) async fn seed_search_underuse_session_evidence(cg: &TraceDecay) {
10631066
let db = project_session_runtime(cg).await;
10641067
let session = SessionRecord {
@@ -1105,6 +1108,7 @@ pub(crate) async fn seed_search_underuse_session_evidence(cg: &TraceDecay) {
11051108

11061109
/// Seeds one session message at `timestamp` so the scheduler observes LCM
11071110
/// session activity at that instant.
1111+
#[cfg(feature = "test-transport")]
11081112
pub(crate) async fn seed_session_activity(cg: &TraceDecay, timestamp: i64) {
11091113
let db = project_session_runtime(cg).await;
11101114
seed_session_message_in_db(

0 commit comments

Comments
 (0)