cmd/go: mark regexp as dependency of testmain

Fixes #6844.

LGTM=rsc
R=golang-codereviews, rsc
CC=golang-codereviews
https://golang.org/cl/97840043
This commit is contained in:
Robert Hencke 2014-05-09 12:19:00 -04:00 committed by Russ Cox
parent 21e75b3251
commit 52961b902f
3 changed files with 26 additions and 1 deletions

View File

@ -708,12 +708,28 @@ if ./testgo test notest >/dev/null 2>&1; then
fi
unset GOPATH
<<<<<<< local
TEST 'Issue 6844: cmd/go: go test -a foo does not rebuild regexp'
if ! ./testgo test -x -a -c testdata/dep_test.go 2>deplist; then
echo "go test -x -a -c testdata/dep_test.go failed"
ok=false
elif ! grep -q regexp deplist; then
echo "go test -x -a -c testdata/dep_test.go did not rebuild regexp"
=======
TEST list template can use context function
if ! ./testgo list -f "GOARCH: {{context.GOARCH}}"; then
echo unable to use context in list template
>>>>>>> other
ok=false
fi
<<<<<<< local
rm -f deplist
rm -f deps.test
=======
>>>>>>> other
<<<<<<< local
=======
TEST build -i installs dependencies
d=$(TMPDIR=/var/tmp mktemp -d -t testgoXXX)
export GOPATH=$d
@ -748,6 +764,7 @@ fi
rm -rf $d
unset GOPATH
>>>>>>> other
# clean up
if $started; then stop; fi
rm -rf testdata/bin testdata/bin1

View File

@ -418,6 +418,7 @@ func runTest(cmd *Command, args []string) {
var coverFiles []string
coverFiles = append(coverFiles, p.GoFiles...)
coverFiles = append(coverFiles, p.CgoFiles...)
coverFiles = append(coverFiles, p.TestGoFiles...)
p.coverVars = declareCoverVars(p.ImportPath, coverFiles...)
}
}
@ -676,7 +677,7 @@ func (b *builder) test(p *Package) (buildAction, runAction, printAction *action,
stk.push("testmain")
for dep := range testMainDeps {
if ptest.ImportPath != dep {
p1 := loadImport("testing", "", &stk, nil)
p1 := loadImport(dep, "", &stk, nil)
if p1.Error != nil {
return nil, nil, nil, p1.Error
}

7
src/cmd/go/testdata/dep_test.go vendored Normal file
View File

@ -0,0 +1,7 @@
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package deps
import _ "testing"