// TestDescriptions checks that the profile names under runtime/pprof package // have a key in the description map. func TestDescriptions(t *testing.T) { … } func TestHandlers(t *testing.T) { … } var Sink … func mutexHog1(mu1, mu2 *sync.Mutex, start time.Time, dt time.Duration) { … } // mutexHog2 is almost identical to mutexHog but we keep them separate // in order to distinguish them with function names in the stack trace. // We make them slightly different, using Sink, because otherwise // gccgo -c opt will merge them. func mutexHog2(mu1, mu2 *sync.Mutex, start time.Time, dt time.Duration) { … } // mutexHog starts multiple goroutines that runs the given hogger function for the specified duration. // The hogger function will be given two mutexes to lock & unlock. func mutexHog(duration time.Duration, hogger func(mu1, mu2 *sync.Mutex, start time.Time, dt time.Duration)) { … } func TestDeltaProfile(t *testing.T) { … } var srv … func query(endpoint string) (*profile.Profile, error) { … } // seen returns true if the profile includes samples whose stacks include // the specified function name (fname). func seen(p *profile.Profile, fname string) bool { … } // TestDeltaProfileEmptyBase validates that we still receive a valid delta // profile even if the base contains no samples. // // Regression test for https://go.dev/issue/64566. func TestDeltaProfileEmptyBase(t *testing.T) { … }