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:
parent
b3b538c561
commit
105795bec7
4 changed files with 19 additions and 11 deletions
22
lib/cli.js
22
lib/cli.js
|
@ -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
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue