24 lines
562 B
Go
24 lines
562 B
Go
//go:build !windows
|
|
|
|
package process
|
|
|
|
import (
|
|
"errors"
|
|
"syscall"
|
|
"testing"
|
|
)
|
|
|
|
func TestCrossPlatformCoverageAliveUnixErrorClassification(t *testing.T) {
|
|
previous := killProcess
|
|
t.Cleanup(func() { killProcess = previous })
|
|
for _, tc := range []struct {
|
|
err error
|
|
want bool
|
|
}{{nil, true}, {syscall.EPERM, true}, {syscall.ESRCH, false}, {errors.New("ambiguous"), true}} {
|
|
killProcess = func(int, syscall.Signal) error { return tc.err }
|
|
if got := Alive(42); got != tc.want {
|
|
t.Errorf("Alive with %v = %v, want %v", tc.err, got, tc.want)
|
|
}
|
|
}
|
|
}
|