{ return "test" }
{ return 0 }
{
cfg := struct {
Packages []string `json:"packages"`
}{Packages: []string{"./..."}}
if len(raw) > 0 {
_ = json.Unmarshal(raw, &cfg)
}
args := append([]string{"test"}, cfg.Packages...)
cmd := exec.Command("go", args...)
output, err := cmd.CombinedOutput()
log.Printf("test: %s", strings.TrimSpace(string(output)))
return err
}
{
return strings.HasSuffix(path, "_test.go")
}
{ plugins.Register(&plugin{}) }
TestShouldRebuild verifies that the test plugin triggers rebuilds for Go test
files only.
{
p := &plugin{}
if !p.ShouldRebuild("foo_test.go") {
t.Fatalf("expected rebuild for _test.go files")
}
if p.ShouldRebuild("main.go") {
t.Fatalf("non-test files should not trigger rebuild")
}
}
import "encoding/json"
import "log"
import "os/exec"
import "strings"
import "github.com/rfwlab/rfw/cmd/rfw/plugins"
import "testing"