Fix adb invocations in devutil (#200)

This commit is contained in:
Karol Wrótniak
2021-03-10 13:22:03 +01:00
committed by GitHub
parent 463604f72e
commit f21140acf7

View File

@@ -3,6 +3,7 @@ var util = require('util')
var split = require('split')
var Promise = require('bluebird')
var androidDeviceList = require('android-device-list')
var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default
var devutil = module.exports = Object.create(null)
@@ -11,7 +12,8 @@ function closedError(err) {
}
devutil.ensureUnusedLocalSocket = function(adb, serial, sock) {
return adb.openLocal(serial, sock)
var deviceClient = new DeviceClient(adb, serial)
return deviceClient.openLocal(sock)
.then(function(conn) {
conn.end()
throw new Error(util.format('Local socket "%s" should be unused', sock))
@@ -22,7 +24,8 @@ devutil.ensureUnusedLocalSocket = function(adb, serial, sock) {
}
devutil.waitForLocalSocket = function(adb, serial, sock) {
return adb.openLocal(serial, sock)
var deviceClient = new DeviceClient(adb, serial)
return deviceClient.openLocal(sock)
.then(function(conn) {
conn.sock = sock
return conn
@@ -36,6 +39,7 @@ devutil.waitForLocalSocket = function(adb, serial, sock) {
}
devutil.listPidsByComm = function(adb, serial, comm, bin) {
var deviceClient = new DeviceClient(adb, serial)
var users = {
shell: true
}
@@ -71,7 +75,7 @@ devutil.listPidsByComm = function(adb, serial, comm, bin) {
})
}
return adb.shell(serial, 'ps 2>/dev/null')
return deviceClient.shell('ps 2>/dev/null')
.then(findProcess)
.then(function(res) {
// return pids if process can be found in the output of 'ps' command
@@ -81,7 +85,7 @@ devutil.listPidsByComm = function(adb, serial, comm, bin) {
}
// otherwise try to run 'ps -elf'
else {
return adb.shell(serial, 'ps -lef 2>/dev/null')
return deviceClient.shell('ps -lef 2>/dev/null')
.then(findProcess)
.then(function(res) {
return Promise.resolve(res.pids)
@@ -103,12 +107,13 @@ devutil.waitForProcsToDie = function(adb, serial, comm, bin) {
}
devutil.killProcsByComm = function(adb, serial, comm, bin, mode) {
var deviceClient = new DeviceClient(adb, serial)
return devutil.listPidsByComm(adb, serial, comm, bin, mode)
.then(function(pids) {
if (!pids.length) {
return Promise.resolve()
}
return adb.shell(serial, ['kill', mode || -15].concat(pids))
return deviceClient.shell(['kill', mode || -15].concat(pids))
.then(function(out) {
return new Promise(function(resolve) {
out.on('end', resolve)