github.com/craigkelly/dmk@v1.0.1/step_test.go (about) 1 package main 2 3 import ( 4 "io/ioutil" 5 "log" 6 "os" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 //Important: these step tests are actually using function in main.go 13 14 func TestSlowBuild(t *testing.T) { 15 assert := assert.New(t) 16 17 var err error 18 19 log.SetFlags(0) 20 assert.NoError(os.Chdir("./res")) 21 defer os.Chdir("..") 22 23 cfgText, err := ioutil.ReadFile("slowbuild.yaml") 24 assert.NoError(err) 25 assert.NotEmpty(cfgText) 26 27 cfg, err := ReadConfig(cfgText) 28 assert.NoError(err) 29 assert.Len(cfg, 3) //sanity check 30 31 var missing bool 32 verb := log.New(ioutil.Discard, "", 0) //log.New(os.Stdout, "", 0) 33 34 // Clean and test files 35 assert.Equal(0, DoClean(cfg, verb)) 36 missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"}) 37 assert.NoError(err) 38 assert.True(missing) 39 40 assert.Equal(0, DoBuild(cfg, verb)) 41 missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"}) 42 assert.NoError(err) 43 assert.False(missing) 44 45 assert.Equal(0, DoBuild(cfg, verb)) 46 missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"}) 47 assert.NoError(err) 48 assert.False(missing) 49 50 // Clean and test files 51 assert.Equal(0, DoClean(cfg, verb)) 52 missing, err = AnyMissing([]string{"file1.txt", "file2.txt", "combined.txt"}) 53 assert.NoError(err) 54 assert.True(missing) 55 }