feat: return first of candidates if no testdir that exists resolved

This commit is contained in:
2026-03-16 21:48:01 +00:00
parent 8968af90cc
commit 94bd14f467
2 changed files with 35 additions and 28 deletions
+5 -1
View File
@@ -47,7 +47,11 @@ func resolveTestDirFromRoot(root string) (string, error) {
} }
} }
return "", errors.New("test_dir not configured and none of the expected test directories exist") if len(candidates) == 0 {
return "", errors.New("no test directory candidates available")
}
return candidates[0], nil
} }
// returns the git root if in a git repo else current pwd // returns the git root if in a git repo else current pwd
+30 -27
View File
@@ -83,38 +83,40 @@ func TestResolveTestDirMalformedConfigFails(t *testing.T) {
} }
} }
func TestResolveTestDirConfiguredMissingDirectoryFails(t *testing.T) { func TestResolveTestDirConfiguredMissingDirectoryReturnsConfiguredPath(t *testing.T) {
root := t.TempDir() root := t.TempDir()
want := filepath.Join(root, "missing")
writeFile(t, filepath.Join(root, "miro.toml"), "[miro]\ntest_dir = \"missing\"\n") writeFile(t, filepath.Join(root, "miro.toml"), "[miro]\ntest_dir = \"missing\"\n")
err := withWorkingDir(t, root, func() error { got := withWorkingDir(t, root, func() string {
_, err := ResolveTestDir() path, err := ResolveTestDir()
return err if err != nil {
t.Fatalf("ResolveTestDir() error = %v", err)
}
return path
}) })
if err == nil { if got != want {
t.Fatal("ResolveTestDir() error = nil, want error") t.Fatalf("ResolveTestDir() = %q, want %q", got, want)
}
if err.Error() != "test_dir not configured and none of the expected test directories exist" {
t.Fatalf("ResolveTestDir() error = %q, want generic missing-dir error", err)
} }
} }
func TestResolveTestDirConfiguredFileFails(t *testing.T) { func TestResolveTestDirConfiguredFileReturnsConfiguredPath(t *testing.T) {
root := t.TempDir() root := t.TempDir()
want := filepath.Join(root, "case.txt")
writeFile(t, filepath.Join(root, "case.txt"), "hello\n") writeFile(t, filepath.Join(root, "case.txt"), "hello\n")
writeFile(t, filepath.Join(root, "miro.toml"), "[miro]\ntest_dir = \"case.txt\"\n") writeFile(t, filepath.Join(root, "miro.toml"), "[miro]\ntest_dir = \"case.txt\"\n")
err := withWorkingDir(t, root, func() error { got := withWorkingDir(t, root, func() string {
_, err := ResolveTestDir() path, err := ResolveTestDir()
return err if err != nil {
t.Fatalf("ResolveTestDir() error = %v", err)
}
return path
}) })
if err == nil { if got != want {
t.Fatal("ResolveTestDir() error = nil, want error") t.Fatalf("ResolveTestDir() = %q, want %q", got, want)
}
if err.Error() != "test_dir not configured and none of the expected test directories exist" {
t.Fatalf("ResolveTestDir() error = %q, want generic missing-dir error", err)
} }
} }
@@ -177,19 +179,20 @@ func TestResolveTestDirUsesGitRoot(t *testing.T) {
} }
} }
func TestResolveTestDirFailsWhenNothingDetected(t *testing.T) { func TestResolveTestDirReturnsFirstFallbackWhenNothingDetected(t *testing.T) {
root := t.TempDir() root := t.TempDir()
want := filepath.Join(root, "e2e")
err := withWorkingDir(t, root, func() error { got := withWorkingDir(t, root, func() string {
_, err := ResolveTestDir() path, err := ResolveTestDir()
return err if err != nil {
t.Fatalf("ResolveTestDir() error = %v", err)
}
return path
}) })
if err == nil { if got != want {
t.Fatal("ResolveTestDir() error = nil, want error") t.Fatalf("ResolveTestDir() = %q, want %q", got, want)
}
if err.Error() != "test_dir not configured and none of the expected test directories exist" {
t.Fatalf("ResolveTestDir() error = %q, want generic missing-dir error", err)
} }
} }