github.com/Benchkram/bob@v0.0.0-20220321080157-7c8f3876e225/test/e2e/multilevelbuild/multilevelbuild_suite_test.go (about) 1 package multilevelbuildtest 2 3 import ( 4 "os" 5 "path/filepath" 6 "testing" 7 8 "github.com/Benchkram/bob/bob" 9 "github.com/Benchkram/bob/bob/global" 10 "github.com/Benchkram/bob/test/setup" 11 12 . "github.com/onsi/ginkgo" 13 . "github.com/onsi/gomega" 14 ) 15 16 var ( 17 dir string 18 artifactDir string 19 20 cleanup func() error 21 22 b *bob.B 23 ) 24 25 var _ = BeforeSuite(func() { 26 var err error 27 var storageDir string 28 dir, storageDir, cleanup, err = setup.TestDirs("target") 29 Expect(err).NotTo(HaveOccurred()) 30 artifactDir = filepath.Join(storageDir, global.BobCacheArtifactsDir) 31 32 err = os.Chdir(dir) 33 Expect(err).NotTo(HaveOccurred()) 34 35 b, err = bob.BobWithBaseStoreDir(storageDir, bob.WithDir(dir)) 36 Expect(err).NotTo(HaveOccurred()) 37 }) 38 39 var _ = AfterSuite(func() { 40 err := cleanup() 41 Expect(err).NotTo(HaveOccurred()) 42 }) 43 44 func TestStatus(t *testing.T) { 45 RegisterFailHandler(Fail) 46 RunSpecs(t, "multilevel-build suite") 47 } 48 49 // artifactsClean deletes all artifacts from the store 50 func artifactsClean() error { 51 fs, err := os.ReadDir(artifactDir) 52 if err != nil { 53 return err 54 } 55 for _, f := range fs { 56 err = os.Remove(filepath.Join(artifactDir, f.Name())) 57 if err != nil { 58 return err 59 } 60 } 61 return nil 62 }