Files
2022-08-12 16:14:18 -06:00

60 lines
1.0 KiB
Go

package debugserver
import (
"io"
"os"
"testing"
"github.com/blacktop/ipsw/pkg/usb"
"github.com/blacktop/ipsw/pkg/usb/apps"
)
func TestProcess_Start(t *testing.T) {
conn, err := usb.NewConn()
if err != nil {
t.Fatal(err)
}
defer func(conn *usb.Conn) {
_ = conn.Close()
}(conn)
devices, err := conn.ListDevices()
if err != nil {
t.Fatal(err)
}
if len(devices) < 1 {
t.Fatal("not device")
}
device := devices[0]
cli, err := apps.NewClient(device.SerialNumber)
if err != nil {
t.Fatal(err)
}
path, err := cli.LookupExePath("com.meituan.itakeaway")
if err != nil {
t.Fatal(err)
}
var appEnv []string
if os.Getenv("IDE_DISABLED_OS_ACTIVITY_DT_MODE") == "" {
appEnv = append(appEnv, "OS_ACTIVITY_DT_MODE=enable")
}
proc, err := NewProcess(device.SerialNumber, []string{path}, appEnv)
if err != nil {
t.Fatal(err)
}
defer func(proc *Process) {
_ = proc.Kill()
}(proc)
go func() {
_, _ = io.Copy(os.Stdout, proc.Stdout())
}()
if err := proc.Start(); err != nil {
t.Fatal(err)
}
select {}
}