1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 10:19:30 +02:00

Give open device ports their own options. Preparing for future refactor.

This commit is contained in:
Simo Kinnunen 2015-04-29 16:38:03 +09:00
parent b3b538c561
commit 105795bec7
4 changed files with 19 additions and 11 deletions

View file

@ -94,7 +94,8 @@ program
, '--provider', options.name , '--provider', options.name
, '--connect-sub', options.connectSub.join(',') , '--connect-sub', options.connectSub.join(',')
, '--connect-push', options.connectPush.join(',') , '--connect-push', options.connectPush.join(',')
, '--ports', ports.join(',') , '--screen-port', ports.shift()
, '--connect-port', ports.shift()
, '--public-ip', options.publicIp , '--public-ip', options.publicIp
, '--group-timeout', options.groupTimeout , '--group-timeout', options.groupTimeout
, '--storage-url', options.storageUrl , '--storage-url', options.storageUrl
@ -126,9 +127,12 @@ program
.option('-p, --connect-push <endpoint>' .option('-p, --connect-push <endpoint>'
, 'push endpoint' , 'push endpoint'
, cliutil.list) , cliutil.list)
.option('--ports <ports>' .option('--screen-port <port>'
, 'ports allocated to worker' , 'port allocated to the screen websocket'
, cliutil.list) , Number)
.option('--connect-port <port>'
, 'port allocated to adb connect'
, Number)
.option('--public-ip <ip>' .option('--public-ip <ip>'
, 'public ip for global access' , 'public ip for global access'
, String , String
@ -164,8 +168,11 @@ program
if (!options.provider) { if (!options.provider) {
this.missingArgument('--provider') this.missingArgument('--provider')
} }
if (!options.ports) { if (!options.screenPort) {
this.missingArgument('--ports') this.missingArgument('--screen-port')
}
if (!options.connectPort) {
this.missingArgument('--connect-port')
} }
if (!options.storageUrl) { if (!options.storageUrl) {
this.missingArgument('--storage-url') this.missingArgument('--storage-url')
@ -174,7 +181,6 @@ program
require('./units/device')({ require('./units/device')({
serial: serial serial: serial
, provider: options.provider , provider: options.provider
, ports: options.ports
, publicIp: options.publicIp , publicIp: options.publicIp
, endpoints: { , endpoints: {
sub: options.connectSub sub: options.connectSub
@ -186,6 +192,8 @@ program
, adbPort: options.adbPort , adbPort: options.adbPort
, disableScreenPublicProxy: !!options.disableScreenPublicProxy , disableScreenPublicProxy: !!options.disableScreenPublicProxy
, screenWsUrlPattern: options.screenWsUrlPattern , screenWsUrlPattern: options.screenWsUrlPattern
, screenPort: options.screenPort
, connectPort: options.connectPort
}) })
}) })

View file

@ -20,7 +20,7 @@ module.exports = syrup.serial()
, plugin = Object.create(null) , plugin = Object.create(null)
, activeServer = null , activeServer = null
plugin.port = options.ports.pop() plugin.port = options.connectPort
plugin.url = util.format('%s:%s', options.publicIp, plugin.port) plugin.url = util.format('%s:%s', options.publicIp, plugin.port)
plugin.start = function() { plugin.start = function() {

View file

@ -6,7 +6,7 @@ module.exports = syrup.serial()
var plugin = Object.create(null) var plugin = Object.create(null)
plugin.devicePort = 9002 plugin.devicePort = 9002
plugin.publicPort = options.ports.pop() plugin.publicPort = options.screenPort
plugin.publicUrl = _.template(options.screenWsUrlPattern)({ plugin.publicUrl = _.template(options.screenWsUrlPattern)({
publicIp: options.publicIp publicIp: options.publicIp
, publicPort: plugin.publicPort , publicPort: plugin.publicPort

View file

@ -32,7 +32,7 @@ module.exports = function(options) {
// port, we must ensure that we allocate ports in fixed groups. // port, we must ensure that we allocate ports in fixed groups.
var ports = options.ports.slice( var ports = options.ports.slice(
0 0
, options.ports.length - options.ports.length % 4 , options.ports.length - options.ports.length % 2
) )
// Information about total devices // Information about total devices
@ -303,7 +303,7 @@ module.exports = function(options) {
// Spawn a device worker // Spawn a device worker
function spawn() { function spawn() {
var allocatedPorts = ports.splice(0, 4) var allocatedPorts = ports.splice(0, 2)
, proc = options.fork(device, allocatedPorts) , proc = options.fork(device, allocatedPorts)
, resolver = Promise.defer() , resolver = Promise.defer()