From efa0d1f214c007a611a57133842e37162054b2be Mon Sep 17 00:00:00 2001 From: Hana Kim Date: Mon, 9 Apr 2018 10:31:10 -0400 Subject: [PATCH] cmd/trace: skip GoroutineInSyscall in case time order err All tests involving trace collection and parsing still need handling of failures caused by #16755 (Timestamp issue) Fixes #24738 Change-Id: I6cd0f9c6f49854a22fad6fce1a00964c168aa614 Reviewed-on: https://go-review.googlesource.com/105821 Reviewed-by: Peter Weinberger --- src/cmd/trace/trace_unix_test.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/cmd/trace/trace_unix_test.go b/src/cmd/trace/trace_unix_test.go index 19a8af0d4d..fec060e121 100644 --- a/src/cmd/trace/trace_unix_test.go +++ b/src/cmd/trace/trace_unix_test.go @@ -8,10 +8,10 @@ package main import ( "bytes" - "internal/trace" + traceparser "internal/trace" "io/ioutil" "runtime" - rtrace "runtime/trace" + "runtime/trace" "sync" "syscall" "testing" @@ -68,13 +68,15 @@ func TestGoroutineInSyscall(t *testing.T) { // Collect and parse trace. buf := new(bytes.Buffer) - if err := rtrace.Start(buf); err != nil { + if err := trace.Start(buf); err != nil { t.Fatalf("failed to start tracing: %v", err) } - rtrace.Stop() + trace.Stop() - res, err := trace.Parse(buf, "") - if err != nil { + res, err := traceparser.Parse(buf, "") + if err == traceparser.ErrTimeOrder { + t.Skipf("skipping due to golang.org/issue/16755 (timestamps are unreliable): %v", err) + } else if err != nil { t.Fatalf("failed to parse trace: %v", err) } -- 2.50.0