Fix adb invocations (#202)

This commit is contained in:
Karol Wrótniak
2021-03-10 14:50:33 +01:00
committed by GitHub
parent 50ee38c2ce
commit 5dfdd9ac63
18 changed files with 79 additions and 43 deletions

View File

@@ -9,12 +9,14 @@ var pathutil = require('../../../util/pathutil')
var devutil = require('../../../util/devutil')
var streamutil = require('../../../util/streamutil')
var Resource = require('./util/resource')
var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default
module.exports = syrup.serial()
.dependency(require('../support/adb'))
.dependency(require('../support/properties'))
.dependency(require('../support/abi'))
.define(function(options, adb, properties, abi) {
var deviceClient = new DeviceClient(adb, options.serial)
var log = logger.createLogger('device:resources:minirev')
var resources = {
@@ -36,7 +38,7 @@ module.exports = syrup.serial()
}
function removeResource(res) {
return adb.shell(options.serial, ['rm', '-f', res.dest])
return deviceClient.shell(['rm', '-f', res.dest])
.timeout(10000)
.then(function(out) {
return streamutil.readAll(out)
@@ -45,7 +47,7 @@ module.exports = syrup.serial()
}
function pushResource(res) {
return adb.push(options.serial, res.src, res.dest, res.mode)
return deviceClient.push(res.src, res.dest, res.mode)
.timeout(10000)
.then(function(transfer) {
return new Promise(function(resolve, reject) {
@@ -60,7 +62,7 @@ module.exports = syrup.serial()
log.info('Installing "%s" as "%s"', res.src, res.dest)
function checkExecutable(res) {
return adb.stat(options.serial, res.dest)
return deviceClient.stat(res.dest)
.timeout(5000)
.then(function(stats) {
// Can't use fs.constants.S_IXUSR due to differences on Windows.

View File

@@ -9,11 +9,13 @@ var pathutil = require('../../../util/pathutil')
var devutil = require('../../../util/devutil')
var streamutil = require('../../../util/streamutil')
var Resource = require('./util/resource')
var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default
module.exports = syrup.serial()
.dependency(require('../support/adb'))
.dependency(require('../support/abi'))
.define(function(options, adb, abi) {
var deviceClient = new DeviceClient(adb, options.serial)
var log = logger.createLogger('device:resources:minitouch')
var resources = {
@@ -35,7 +37,7 @@ module.exports = syrup.serial()
}
function removeResource(res) {
return adb.shell(options.serial, ['rm', '-f', res.dest])
return deviceClient.shell(['rm', '-f', res.dest])
.timeout(10000)
.then(function(out) {
return streamutil.readAll(out)
@@ -44,7 +46,7 @@ module.exports = syrup.serial()
}
function pushResource(res) {
return adb.push(options.serial, res.src, res.dest, res.mode)
return deviceClient.push(res.src, res.dest, res.mode)
.timeout(10000)
.then(function(transfer) {
return new Promise(function(resolve, reject) {
@@ -59,7 +61,7 @@ module.exports = syrup.serial()
log.info('Installing "%s" as "%s"', res.src, res.dest)
function checkExecutable(res) {
return adb.stat(options.serial, res.dest)
return deviceClient.stat(res.dest)
.timeout(5000)
.then(function(stats) {
// Can't use fs.constants.S_IXUSR due to differences on Windows.
@@ -107,7 +109,7 @@ module.exports = syrup.serial()
return {
bin: resources.bin.dest
, run: function(cmd) {
return adb.shell(options.serial, util.format(
return deviceClient.shell(util.format(
'exec %s%s'
, resources.bin.dest
, cmd ? util.format(' %s', cmd) : ''

View File

@@ -1,5 +1,6 @@
var util = require('util')
var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default
var syrup = require('@devicefarmer/stf-syrup')
var ProtoBuf = require('protobufjs')
var semver = require('semver')
@@ -12,6 +13,7 @@ var logger = require('../../../util/logger')
module.exports = syrup.serial()
.dependency(require('../support/adb'))
.define(function(options, adb) {
var deviceClient = new DeviceClient(adb, options.serial)
var log = logger.createLogger('device:resources:service')
var builder = ProtoBuf.loadProtoFile(
pathutil.vendor('STFService/wire.proto'))
@@ -30,7 +32,7 @@ module.exports = syrup.serial()
}
function getPath() {
return adb.shell(options.serial, ['pm', 'path', resource.pkg])
return deviceClient.shell(['pm', 'path', resource.pkg])
.timeout(10000)
.then(function(out) {
return streamutil.findLine(out, (/^package:/))
@@ -46,7 +48,7 @@ module.exports = syrup.serial()
return getPath()
.then(function(installedPath) {
log.info('Running version check')
return adb.shell(options.serial, util.format(
return deviceClient.shell(util.format(
"export CLASSPATH='%s';" +
" exec app_process /system/bin '%s' --version 2>/dev/null"
, installedPath
@@ -74,11 +76,11 @@ module.exports = syrup.serial()
log.info('Installing STFService')
// Uninstall first to make sure we don't have any certificate
// issues.
return adb.uninstall(options.serial, resource.pkg)
return deviceClient.uninstall(resource.pkg)
.timeout(15000)
.then(function() {
return promiseutil.periodicNotify(
adb.install(options.serial, resource.apk)
deviceClient.install(resource.apk)
, 20000
)
.timeout(65000)