diff --git a/process/process_test.go b/process/process_test.go index 717eade..9b3b5ca 100644 --- a/process/process_test.go +++ b/process/process_test.go @@ -2,10 +2,12 @@ package process import ( "fmt" + "io/ioutil" "net" "os" "os/exec" "os/user" + "path/filepath" "reflect" "runtime" "strconv" @@ -13,8 +15,6 @@ import ( "sync" "testing" "time" - "path/filepath" - "io/ioutil" "github.com/shirou/gopsutil/internal/common" "github.com/stretchr/testify/assert" @@ -303,7 +303,7 @@ func Test_Process_Long_Name(t *testing.T) { t.Fatalf("unable to create temp file %v", err) } - tmpfilecontent := []byte("package main\nimport(\n\"time\"\n)\nfunc main(){\ntime.Sleep(time.Second)\n}") + tmpfilecontent := []byte("package main\nimport(\n\"time\"\n)\nfunc main(){\nfor range time.Tick(time.Second) {}\n}") if _, err := tmpfile.Write(tmpfilecontent); err != nil { tmpfile.Close() t.Fatalf("unable to write temp file %v", err) @@ -312,7 +312,7 @@ func Test_Process_Long_Name(t *testing.T) { t.Fatalf("unable to close temp file %v", err) } - err = exec.Command("go", "build", "-o", tmpfile.Name() + ".exe", tmpfile.Name()).Run() + err = exec.Command("go", "build", "-o", tmpfile.Name()+".exe", tmpfile.Name()).Run() if err != nil { t.Fatalf("unable to build temp file %v", err) } @@ -324,7 +324,7 @@ func Test_Process_Long_Name(t *testing.T) { p, err := NewProcess(int32(cmd.Process.Pid)) skipIfNotImplementedErr(t, err) assert.Nil(t, err) - + n, err := p.Name() skipIfNotImplementedErr(t, err) if err != nil { @@ -334,7 +334,7 @@ func Test_Process_Long_Name(t *testing.T) { if basename != n { t.Fatalf("%s != %s", basename, n) } - cmd.Wait() + cmd.Process.Kill() } func Test_Process_Exe(t *testing.T) { p := testGetProcess() @@ -503,7 +503,14 @@ func Test_Children(t *testing.T) { if len(c) == 0 { t.Fatalf("children is empty") } - if c[0].Pid != int32(cmd.Process.Pid) { + found := false + for _, child := range c { + if child.Pid == int32(cmd.Process.Pid) { + found = true + break + } + } + if !found { t.Errorf("could not find child %d", cmd.Process.Pid) } }