| package gexec_test |
| |
| import ( |
| "os" |
| |
| . "github.com/onsi/ginkgo" |
| . "github.com/onsi/gomega" |
| "github.com/onsi/gomega/gexec" |
| ) |
| |
| var packagePath = "./_fixture/firefly" |
| |
| var _ = Describe(".Build", func() { |
| Context("when there have been previous calls to Build", func() { |
| BeforeEach(func() { |
| _, err := gexec.Build(packagePath) |
| Ω(err).ShouldNot(HaveOccurred()) |
| }) |
| |
| It("compiles the specified package", func() { |
| compiledPath, err := gexec.Build(packagePath) |
| Ω(err).ShouldNot(HaveOccurred()) |
| Ω(compiledPath).Should(BeAnExistingFile()) |
| }) |
| |
| Context("and CleanupBuildArtifacts has been called", func() { |
| BeforeEach(func() { |
| gexec.CleanupBuildArtifacts() |
| }) |
| |
| It("compiles the specified package", func() { |
| var err error |
| fireflyPath, err = gexec.Build(packagePath) |
| Ω(err).ShouldNot(HaveOccurred()) |
| Ω(fireflyPath).Should(BeAnExistingFile()) |
| }) |
| }) |
| }) |
| }) |
| |
| var _ = Describe(".BuildWithEnvironment", func() { |
| var err error |
| env := []string{ |
| "GOOS=linux", |
| "GOARCH=amd64", |
| } |
| |
| It("compiles the specified package with the specified env vars", func() { |
| compiledPath, err := gexec.BuildWithEnvironment(packagePath, env) |
| Ω(err).ShouldNot(HaveOccurred()) |
| Ω(compiledPath).Should(BeAnExistingFile()) |
| }) |
| |
| It("returns the environment to a good state", func() { |
| _, err = gexec.BuildWithEnvironment(packagePath, env) |
| Ω(err).ShouldNot(HaveOccurred()) |
| Ω(os.Environ()).ShouldNot(ContainElement("GOOS=linux")) |
| }) |
| }) |