mirror of
https://github.com/DeviceFarmer/stf.git
synced 2026-04-19 08:33:24 +02:00
Add support for Android O Developer Preview 1.
This commit is contained in:
@@ -15,7 +15,8 @@ module.exports = syrup.serial()
|
||||
.dependency(require('../support/adb'))
|
||||
.dependency(require('../support/properties'))
|
||||
.dependency(require('../support/abi'))
|
||||
.define(function(options, adb, properties, abi) {
|
||||
.dependency(require('../support/sdk'))
|
||||
.define(function(options, adb, properties, abi, sdk) {
|
||||
var log = logger.createLogger('device:resources:minicap')
|
||||
|
||||
var resources = {
|
||||
@@ -42,12 +43,17 @@ module.exports = syrup.serial()
|
||||
pathutil.module(util.format(
|
||||
'minicap-prebuilt/prebuilt/%s/lib/android-%s/minicap.so'
|
||||
, supportedAbi
|
||||
, properties['ro.build.version.release']
|
||||
, sdk.release
|
||||
))
|
||||
, pathutil.module(util.format(
|
||||
'minicap-prebuilt/prebuilt/%s/lib/android-%s/minicap.so'
|
||||
, supportedAbi
|
||||
, properties['ro.build.version.sdk']
|
||||
, sdk.previewLevel
|
||||
))
|
||||
, pathutil.module(util.format(
|
||||
'minicap-prebuilt/prebuilt/%s/lib/android-%s/minicap.so'
|
||||
, supportedAbi
|
||||
, sdk.level
|
||||
))
|
||||
])
|
||||
}, []))
|
||||
@@ -82,7 +88,7 @@ module.exports = syrup.serial()
|
||||
}
|
||||
|
||||
function installResource(res) {
|
||||
log.info('Installing "%s" as "%s"', res.comm, res.dest)
|
||||
log.info('Installing "%s" as "%s"', res.src, res.dest)
|
||||
|
||||
function checkExecutable(res) {
|
||||
return adb.stat(options.serial, res.dest)
|
||||
|
||||
@@ -13,16 +13,19 @@ var Resource = require('./util/resource')
|
||||
module.exports = syrup.serial()
|
||||
.dependency(require('../support/adb'))
|
||||
.dependency(require('../support/properties'))
|
||||
.define(function(options, adb, properties) {
|
||||
.dependency(require('../support/abi'))
|
||||
.define(function(options, adb, properties, abi) {
|
||||
var log = logger.createLogger('device:resources:minirev')
|
||||
|
||||
var resources = {
|
||||
bin: new Resource({
|
||||
src: pathutil.vendor(util.format(
|
||||
'minirev/%s/minirev%s'
|
||||
, properties['ro.product.cpu.abi']
|
||||
, properties['ro.build.version.sdk'] < 16 ? '-nopie' : ''
|
||||
))
|
||||
src: pathutil.requiredMatch(abi.all.map(function(supportedAbi) {
|
||||
return pathutil.vendor(util.format(
|
||||
'minirev/%s/minirev%s'
|
||||
, supportedAbi
|
||||
, abi.pie ? '' : '-nopie'
|
||||
))
|
||||
}))
|
||||
, dest: [
|
||||
'/data/local/tmp/minirev'
|
||||
, '/data/data/com.android.shell/minirev'
|
||||
@@ -54,7 +57,7 @@ module.exports = syrup.serial()
|
||||
}
|
||||
|
||||
function installResource(res) {
|
||||
log.info('Installing "%s" as "%s"', res.comm, res.dest)
|
||||
log.info('Installing "%s" as "%s"', res.src, res.dest)
|
||||
|
||||
function checkExecutable(res) {
|
||||
return adb.stat(options.serial, res.dest)
|
||||
|
||||
@@ -56,7 +56,7 @@ module.exports = syrup.serial()
|
||||
}
|
||||
|
||||
function installResource(res) {
|
||||
log.info('Installing "%s" as "%s"', res.comm, res.dest)
|
||||
log.info('Installing "%s" as "%s"', res.src, res.dest)
|
||||
|
||||
function checkExecutable(res) {
|
||||
return adb.stat(options.serial, res.dest)
|
||||
|
||||
@@ -4,7 +4,8 @@ var logger = require('../../../util/logger')
|
||||
|
||||
module.exports = syrup.serial()
|
||||
.dependency(require('./properties'))
|
||||
.define(function(options, properties) {
|
||||
.dependency(require('./sdk'))
|
||||
.define(function(options, properties, sdk) {
|
||||
var log = logger.createLogger('device:support:abi')
|
||||
return (function() {
|
||||
function split(list) {
|
||||
@@ -13,7 +14,7 @@ module.exports = syrup.serial()
|
||||
|
||||
var abi = {
|
||||
primary: properties['ro.product.cpu.abi']
|
||||
, pie: properties['ro.build.version.sdk'] >= 16
|
||||
, pie: sdk.level >= 16
|
||||
, all: []
|
||||
, b32: []
|
||||
, b64: []
|
||||
|
||||
36
lib/units/device/support/sdk.js
Normal file
36
lib/units/device/support/sdk.js
Normal file
@@ -0,0 +1,36 @@
|
||||
var syrup = require('stf-syrup')
|
||||
|
||||
var logger = require('../../../util/logger')
|
||||
|
||||
module.exports = syrup.serial()
|
||||
.dependency(require('./properties'))
|
||||
.define(function(options, properties) {
|
||||
var log = logger.createLogger('device:support:sdk')
|
||||
return (function() {
|
||||
var level = parseInt(properties['ro.build.version.sdk'], 10)
|
||||
var previewDelta =
|
||||
parseInt(properties['ro.build.version.preview_sdk'], 10) || 0
|
||||
var previewLevel = level + previewDelta
|
||||
|
||||
var sdk = {
|
||||
level: level
|
||||
, previewDelta: previewDelta
|
||||
, previewLevel: previewLevel
|
||||
, release: properties['ro.build.version.release']
|
||||
}
|
||||
|
||||
if (sdk.previewDelta) {
|
||||
log.info(
|
||||
'Supports SDK %s (base %s, preview delta +%s)'
|
||||
, sdk.previewLevel
|
||||
, sdk.level
|
||||
, sdk.previewDelta
|
||||
)
|
||||
}
|
||||
else {
|
||||
log.info('Supports SDK %s', sdk.level)
|
||||
}
|
||||
|
||||
return sdk
|
||||
})()
|
||||
})
|
||||
Reference in New Issue
Block a user