mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-11 18:59:39 +08:00
refactor: add SendWithCheck for adb transport
This commit is contained in:
@@ -221,10 +221,7 @@ func (c Client) executeCommand(command string, onlyVerifyResponse ...bool) (resp
|
|||||||
}
|
}
|
||||||
defer func() { _ = tp.Close() }()
|
defer func() { _ = tp.Close() }()
|
||||||
|
|
||||||
if err = tp.Send(command); err != nil {
|
if err = tp.SendWithCheck(command); err != nil {
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
if err = tp.VerifyResponse(); err != nil {
|
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -357,10 +357,7 @@ func (d *Device) createDeviceTransport() (tp transport, err error) {
|
|||||||
return transport{}, err
|
return transport{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = tp.Send(fmt.Sprintf("host:transport:%s", d.serial)); err != nil {
|
err = tp.SendWithCheck(fmt.Sprintf("host:transport:%s", d.serial))
|
||||||
return transport{}, err
|
|
||||||
}
|
|
||||||
err = tp.VerifyResponse()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -400,11 +397,7 @@ func (d *Device) executeCommand(command string, onlyVerifyResponse ...bool) (raw
|
|||||||
}
|
}
|
||||||
defer func() { _ = tp.Close() }()
|
defer func() { _ = tp.Close() }()
|
||||||
|
|
||||||
if err = tp.Send(command); err != nil {
|
if err = tp.SendWithCheck(command); err != nil {
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = tp.VerifyResponse(); err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -528,13 +521,12 @@ func (d *Device) installViaABBExec(apk io.ReadSeeker) (raw []byte, err error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer func() { _ = tp.Close() }()
|
defer func() { _ = tp.Close() }()
|
||||||
if err = tp.Send(fmt.Sprintf("abb_exec:package\x00install\x00-t\x00-S\x00%d", filesize)); err != nil {
|
|
||||||
|
cmd := fmt.Sprintf("abb_exec:package\x00install\x00-t\x00-S\x00%d", filesize)
|
||||||
|
if err = tp.SendWithCheck(cmd); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = tp.VerifyResponse(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
_, err = apk.Seek(0, io.SeekStart)
|
_, err = apk.Seek(0, io.SeekStart)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ type syncTransport struct {
|
|||||||
readTimeout time.Duration
|
readTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// newSyncTransport creates a new sync transport with existed tcp socket connection
|
||||||
func newSyncTransport(sock net.Conn, readTimeout time.Duration) syncTransport {
|
func newSyncTransport(sock net.Conn, readTimeout time.Duration) syncTransport {
|
||||||
return syncTransport{sock: sock, readTimeout: readTimeout}
|
return syncTransport{sock: sock, readTimeout: readTimeout}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,11 +27,14 @@ type transport struct {
|
|||||||
readTimeout time.Duration
|
readTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// newTransport creates a new tcp socket connection
|
||||||
func newTransport(address string, readTimeout ...time.Duration) (tp transport, err error) {
|
func newTransport(address string, readTimeout ...time.Duration) (tp transport, err error) {
|
||||||
if len(readTimeout) == 0 {
|
if len(readTimeout) == 0 {
|
||||||
readTimeout = []time.Duration{DefaultAdbReadTimeout}
|
readTimeout = []time.Duration{DefaultAdbReadTimeout}
|
||||||
}
|
}
|
||||||
tp.readTimeout = readTimeout[0]
|
tp = transport{
|
||||||
|
readTimeout: readTimeout[0],
|
||||||
|
}
|
||||||
tp.sock, err = net.Dial("tcp", address)
|
tp.sock, err = net.Dial("tcp", address)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
// dial success
|
// dial success
|
||||||
@@ -139,11 +142,15 @@ func (t transport) Close() (err error) {
|
|||||||
return t.sock.Close()
|
return t.sock.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t transport) CreateSyncTransport() (sTp syncTransport, err error) {
|
func (t transport) SendWithCheck(command string) (err error) {
|
||||||
if err = t.Send("sync:"); err != nil {
|
if err = t.Send(command); err != nil {
|
||||||
return syncTransport{}, err
|
return err
|
||||||
}
|
}
|
||||||
if err = t.VerifyResponse(); err != nil {
|
return t.VerifyResponse()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t transport) CreateSyncTransport() (sTp syncTransport, err error) {
|
||||||
|
if err = t.SendWithCheck("sync:"); err != nil {
|
||||||
return syncTransport{}, err
|
return syncTransport{}, err
|
||||||
}
|
}
|
||||||
sTp = newSyncTransport(t.sock, t.readTimeout)
|
sTp = newSyncTransport(t.sock, t.readTimeout)
|
||||||
|
|||||||
Reference in New Issue
Block a user