(t *testing.T)
| 669 | // shells out to `claude` directly (no wrapper) for both the fresh |
| 670 | // bootstrap and the resume paths. Skill freshness is now an explicit |
| 671 | // `flow skill update` step, not an implicit per-launch refresh. |
| 672 | func TestCmdDoSpawnsClaudeNotFlowde(t *testing.T) { |
| 673 | setupFlowRoot(t) |
| 674 | seedTask(t, "wrap-fresh") |
| 675 | |
| 676 | _, getScript := stubITerm(t) |
| 677 | if rc := cmdDo([]string{"wrap-fresh"}); rc != 0 { |
| 678 | t.Fatalf("fresh rc=%d", rc) |
| 679 | } |
| 680 | script := getScript() |
| 681 | if !strings.Contains(script, " claude --session-id ") { |
| 682 | t.Errorf("fresh spawn must invoke claude --session-id, got:\n%s", script) |
| 683 | } |
| 684 | // Guard against accidental reintroduction of the flowde wrapper. |
| 685 | if strings.Contains(script, "flowde") { |
| 686 | t.Errorf("fresh spawn should not invoke flowde, got:\n%s", script) |
| 687 | } |
nothing calls this directly
no test coverage detected