15
var buildDirs = []string{
19
"pkg/go/build/cgotest",
13
var buildPkgs = []string{
19
const cmdtestOutput = "3"
22
21
func TestBuild(t *testing.T) {
23
out, err := filepath.Abs("_test/out")
27
for _, d := range buildDirs {
28
if runtime.GOARCH == "arm" && strings.Contains(d, "/cgo") {
29
// no cgo for arm, yet.
32
dir := filepath.Join(runtime.GOROOT(), "src", d)
33
testBuild(t, dir, out)
37
func testBuild(t *testing.T, dir, targ string) {
38
d, err := ScanDir(dir, true)
44
cmds, err := d.Build(targ)
49
for _, c := range cmds {
22
for _, pkg := range buildPkgs {
23
tree := Path[0] // Goroot
24
dir := filepath.Join(tree.SrcDir(), pkg)
26
info, err := ScanDir(dir, true)
28
t.Error("ScanDir:", err)
32
s, err := Build(tree, pkg, info)
34
t.Error("Build:", err)
38
if err := s.Run(); err != nil {
43
if pkg == "go/build/cmdtest" {
45
b, err := exec.Command(bin).CombinedOutput()
47
t.Errorf("exec: %s: %v", bin, err)
50
if string(b) != cmdtestOutput {
51
t.Errorf("cmdtest output: %s want: %s", b, cmdtestOutput)
55
defer func(s *Script) {
56
if err := s.Nuke(); err != nil {
57
t.Errorf("nuking: %v", err)