github.com/PandaGoAdmin/utils@v0.0.0-20211208134815-d5461603a00f/os_darwin_test.go (about) 1 // +build darwin 2 3 package kgo 4 5 import ( 6 "fmt" 7 "github.com/stretchr/testify/assert" 8 "io/ioutil" 9 "net" 10 "testing" 11 "time" 12 ) 13 14 func TestOS_Darwin_IsMac(t *testing.T) { 15 res := KOS.IsMac() 16 assert.True(t, res) 17 } 18 19 func BenchmarkOS_Darwin_IsMac(b *testing.B) { 20 b.ResetTimer() 21 for i := 0; i < b.N; i++ { 22 KOS.IsMac() 23 } 24 } 25 26 func TestOS_Darwin_MemoryUsage(t *testing.T) { 27 var used, free, total uint64 28 29 used, free, total = KOS.MemoryUsage(true) 30 assert.Greater(t, int(used), 1) 31 assert.Greater(t, int(free), 1) 32 assert.Greater(t, int(total), 1) 33 } 34 35 func BenchmarkOS_Darwin_MemoryUsage(b *testing.B) { 36 b.ResetTimer() 37 for i := 0; i < b.N; i++ { 38 KOS.MemoryUsage(true) 39 } 40 } 41 42 func TestOS_Darwin_DiskUsage(t *testing.T) { 43 var used, free, total uint64 44 used, free, total = KOS.DiskUsage("/") 45 assert.Greater(t, int(used), 1) 46 assert.Greater(t, int(free), 1) 47 assert.Greater(t, int(total), 1) 48 } 49 50 func BenchmarkOS_Darwin_DiskUsage(b *testing.B) { 51 b.ResetTimer() 52 for i := 0; i < b.N; i++ { 53 _, _, _ = KOS.DiskUsage("/") 54 } 55 } 56 57 func TestOS_Darwin_Uptime(t *testing.T) { 58 res, err := KOS.Uptime() 59 assert.Greater(t, int(res), 1) 60 assert.Nil(t, err) 61 } 62 63 func BenchmarkOS_Darwin_Uptime(b *testing.B) { 64 b.ResetTimer() 65 for i := 0; i < b.N; i++ { 66 _, _ = KOS.Uptime() 67 } 68 } 69 70 func TestOS_Darwin_GetBiosInfo(t *testing.T) { 71 res := KOS.GetBiosInfo() 72 assert.NotNil(t, res) 73 assert.NotEmpty(t, res.Version) 74 } 75 76 func BenchmarkOS_Darwin_GetBiosInfo(b *testing.B) { 77 b.ResetTimer() 78 for i := 0; i < b.N; i++ { 79 KOS.GetBiosInfo() 80 } 81 } 82 83 func TestOS_Darwin_GetBoardInfo(t *testing.T) { 84 res := KOS.GetBoardInfo() 85 assert.NotNil(t, res) 86 assert.NotEmpty(t, res.Name) 87 assert.NotEmpty(t, res.Version) 88 assert.NotEmpty(t, res.Serial) 89 } 90 91 func BenchmarkOS_Darwin_GetBoardInfo(b *testing.B) { 92 b.ResetTimer() 93 for i := 0; i < b.N; i++ { 94 KOS.GetBoardInfo() 95 } 96 } 97 98 func TestOS_Darwin_GetCpuInfo(t *testing.T) { 99 res := KOS.GetCpuInfo() 100 assert.NotNil(t, res) 101 assert.NotEmpty(t, res.Vendor) 102 assert.NotEmpty(t, res.Model) 103 } 104 105 func BenchmarkOS_Darwin_GetCpuInfo(b *testing.B) { 106 b.ResetTimer() 107 for i := 0; i < b.N; i++ { 108 KOS.GetCpuInfo() 109 } 110 } 111 112 func TestOS_Darwin_GetPidByPort(t *testing.T) { 113 time.AfterFunc(time.Millisecond*250, func() { 114 res := KOS.GetPidByPort(8899) 115 assert.Greater(t, res, 1) 116 117 KOS.GetPidByPort(80) 118 }) 119 120 //发送消息 121 time.AfterFunc(time.Millisecond*500, func() { 122 conn, err := net.Dial("tcp", ":8899") 123 assert.Nil(t, err) 124 125 defer func() { 126 _ = conn.Close() 127 }() 128 129 _, err = fmt.Fprintf(conn, helloEng) 130 assert.Nil(t, err) 131 }) 132 133 //开启监听端口 134 l, err := net.Listen("tcp", ":8899") 135 assert.Nil(t, err) 136 defer func() { 137 _ = l.Close() 138 }() 139 140 for { 141 conn, err := l.Accept() 142 if err != nil { 143 return 144 } 145 defer func() { 146 _ = conn.Close() 147 }() 148 149 //接收 150 buf, err := ioutil.ReadAll(conn) 151 assert.Nil(t, err) 152 153 msg := string(buf[:]) 154 assert.Equal(t, msg, helloEng) 155 return 156 } 157 } 158 159 func BenchmarkOS_Darwin_GetPidByPort(b *testing.B) { 160 b.ResetTimer() 161 for i := 0; i < b.N; i++ { 162 KOS.GetPidByPort(8899) 163 } 164 }