func (b *buildSuite) TestFindExecutable(c *gc.C) { root := "/" if runtime.GOOS == "windows" { root = `C:\` } for _, test := range []struct { execFile string expected string errorMatch string }{{ execFile: filepath.Join(root, "some", "absolute", "path"), expected: filepath.Join(root, "some", "absolute", "path"), }, { execFile: "./foo", expected: filepath.Join(b.cwd, "foo"), }, { execFile: "juju-test", expected: b.filePath, }, { execFile: "non-existent-exec-file", errorMatch: `could not find "non-existent-exec-file" in the path`, }} { result, err := tools.FindExecutable(test.execFile) if test.errorMatch == "" { c.Assert(err, jc.ErrorIsNil) c.Assert(result, gc.Equals, test.expected) } else { c.Assert(err, gc.ErrorMatches, test.errorMatch) c.Assert(result, gc.Equals, "") } } }
func (b *buildSuite) TestFindExecutable(c *gc.C) { for _, test := range []struct { execFile string expected string errorMatch string }{{ execFile: "/some/absolute/path", expected: "/some/absolute/path", }, { execFile: "./foo", expected: filepath.Join(b.cwd, "foo"), }, { execFile: "juju-test", expected: b.filePath, }, { execFile: "non-existent-exec-file", errorMatch: `could not find "non-existent-exec-file" in the path`, }} { result, err := tools.FindExecutable(test.execFile) if test.errorMatch == "" { c.Assert(err, gc.IsNil) c.Assert(result, gc.Equals, test.expected) } else { c.Assert(err, gc.ErrorMatches, test.errorMatch) c.Assert(result, gc.Equals, "") } } }