package procfs import ( "os" "path/filepath" "regexp" "runtime" "testing" "gotest.tools/assert" ) func TestPidOf(t *testing.T) { pids, err := PidOf(filepath.Base(os.Args[0])) assert.NilError(t, err) assert.Check(t, len(pids) == 1) assert.DeepEqual(t, pids[0], os.Getpid()) } func BenchmarkGetPids(b *testing.B) { if runtime.GOOS == "darwin" || runtime.GOOS == "windows" { b.Skipf("not supported on GOOS=%s", runtime.GOOS) } re, err := regexp.Compile("(^|/)" + filepath.Base(os.Args[0]) + "$") assert.Check(b, err == nil) for i := 0; i < b.N; i++ { pids := getPids(re) b.StopTimer() assert.Check(b, len(pids) > 0) assert.Check(b, pids[0] == os.Getpid()) b.StartTimer() } }