]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: add tracing support
authorDmitry Vyukov <dvyukov@google.com>
Fri, 12 Dec 2014 18:41:18 +0000 (19:41 +0100)
committerDmitry Vyukov <dvyukov@google.com>
Wed, 28 Jan 2015 16:44:18 +0000 (16:44 +0000)
cmd/go part of tracing functionality:
https://docs.google.com/document/u/1/d/1FP5apqzBgr7ahCCgFO-yoVhk4YZrNIDNf9RybngBc14/pub
Full change:
https://codereview.appspot.com/146920043

Change-Id: If346e11b8029c475b01fbf7172ce1c88171fb1b2
Reviewed-on: https://go-review.googlesource.com/1460
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/go/doc.go
src/cmd/go/test.go
src/cmd/go/testflag.go

index d0d8a8a5b2e8d298b544e295360ebf7923ab1658..fac6ba8fe26d750b0cf8065a7bbc01e434a648b5 100644 (file)
@@ -1059,6 +1059,10 @@ control the execution of any test:
        -timeout t
            If a test runs longer than t, panic.
 
+       -trace trace.out
+           Write an execution trace to the specified file before exiting.
+           Writes test binary as -c would.
+
        -v
            Verbose output: log all tests as they are run. Also print all
            text from Log and Logf calls even if the test succeeds.
index c81e40639ecc5135c2562db381cc1ed3e16a8818..60f6b16c9a530a3e456cb69389e8106ead71ed58 100644 (file)
@@ -206,6 +206,10 @@ control the execution of any test:
        -timeout t
            If a test runs longer than t, panic.
 
+       -trace trace.out
+           Write an execution trace to the specified file before exiting.
+           Writes test binary as -c would.
+
        -v
            Verbose output: log all tests as they are run. Also print all
            text from Log and Logf calls even if the test succeeds.
index 6da74b99677f92be2f09f15809d13130d47d8a06..4d73370fa54e475057362d7439279a500f0b145a 100644 (file)
@@ -42,6 +42,7 @@ var usageMessage = `Usage of go test:
   -run="": passes -test.run to test
   -short=false: passes -test.short to test
   -timeout=0: passes -test.timeout to test
+  -trace="": passes -test.trace to test
   -v=false: passes -test.v to test
 `
 
@@ -103,6 +104,7 @@ var testFlagDefn = []*testFlagSpec{
        {name: "run", passToTest: true},
        {name: "short", boolVar: new(bool), passToTest: true},
        {name: "timeout", passToTest: true},
+       {name: "trace", passToTest: true},
        {name: "v", boolVar: &testV, passToTest: true},
 }
 
@@ -192,7 +194,7 @@ func testFlags(args []string) (packageNames, passToTest []string) {
                        testBench = true
                case "timeout":
                        testTimeout = value
-               case "blockprofile", "cpuprofile", "memprofile":
+               case "blockprofile", "cpuprofile", "memprofile", "trace":
                        testProfile = true
                        testNeedBinary = true
                case "coverpkg":