]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/pprof: use testenv.GoToolPath in TestMapping
authorAlberto Donizetti <alb.donizetti@gmail.com>
Wed, 13 Jun 2018 18:48:26 +0000 (20:48 +0200)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 14 Jun 2018 13:45:55 +0000 (13:45 +0000)
The TestMapping test invokes the go tool in an exec.Command by
directly hard-coding a "go" string for the command. This can cause
test failures on systems where the "go" command points to an old
toolchain where the test is not supposed to work.

Use testenv.GoToolPath instead.

Also call 'go run' directly on the mappingtest/main.go file instead of
go-running the directory.

Change-Id: Ib91877c021209cbf4da50a561737d7a9d42c6adc
Reviewed-on: https://go-review.googlesource.com/118662
Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/pprof/proto_test.go

index baa23e9330cdb099531fce8b2f5726a12d2b66ab..4a47111e57c9994d5125054d628e885980aae6b9 100644 (file)
@@ -240,13 +240,13 @@ func TestMapping(t *testing.T) {
        testenv.MustHaveGoRun(t)
        testenv.MustHaveCGO(t)
 
-       prog := "./testdata/mappingtest"
+       prog := "./testdata/mappingtest/main.go"
 
        // GoOnly includes only Go symbols that runtime will symbolize.
        // Go+C includes C symbols that runtime will not symbolize.
        for _, traceback := range []string{"GoOnly", "Go+C"} {
                t.Run("traceback"+traceback, func(t *testing.T) {
-                       cmd := exec.Command("go", "run", prog)
+                       cmd := exec.Command(testenv.GoToolPath(t), "run", prog)
                        if traceback != "GoOnly" {
                                cmd.Env = append(os.Environ(), "SETCGOTRACEBACK=1")
                        }