dep/main_test.go

43 строки
1.1 KiB
Go

package main
import (
"os"
"path/filepath"
"testing"
)
func TestFindRoot(t *testing.T) {
wd, err := os.Getwd()
if err != nil {
t.Fatal(err)
}
expect := filepath.Join(wd, "_testdata", "rootfind")
got1, err := findProjectRoot(expect)
if err != nil {
t.Errorf("Unexpected error while finding root: %s", err)
} else if expect != got1 {
t.Errorf("findProjectRoot directly on root dir should have found %s, got %s", expect, got1)
}
got2, err := findProjectRoot(filepath.Join(expect, "subdir"))
if err != nil {
t.Errorf("Unexpected error while finding root: %s", err)
} else if expect != got2 {
t.Errorf("findProjectRoot on subdir should have found %s, got %s", expect, got2)
}
got3, err := findProjectRoot(filepath.Join(expect, "nonexistent"))
if err != nil {
t.Errorf("Unexpected error while finding root: %s", err)
} else if expect != got3 {
t.Errorf("findProjectRoot on nonexistent subdir should still work and give %s, got %s", expect, got3)
}
got4, err := findProjectRoot(filepath.Join(expect, manifestName))
if err == nil {
t.Errorf("Should have err'd when trying subdir of file, but returned %s", got4)
}
}