github.com/PandaGoAdmin/utils@v0.0.0-20211208134815-d5461603a00f/os_unix_test.go (about) 1 // +build linux darwin 2 3 package kgo 4 5 import ( 6 "github.com/stretchr/testify/assert" 7 "os" 8 "testing" 9 ) 10 11 func TestOS_Unix_NotWindows(t *testing.T) { 12 res := KOS.IsWindows() 13 assert.False(t, res) 14 } 15 16 func TestOS_Unix_HomeDir(t *testing.T) { 17 res, err := KOS.HomeDir() 18 assert.Nil(t, err) 19 assert.NotEmpty(t, res) 20 } 21 22 func BenchmarkOS_Unix_HomeDir(b *testing.B) { 23 b.ResetTimer() 24 for i := 0; i < b.N; i++ { 25 _, _ = KOS.HomeDir() 26 } 27 } 28 29 func TestOS_Unix_Exec(t *testing.T) { 30 var ret int 31 var res []byte 32 var err []byte 33 34 ret, res, err = KOS.Exec(tesCommand01) 35 assert.Equal(t, ret, 0) 36 assert.NotEmpty(t, res) 37 assert.Empty(t, err) 38 39 //错误的命令 40 ret, res, err = KOS.Exec(tesCommand02) 41 assert.Equal(t, ret, 1) 42 assert.Empty(t, res) 43 assert.NotEmpty(t, err) 44 } 45 46 func BenchmarkOS_Unix_Exec(b *testing.B) { 47 b.ResetTimer() 48 for i := 0; i < b.N; i++ { 49 _, _, _ = KOS.Exec(tesCommand01) 50 } 51 } 52 53 func TestOS_Unix_System(t *testing.T) { 54 var ret int 55 var res []byte 56 var err []byte 57 58 ret, res, err = KOS.System(tesCommand01) 59 assert.Equal(t, ret, 0) 60 assert.Empty(t, err) 61 assert.NotEmpty(t, res) 62 63 //错误的命令 64 ret, res, err = KOS.System(tesCommand02) 65 assert.Equal(t, ret, 1) 66 assert.NotEmpty(t, err) 67 assert.Empty(t, res) 68 } 69 70 func BenchmarkOS_Unix_System(b *testing.B) { 71 b.ResetTimer() 72 for i := 0; i < b.N; i++ { 73 _, _, _ = KOS.System(tesCommand01) 74 } 75 } 76 77 func TestOS_Unix_IsProcessExists(t *testing.T) { 78 var res bool 79 80 pid := os.Getpid() 81 res = KOS.IsProcessExists(pid) 82 assert.True(t, res) 83 84 res = KOS.IsProcessExists(-1) 85 assert.False(t, res) 86 } 87 88 func BenchmarkOS_Unix_IsProcessExists(b *testing.B) { 89 b.ResetTimer() 90 pid := os.Getpid() 91 for i := 0; i < b.N; i++ { 92 KOS.IsProcessExists(pid) 93 } 94 }