1
0
mirror of https://github.com/golang/go synced 2024-11-20 06:54:42 -07:00

cmd/go: fix coverage in xtest of cgo package

Cover-annotated cgo-rebuilt package for xtest was
not linked into package graph and so not being rebuilt.
Link into package graph.

Fixes #13625.

Change-Id: I685f7276f92bbc85fbc4b389111c83d9fe517637
Reviewed-on: https://go-review.googlesource.com/32614
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Russ Cox 2016-11-02 21:15:41 -04:00
parent 3ce46e3e9c
commit 1c08c728dc
12 changed files with 100 additions and 6 deletions

View File

@ -2106,11 +2106,16 @@ func TestCoverageWithCgo(t *testing.T) {
t.Skip("skipping because cgo not enabled")
}
tg := testgo(t)
defer tg.cleanup()
tg.run("test", "-short", "-cover", "./testdata/cgocover")
data := tg.getStdout() + tg.getStderr()
checkCoverage(tg, data)
for _, dir := range []string{"cgocover", "cgocover2", "cgocover3", "cgocover4"} {
t.Run(dir, func(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.setenv("GOPATH", filepath.Join(tg.pwd(), "testdata"))
tg.run("test", "-short", "-cover", dir)
data := tg.getStdout() + tg.getStderr()
checkCoverage(tg, data)
})
}
}
func TestCgoDependsOnSyscall(t *testing.T) {

View File

@ -867,7 +867,7 @@ func (b *builder) test(p *Package) (buildAction, runAction, printAction *action,
if err != nil {
return nil, nil, nil, err
}
if len(ptest.GoFiles) > 0 {
if len(ptest.GoFiles)+len(ptest.CgoFiles) > 0 {
pmain.imports = append(pmain.imports, ptest)
t.ImportTest = true
}

19
src/cmd/go/testdata/src/cgocover2/p.go vendored Normal file
View File

@ -0,0 +1,19 @@
package p
/*
void
f(void)
{
}
*/
import "C"
var b bool
func F() {
if b {
for {
}
}
C.f()
}

View File

@ -0,0 +1,10 @@
package p_test
import (
. "cgocover2"
"testing"
)
func TestF(t *testing.T) {
F()
}

19
src/cmd/go/testdata/src/cgocover3/p.go vendored Normal file
View File

@ -0,0 +1,19 @@
package p
/*
void
f(void)
{
}
*/
import "C"
var b bool
func F() {
if b {
for {
}
}
C.f()
}

View File

@ -0,0 +1 @@
package p

View File

@ -0,0 +1,10 @@
package p_test
import (
. "cgocover3"
"testing"
)
func TestF(t *testing.T) {
F()
}

View File

@ -0,0 +1 @@
package p

19
src/cmd/go/testdata/src/cgocover4/p.go vendored Normal file
View File

@ -0,0 +1,19 @@
package p
/*
void
f(void)
{
}
*/
import "C"
var b bool
func F() {
if b {
for {
}
}
C.f()
}

View File

@ -0,0 +1,10 @@
package p_test
import (
. "cgocover4"
"testing"
)
func TestF(t *testing.T) {
F()
}