| // Copyright 2023 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| "golang.org/x/tools/internal/pprof" |
| func TestTotalTime(t *testing.T) { |
| // $ go tool pprof testdata/sample.pprof <&- 2>&1 | grep Total |
| // Duration: 11.10s, Total samples = 27.59s (248.65%) |
| filename = "testdata/sample.pprof" |
| want = time.Duration(27590003550) |
| profGz, err := os.ReadFile(filename) |
| rd, err := gzip.NewReader(bytes.NewReader(profGz)) |
| payload, err := io.ReadAll(rd) |
| got, err := pprof.TotalTime(payload) |
| t.Fatalf("TotalTime(%q): got %v (%d), want %v (%d)", filename, got, got, want, want) |