Improve structural test diagnostics
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"slices"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
@@ -31,7 +32,7 @@ workspace:
|
||||
if err != nil {
|
||||
t.Fatalf("splitPipelineCompositionEnvelope() error = %v", err)
|
||||
}
|
||||
if !reflect.DeepEqual(document.root, originalRoot) || !reflect.DeepEqual(document.sources, originalSources) {
|
||||
if !reflect.DeepEqual(document.root, originalRoot) || !slices.Equal(document.sources, originalSources) {
|
||||
t.Fatalf("splitPipelineCompositionEnvelope() mutated its input")
|
||||
}
|
||||
if compositionFieldIndex(body.root.fields, "composition") >= 0 {
|
||||
@@ -40,7 +41,7 @@ workspace:
|
||||
if compositionFieldIndex(body.root.fields, "workspace") < 0 {
|
||||
t.Fatalf("pipeline body lost ordinary root fields")
|
||||
}
|
||||
if want := []string{"first.yml", "second.yml"}; !reflect.DeepEqual(envelope.imports, want) {
|
||||
if want := []string{"first.yml", "second.yml"}; !slices.Equal(envelope.imports, want) {
|
||||
t.Fatalf("imports = %#v, want %#v", envelope.imports, want)
|
||||
}
|
||||
if len(envelope.profiles) != 2 || envelope.profiles[0].name != "production" || envelope.profiles[1].name != "testing" {
|
||||
@@ -126,7 +127,7 @@ storage:
|
||||
t.Fatal("pipeline resolution metadata = nil")
|
||||
}
|
||||
wantSources := []string{absolutePath(t, rootPath), absolutePath(t, platformPath), absolutePath(t, artifactsPath)}
|
||||
if !reflect.DeepEqual(cfg.resolution.sources, wantSources) || !reflect.DeepEqual(cfg.resolution.imports, wantSources[1:]) {
|
||||
if !slices.Equal(cfg.resolution.sources, wantSources) || !slices.Equal(cfg.resolution.imports, wantSources[1:]) {
|
||||
t.Fatalf("resolution sources=%#v imports=%#v, want %#v / %#v", cfg.resolution.sources, cfg.resolution.imports, wantSources, wantSources[1:])
|
||||
}
|
||||
assertPipelineFieldOwner(t, cfg, "whisperx.transcribe_url", absolutePath(t, rootPath))
|
||||
@@ -424,7 +425,7 @@ func assertPipelineFieldOwner(t *testing.T, cfg *PipelineConfig, path, source st
|
||||
}
|
||||
for _, ownership := range cfg.resolution.ownership {
|
||||
if ownership.path == path {
|
||||
if !reflect.DeepEqual(ownership.sources, []string{source}) {
|
||||
if !slices.Equal(ownership.sources, []string{source}) {
|
||||
t.Fatalf("owner of %s = %#v, want %q", path, ownership.sources, source)
|
||||
}
|
||||
return
|
||||
|
||||
@@ -3,9 +3,11 @@ package config
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"slices"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
)
|
||||
|
||||
func TestLoadPipelineProfilesSelectDefaultAndExplicitOverlay(t *testing.T) {
|
||||
@@ -45,7 +47,7 @@ whisperx:
|
||||
t.Fatalf("default profile result = workspace=%q language=%q", production.Workspace.Root, production.WhisperX.Language)
|
||||
}
|
||||
assertSelectedPipelineProfile(t, production, "production", "default", productionPath)
|
||||
if want := []string{absolutePath(t, rootPath), absolutePath(t, importPath), absolutePath(t, productionPath)}; !reflect.DeepEqual(production.resolution.sources, want) {
|
||||
if want := []string{absolutePath(t, rootPath), absolutePath(t, importPath), absolutePath(t, productionPath)}; !slices.Equal(production.resolution.sources, want) {
|
||||
t.Fatalf("default sources = %#v, want %#v", production.resolution.sources, want)
|
||||
}
|
||||
assertPipelineFieldOwner(t, production, "workspace.root", absolutePath(t, productionPath))
|
||||
@@ -350,8 +352,8 @@ whisperx:
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !reflect.DeepEqual(monolithicValues, composedValues) {
|
||||
t.Fatalf("equivalent effective values differ:\nmonolithic=%#v\ncomposed=%#v", monolithicValues, composedValues)
|
||||
if diff := cmp.Diff(monolithicValues, composedValues); diff != "" {
|
||||
t.Fatalf("effective values differ (-monolithic +composed):\n%s", diff)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user