Files
httprunner/hrp/pkg/gidevice/perfd_test.go
2022-10-24 17:03:47 +08:00

181 lines
2.9 KiB
Go

//go:build localtest
package gidevice
import (
"fmt"
"testing"
"time"
)
func TestPerfSystemMonitor(t *testing.T) {
setupLockdownSrv(t)
data, err := dev.PerfStart(
WithPerfSystemCPU(true),
WithPerfSystemMem(true),
WithPerfSystemDisk(true),
WithPerfSystemNetwork(true),
WithPerfOutputInterval(1000),
)
if err != nil {
t.Fatal(err)
}
timer := time.NewTimer(time.Duration(time.Second * 10))
for {
select {
case <-timer.C:
dev.PerfStop()
return
case d := <-data:
fmt.Println(string(d))
}
}
}
func TestPerfProcessMonitor(t *testing.T) {
setupLockdownSrv(t)
data, err := dev.PerfStart(
WithPerfProcessAttributes("cpuUsage", "memAnon"),
WithPerfOutputInterval(1000),
WithPerfPID(100),
WithPerfBundleID("com.apple.mobilesafari"), // higher priority than pid
)
if err != nil {
t.Fatal(err)
}
timer := time.NewTimer(time.Duration(time.Second * 10))
for {
select {
case <-timer.C:
dev.PerfStop()
return
case d := <-data:
fmt.Println(string(d))
}
}
}
func TestPerfGPU(t *testing.T) {
setupLockdownSrv(t)
data, err := dev.PerfStart(
WithPerfSystemCPU(false),
WithPerfSystemMem(false),
WithPerfGPU(true),
)
if err != nil {
t.Fatal(err)
}
timer := time.NewTimer(time.Duration(time.Second * 10))
for {
select {
case <-timer.C:
dev.PerfStop()
return
case d := <-data:
fmt.Println(string(d))
}
}
}
func TestPerfFPS(t *testing.T) {
setupLockdownSrv(t)
data, err := dev.PerfStart(
WithPerfSystemCPU(false),
WithPerfSystemMem(false),
WithPerfFPS(true),
)
if err != nil {
t.Fatal(err)
}
timer := time.NewTimer(time.Duration(time.Second * 10))
for {
select {
case <-timer.C:
dev.PerfStop()
return
case d := <-data:
fmt.Println(string(d))
}
}
}
func TestPerfNetwork(t *testing.T) {
setupLockdownSrv(t)
data, err := dev.PerfStart(
WithPerfSystemCPU(false),
WithPerfSystemMem(false),
WithPerfNetwork(true),
)
if err != nil {
t.Fatal(err)
}
timer := time.NewTimer(time.Duration(time.Second * 10))
for {
select {
case <-timer.C:
dev.PerfStop()
return
case d := <-data:
fmt.Println(string(d))
}
}
}
func TestPerfAll(t *testing.T) {
setupLockdownSrv(t)
data, err := dev.PerfStart(
WithPerfSystemCPU(true),
WithPerfSystemMem(true),
WithPerfSystemDisk(true),
WithPerfSystemNetwork(true),
WithPerfNetwork(true),
WithPerfFPS(true),
WithPerfGPU(true),
WithPerfBundleID("com.apple.mobilesafari"),
)
if err != nil {
t.Fatal(err)
}
timer := time.NewTimer(time.Duration(time.Second * 10))
for {
select {
case <-timer.C:
dev.PerfStop()
return
case d := <-data:
fmt.Println(string(d))
}
}
}
func TestPcap(t *testing.T) {
setupLockdownSrv(t)
data, err := dev.Pcap()
if err != nil {
t.Fatal(err)
}
timer := time.NewTimer(time.Duration(time.Second * 10))
for {
select {
case <-timer.C:
dev.PcapStop()
return
case d := <-data:
fmt.Println(string(d))
}
}
}