| 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 |
| |
| It("compiles the specified package with the specified env vars", func() { |
| env := map[string]string{ |
| "GOOS": "linux", |
| "GOARCH": "amd64", |
| } |
| |
| compiledPath, err := gexec.BuildWithEnvironment(packagePath, env) |
| Ω(err).ShouldNot(HaveOccurred()) |
| Ω(compiledPath).Should(BeAnExistingFile()) |
| }) |
| |
| It("returns the environment to a good state", func() { |
| knownGoodEnv := os.Environ() |
| |
| env := map[string]string{ |
| "THIS_ENV_VAR": "SHOULD_NOT_BE_SET", |
| } |
| |
| _, err = gexec.BuildWithEnvironment(packagePath, env) |
| Ω(err).ShouldNot(HaveOccurred()) |
| |
| Ω(os.Environ()).Should(Equal(knownGoodEnv)) |
| }) |
| }) |