feat: return first of candidates if no testdir that exists resolved
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user