github.com/mongodb/grip@v0.0.0-20240213223901-f906268d82b9/message/process_info_test.go (about)

     1  package message
     2  
     3  import (
     4  	"os"
     5  	"os/exec"
     6  	"testing"
     7  
     8  	"github.com/shirou/gopsutil/v3/process"
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestChildren(t *testing.T) {
    13  	assert := assert.New(t)
    14  	myPid := int32(os.Getpid())
    15  	p, err := process.NewProcess(myPid)
    16  	assert.NotNil(p)
    17  	assert.NoError(err)
    18  	cmd := exec.Command("sleep", "1")
    19  	assert.NoError(cmd.Start())
    20  
    21  	c, err := p.Children()
    22  	assert.NotNil(c)
    23  	assert.NoError(err)
    24  	assert.Equal(1, len(c))
    25  	for _, process := range c {
    26  		assert.NotEqual(myPid, process.Pid)
    27  	}
    28  }