Few code improvements on #216

This commit is contained in:
Andrey Nering
2019-09-14 17:54:41 -03:00
parent 884cd0d636
commit 1a28e5e0d4
11 changed files with 74 additions and 47 deletions

View File

@@ -12,7 +12,6 @@ import (
"testing"
"github.com/go-task/task/v2"
"github.com/go-task/task/v2/internal/logger"
"github.com/go-task/task/v2/internal/taskfile"
"github.com/stretchr/testify/assert"
@@ -352,20 +351,12 @@ func TestStatusChecksum(t *testing.T) {
}
var buff bytes.Buffer
logCapturer := logger.Logger{
Stdout: &buff,
Stderr: &buff,
Verbose: true,
}
e := task.Executor{
Dir: dir,
Stdout: &buff,
Stderr: &buff,
}
assert.NoError(t, e.Setup())
e.Logger = &logCapturer
assert.NoError(t, e.Run(context.Background(), taskfile.Call{Task: "build"}))
for _, f := range files {
@@ -376,20 +367,51 @@ func TestStatusChecksum(t *testing.T) {
buff.Reset()
assert.NoError(t, e.Run(context.Background(), taskfile.Call{Task: "build"}))
assert.Equal(t, `task: Task "build" is up to date`+"\n", buff.String())
}
buff.Reset()
e.Silent = false
e.Verbose = true
assert.NoError(t, e.Run(context.Background(), taskfile.Call{Task: "build-with-checksum"}))
assert.Contains(t, buff.String(), "d41d8cd98f00b204e9800998ecf8427e")
func TestStatusVariables(t *testing.T) {
t.Run("Checksum", func(t *testing.T) {
const dir = "testdata/status_vars"
buff.Reset()
inf, _ := os.Stat(filepath.Join(dir, "source.txt"))
ts := fmt.Sprintf("%d", inf.ModTime().Unix())
tf := fmt.Sprintf("%s", inf.ModTime())
assert.NoError(t, e.Run(context.Background(), taskfile.Call{Task: "build-with-timestamp"}))
assert.Contains(t, buff.String(), ts)
assert.Contains(t, buff.String(), tf)
_ = os.RemoveAll(filepath.Join(dir, ".task"))
_ = os.Remove(filepath.Join(dir, "generated.txt"))
var buff bytes.Buffer
e := task.Executor{
Dir: dir,
Stdout: &buff,
Stderr: &buff,
Silent: false,
Verbose: true,
}
assert.NoError(t, e.Setup())
assert.NoError(t, e.Run(context.Background(), taskfile.Call{Task: "build-with-checksum"}))
assert.Contains(t, buff.String(), "d41d8cd98f00b204e9800998ecf8427e")
})
t.Run("Timestamp", func(t *testing.T) {
const dir = "testdata/status_vars"
_ = os.Remove(filepath.Join(dir, "generated.txt"))
var buff bytes.Buffer
e := task.Executor{
Dir: dir,
Stdout: &buff,
Stderr: &buff,
Silent: false,
Verbose: true,
}
assert.NoError(t, e.Setup())
assert.NoError(t, e.Run(context.Background(), taskfile.Call{Task: "build-with-timestamp"}))
inf, err := os.Stat(filepath.Join(dir, "source.txt"))
assert.NoError(t, err)
ts := fmt.Sprintf("%d", inf.ModTime().Unix())
tf := fmt.Sprintf("%s", inf.ModTime())
assert.Contains(t, buff.String(), ts)
assert.Contains(t, buff.String(), tf)
})
}
func TestInit(t *testing.T) {