mirror of
https://github.com/go-task/task.git
synced 2024-12-12 10:45:49 +02:00
115 lines
1.7 KiB
Go
115 lines
1.7 KiB
Go
package task_test
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"os/exec"
|
|
"path/filepath"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestDeps(t *testing.T) {
|
|
const dir = "testdata/deps"
|
|
|
|
files := []string{
|
|
"d1.txt",
|
|
"d2.txt",
|
|
"d3.txt",
|
|
"d11.txt",
|
|
"d12.txt",
|
|
"d13.txt",
|
|
"d21.txt",
|
|
"d22.txt",
|
|
"d23.txt",
|
|
"d31.txt",
|
|
"d32.txt",
|
|
"d33.txt",
|
|
}
|
|
|
|
for _, f := range files {
|
|
_ = os.Remove(filepath.Join(dir, f))
|
|
}
|
|
|
|
c := exec.Command("task")
|
|
c.Dir = dir
|
|
if err := c.Run(); err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
for _, f := range files {
|
|
f = filepath.Join(dir, f)
|
|
if _, err := os.Stat(f); err != nil {
|
|
t.Errorf("File %s should exists", f)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestVars(t *testing.T) {
|
|
const dir = "testdata/vars"
|
|
|
|
files := []struct {
|
|
file string
|
|
content string
|
|
}{
|
|
{"foo.txt", "foo"},
|
|
{"bar.txt", "bar"},
|
|
{"foo2.txt", "foo2"},
|
|
{"bar2.txt", "bar2"},
|
|
{"equal.txt", "foo=bar"},
|
|
}
|
|
|
|
for _, f := range files {
|
|
_ = os.Remove(filepath.Join(dir, f.file))
|
|
}
|
|
|
|
c := exec.Command("task")
|
|
c.Dir = dir
|
|
|
|
if err := c.Run(); err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
for _, f := range files {
|
|
d, err := ioutil.ReadFile(filepath.Join(dir, f.file))
|
|
if err != nil {
|
|
t.Errorf("Error reading %s: %v", f.file, err)
|
|
}
|
|
s := string(d)
|
|
s = strings.TrimSpace(s)
|
|
|
|
if s != f.content {
|
|
t.Errorf("File content should be %s but is %s", f.content, s)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestTaskCall(t *testing.T) {
|
|
const dir = "testdata/task_call"
|
|
|
|
files := []string{
|
|
"foo.txt",
|
|
"bar.txt",
|
|
}
|
|
|
|
for _, f := range files {
|
|
_ = os.Remove(filepath.Join(dir, f))
|
|
}
|
|
|
|
c := exec.Command("task")
|
|
c.Dir = dir
|
|
|
|
if err := c.Run(); err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
for _, f := range files {
|
|
if _, err := os.Stat(filepath.Join(dir, f)); err != nil {
|
|
t.Error(err)
|
|
}
|
|
}
|
|
}
|