diff --git a/process.go b/process.go index 80f43b0..5b4ae84 100644 --- a/process.go +++ b/process.go @@ -52,6 +52,7 @@ func (p *Process) Info() Info { Args: p.Args, Dir: p.Dir, StartedAt: p.StartedAt, + Running: p.Status == StatusRunning, Status: p.Status, ExitCode: p.ExitCode, Duration: p.Duration, diff --git a/process_test.go b/process_test.go index 0dd9ebe..1447f01 100644 --- a/process_test.go +++ b/process_test.go @@ -22,6 +22,7 @@ func TestProcess_Info(t *testing.T) { assert.Equal(t, proc.ID, info.ID) assert.Equal(t, "echo", info.Command) assert.Equal(t, []string{"hello"}, info.Args) + assert.False(t, info.Running) assert.Equal(t, StatusExited, info.Status) assert.Equal(t, 0, info.ExitCode) assert.Greater(t, info.Duration, time.Duration(0)) @@ -65,11 +66,13 @@ func TestProcess_IsRunning(t *testing.T) { require.NoError(t, err) assert.True(t, proc.IsRunning()) + assert.True(t, proc.Info().Running) cancel() <-proc.Done() assert.False(t, proc.IsRunning()) + assert.False(t, proc.Info().Running) }) t.Run("false after completion", func(t *testing.T) { diff --git a/types.go b/types.go index 0416b72..73b4cad 100644 --- a/types.go +++ b/types.go @@ -98,6 +98,7 @@ type Info struct { Args []string `json:"args"` Dir string `json:"dir"` StartedAt time.Time `json:"startedAt"` + Running bool `json:"running"` Status Status `json:"status"` ExitCode int `json:"exitCode"` Duration time.Duration `json:"duration"`