|  | package action | 
|  |  | 
|  | import ( | 
|  | "os" | 
|  | "path/filepath" | 
|  | "testing" | 
|  | ) | 
|  |  | 
|  | const testdata = "../testdata/path" | 
|  |  | 
|  | func TestGlideWD(t *testing.T) { | 
|  | wd := filepath.Join(testdata, "a/b/c") | 
|  | found, err := GlideWD(wd) | 
|  | if err != nil { | 
|  | t.Errorf("Failed to get Glide directory: %s", err) | 
|  | } | 
|  |  | 
|  | if found != filepath.Join(testdata, "a") { | 
|  | t.Errorf("Expected %s to match %s", found, filepath.Join(wd, "a")) | 
|  | } | 
|  |  | 
|  | // This should fail | 
|  | wd = "/No/Such/Dir" | 
|  | found, err = GlideWD(wd) | 
|  | if err == nil { | 
|  | t.Errorf("Expected to get an error on a non-existent directory, not %s", found) | 
|  | } | 
|  |  | 
|  | } | 
|  |  | 
|  | func TestVendor(t *testing.T) { | 
|  | td, err := filepath.Abs(testdata) | 
|  | if err != nil { | 
|  | t.Fatal(err) | 
|  | } | 
|  | wd, _ := os.Getwd() | 
|  | os.Chdir(filepath.Join(td, "a/b/c")) | 
|  | res, err := Vendor() | 
|  | if err != nil { | 
|  | t.Errorf("Failed to resolve vendor directory: %s", err) | 
|  | } | 
|  | expect := filepath.Join(td, "a", "vendor") | 
|  | if res != expect { | 
|  | t.Errorf("Failed to find vendor: expected %s got %s", expect, res) | 
|  | } | 
|  | os.Chdir(wd) | 
|  | } | 
|  | func TestGlide(t *testing.T) { | 
|  | wd, _ := os.Getwd() | 
|  | td, err := filepath.Abs(testdata) | 
|  | if err != nil { | 
|  | t.Fatal(err) | 
|  | } | 
|  | os.Chdir(filepath.Join(td, "a/b/c")) | 
|  | res, err := Glide() | 
|  | if err != nil { | 
|  | t.Errorf("Failed to resolve vendor directory: %s", err) | 
|  | } | 
|  | expect := filepath.Join(td, "a", "glide.yaml") | 
|  | if res != expect { | 
|  | t.Errorf("Failed to find vendor: expected %s got %s", expect, res) | 
|  | } | 
|  | os.Chdir(wd) | 
|  | } |