Write workspace checkpoints during runs
This commit is contained in:
@@ -992,6 +992,37 @@ func TestRunPassesChunkContentAndMediaTypeToExtractors(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunDoesNotPassCheckpointPathsToModules(t *testing.T) {
|
||||
modules := defaultRunnerModules()
|
||||
|
||||
_, err := New(newRunnerRegistries(t, modules)).Run(context.Background(), RunInput{
|
||||
Pipeline: resolvedPipeline(),
|
||||
Checkpoints: NoopCheckpointRecorder(),
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("Run() error = %v, want nil", err)
|
||||
}
|
||||
|
||||
for _, req := range modules.input.requests {
|
||||
assertNoCheckpointMetadata(t, req.Metadata)
|
||||
}
|
||||
for _, req := range modules.chunker.requests {
|
||||
assertNoCheckpointMetadata(t, req.Metadata)
|
||||
}
|
||||
for _, req := range modules.extractors["extract-alpha"].requests {
|
||||
assertNoCheckpointMetadata(t, req.Metadata)
|
||||
}
|
||||
for _, req := range modules.mergers["merge"].requests {
|
||||
assertNoCheckpointMetadata(t, req.Metadata)
|
||||
}
|
||||
for _, req := range modules.normalizers["normalize"].requests {
|
||||
assertNoCheckpointMetadata(t, req.Metadata)
|
||||
}
|
||||
for _, req := range modules.output.requests {
|
||||
assertNoCheckpointMetadata(t, req.Metadata)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunOmitsRejectedExtractOutputsFromMerge(t *testing.T) {
|
||||
modules := defaultRunnerModules()
|
||||
validator := &runnerChainValidator{name: "chain-extract", approved: []bool{false, true}, reason: "bad_extract", message: "extract rejected"}
|
||||
@@ -2181,6 +2212,25 @@ func warningReasons(warnings []contracts.Warning) []string {
|
||||
return reasons
|
||||
}
|
||||
|
||||
func assertNoCheckpointMetadata(t *testing.T, metadata map[string]any) {
|
||||
t.Helper()
|
||||
|
||||
for key, value := range metadata {
|
||||
lowerKey := strings.ToLower(key)
|
||||
if strings.Contains(lowerKey, "checkpoint") || strings.Contains(lowerKey, "workspace") {
|
||||
t.Fatalf("metadata key %q exposes checkpoint/workspace state", key)
|
||||
}
|
||||
text, ok := value.(string)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
lowerValue := strings.ToLower(text)
|
||||
if strings.Contains(lowerValue, "checkpoint") || strings.Contains(lowerValue, "workspace") {
|
||||
t.Fatalf("metadata value for %q exposes checkpoint/workspace state: %q", key, text)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func assertRunError(t *testing.T, err error, want string) {
|
||||
t.Helper()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user