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  }