test(agent): strengthen watcher and profile assertions
- commit
- fe0a8185d2f4ebb4395bc78dae4185980bfb787a
- author
- brice · · 2026-08-24 16:42 UTC
- parent
- 8258794
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +10 -4
M packages/agent/build_orchestrator_test.go +2 -2
| @@ -44,8 +44,8 @@ func TestResolveSeparatesInteractiveProactiveAndHeadlessStrictPolicies(t *testin | |||
| 44 | 44 | if err != nil { | |
| 45 | 45 | t.Fatalf("resolve interactive: %v", err) | |
| 46 | 46 | } | |
| 47 | - | if !strings.Contains(interactive.SystemPrompt, ProactiveSubagentsSystemAddendum) || strings.Contains(interactive.SystemPrompt, StrictOrchestratorSystemAddendum) || !strings.Contains(interactive.SystemPrompt, "[subagents_list]") { | |
| 48 | - | t.Fatalf("interactive prompt did not select proactive primary policy and profiles:\n%s", interactive.SystemPrompt) | |
| 47 | + | if !strings.Contains(interactive.SystemPrompt, ProactiveSubagentsSystemAddendum) || strings.Contains(interactive.SystemPrompt, StrictOrchestratorSystemAddendum) || !strings.Contains(interactive.SystemPrompt, "[subagents_list]") || !strings.Contains(interactive.SystemPrompt, "- reviewer: Review delegated work") { | |
| 48 | + | t.Fatalf("interactive prompt did not select proactive primary policy and reviewer profile:\n%s", interactive.SystemPrompt) | |
| 49 | 49 | } | |
| 50 | 50 | ||
| 51 | 51 | childArgs := residentChildArgs(base, "ollama", subagents.ResidentChildSpec{Provider: "ollama", Model: "any-local-model"}) | |
| @@ -44,8 +44,8 @@ func TestResolveSeparatesInteractiveProactiveAndHeadlessStrictPolicies(t *testin | |||||
| 44 | if err != nil { | 44 | if err != nil { | ||
| 45 | t.Fatalf("resolve interactive: %v", err) | 45 | t.Fatalf("resolve interactive: %v", err) | ||
| 46 | } | 46 | } | ||
| 47 | - | if !strings.Contains(interactive.SystemPrompt, ProactiveSubagentsSystemAddendum) || strings.Contains(interactive.SystemPrompt, StrictOrchestratorSystemAddendum) || !strings.Contains(interactive.SystemPrompt, "[subagents_list]") { | 47 | + | if !strings.Contains(interactive.SystemPrompt, ProactiveSubagentsSystemAddendum) || strings.Contains(interactive.SystemPrompt, StrictOrchestratorSystemAddendum) || !strings.Contains(interactive.SystemPrompt, "[subagents_list]") || !strings.Contains(interactive.SystemPrompt, "- reviewer: Review delegated work") { |
| 48 | - | t.Fatalf("interactive prompt did not select proactive primary policy and profiles:\n%s", interactive.SystemPrompt) | 48 | + | t.Fatalf("interactive prompt did not select proactive primary policy and reviewer profile:\n%s", interactive.SystemPrompt) |
| 49 | } | 49 | } | ||
| 50 | 50 | ||||
| 51 | childArgs := residentChildArgs(base, "ollama", subagents.ResidentChildSpec{Provider: "ollama", Model: "any-local-model"}) | 51 | childArgs := residentChildArgs(base, "ollama", subagents.ResidentChildSpec{Provider: "ollama", Model: "any-local-model"}) | ||
M packages/agent/modes/theme_watch_test.go +8 -2
| @@ -24,10 +24,16 @@ func writeWatchedTheme(t *testing.T, home, body string) string { | |||
| 24 | 24 | ||
| 25 | 25 | func advanceThemeWatch(t *testing.T, ticks chan<- time.Time, processed <-chan struct{}, now time.Time) { | |
| 26 | 26 | t.Helper() | |
| 27 | - | ticks <- now | |
| 27 | + | deadline := time.NewTimer(time.Second) | |
| 28 | + | defer deadline.Stop() | |
| 29 | + | select { | |
| 30 | + | case ticks <- now: | |
| 31 | + | case <-deadline.C: | |
| 32 | + | t.Fatal("watcher did not accept tick") | |
| 33 | + | } | |
| 28 | 34 | select { | |
| 29 | 35 | case <-processed: | |
| 30 | - | case <-time.After(time.Second): | |
| 36 | + | case <-deadline.C: | |
| 31 | 37 | t.Fatal("watcher did not process tick") | |
| 32 | 38 | } | |
| 33 | 39 | } | |
| @@ -24,10 +24,16 @@ func writeWatchedTheme(t *testing.T, home, body string) string { | |||||
| 24 | 24 | ||||
| 25 | func advanceThemeWatch(t *testing.T, ticks chan<- time.Time, processed <-chan struct{}, now time.Time) { | 25 | func advanceThemeWatch(t *testing.T, ticks chan<- time.Time, processed <-chan struct{}, now time.Time) { | ||
| 26 | t.Helper() | 26 | t.Helper() | ||
| 27 | - | ticks <- now | 27 | + | deadline := time.NewTimer(time.Second) |
| 28 | + | defer deadline.Stop() | |||
| 29 | + | select { | |||
| 30 | + | case ticks <- now: | |||
| 31 | + | case <-deadline.C: | |||
| 32 | + | t.Fatal("watcher did not accept tick") | |||
| 33 | + | } | |||
| 28 | select { | 34 | select { | ||
| 29 | case <-processed: | 35 | case <-processed: | ||
| 30 | - | case <-time.After(time.Second): | 36 | + | case <-deadline.C: |
| 31 | t.Fatal("watcher did not process tick") | 37 | t.Fatal("watcher did not process tick") | ||
| 32 | } | 38 | } | ||
| 33 | } | 39 | } | ||