Clean up MVP output handling

This commit is contained in:
2026-07-03 21:26:05 -05:00
parent 5424aae3de
commit 4db7805a95
10 changed files with 83 additions and 62 deletions

View File

@@ -773,6 +773,40 @@ func TestRunPipelineRejectsUnsafeOutputFileName(t *testing.T) {
if got := string(readFile(t, filepath.Join(runDir, diagnostics.ArtifactErrorLog))); !strings.Contains(got, "output file name") {
t.Fatalf("error log = %q, want unsafe output file error", got)
}
if _, err := os.Stat(filepath.Join(runDir, diagnostics.ArtifactRunManifest)); err != nil {
t.Fatalf("expected diagnostics manifest after unsafe output file failure: %v", err)
}
}
func TestRunPipelineWritesDiagnosticsArtifactsWhenDurableOutputWriteFails(t *testing.T) {
diagnosticsDir := t.TempDir()
configPath := writeTestConfig(t, mvpConfigYAMLWithDiagnostics("dnd-session", diagnosticsDir, "always"))
inputPath := writeSeriatimInput(t)
outputRootFile := writeFile(t, "not-a-directory", "occupied")
var stdout bytes.Buffer
var stderr bytes.Buffer
code := RunWithOptions([]string{"run", "dnd-session", "--config", configPath, "--input", inputPath, "--output-dir", outputRootFile}, &stdout, &stderr, Options{
LLMClientFactory: fakeLLMFactory(newFakeRunLLMClient(false), nil),
})
if code != 1 {
t.Fatalf("RunWithOptions() code = %d, want 1", code)
}
if !strings.Contains(stderr.String(), "create output directory") {
t.Fatalf("stderr = %q, want output directory error", stderr.String())
}
runDir := onlyChildDir(t, diagnosticsDir)
for _, name := range []string{
diagnostics.ArtifactRunManifest,
diagnostics.ArtifactWarnings,
diagnostics.ArtifactRunReport,
diagnostics.ArtifactErrorLog,
} {
if _, err := os.Stat(filepath.Join(runDir, name)); err != nil {
t.Fatalf("expected diagnostics artifact %q after durable output write failure: %v", name, err)
}
}
}
func TestRunPipelineWritesDiagnosticsArtifactsOnSuccess(t *testing.T) {