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")) }) })