]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/pprof: fix trace test
authorDmitry Vyukov <dvyukov@google.com>
Tue, 10 Mar 2015 15:44:41 +0000 (18:44 +0300)
committerDmitry Vyukov <dvyukov@google.com>
Tue, 10 Mar 2015 16:29:25 +0000 (16:29 +0000)
Some of the trace stacks are OS-dependent due to OS-specific code
in net package. Check these stacks only on subset of OSes.

Change-Id: If95e4485839f4120fd6395725374c3a2f8706dfc
Reviewed-on: https://go-review.googlesource.com/7300
Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
src/runtime/pprof/trace_stack_test.go

index 79ff4ed40d191b0a84fc6711dc2ba2a997d18230..ef55d52610f1400112abcb7d43f340022591785e 100644 (file)
@@ -221,24 +221,29 @@ func TestTraceSymbolize(t *testing.T) {
                        frame{"runtime/pprof_test.TestTraceSymbolize", 115},
                        frame{"testing.tRunner", 0},
                }},
-               eventDesc{trace.EvGoBlockNet, []frame{
-                       frame{"net.(*netFD).accept", 0},
-                       frame{"net.(*TCPListener).AcceptTCP", 0},
-                       frame{"net.(*TCPListener).Accept", 0},
-                       frame{"runtime/pprof_test.TestTraceSymbolize.func10", 86},
-               }},
                eventDesc{trace.EvGoSleep, []frame{
                        frame{"time.Sleep", 0},
                        frame{"runtime/pprof_test.TestTraceSymbolize", 106},
                        frame{"testing.tRunner", 0},
                }},
-               eventDesc{trace.EvGoSysCall, []frame{
-                       frame{"syscall.read", 0},
-                       frame{"syscall.Read", 0},
-                       frame{"os.(*File).read", 0},
-                       frame{"os.(*File).Read", 0},
-                       frame{"runtime/pprof_test.TestTraceSymbolize.func11", 100},
-               }},
+       }
+       // Stacks for the following events are OS-dependent due to OS-specific code in net package.
+       if runtime.GOOS != "windows" && runtime.GOOS != "plan9" {
+               want = append(want, []eventDesc{
+                       eventDesc{trace.EvGoBlockNet, []frame{
+                               frame{"net.(*netFD).accept", 0},
+                               frame{"net.(*TCPListener).AcceptTCP", 0},
+                               frame{"net.(*TCPListener).Accept", 0},
+                               frame{"runtime/pprof_test.TestTraceSymbolize.func10", 86},
+                       }},
+                       eventDesc{trace.EvGoSysCall, []frame{
+                               frame{"syscall.read", 0},
+                               frame{"syscall.Read", 0},
+                               frame{"os.(*File).read", 0},
+                               frame{"os.(*File).Read", 0},
+                               frame{"runtime/pprof_test.TestTraceSymbolize.func11", 100},
+                       }},
+               }...)
        }
        matched := make([]bool, len(want))
        for _, ev := range events {