Promise.timeout() doesn't stack (i.e. foo.timeout(1000).timeout(1000) doesn't mean "wait 1000ms, then another 1000ms", it means that we have two 1000ms timeouts running at the same time). Fix places where it could be a problem.

This commit is contained in:
Simo Kinnunen
2014-04-22 16:48:13 +09:00
parent 24620076b3
commit a4a0a62a66
7 changed files with 26 additions and 25 deletions

View File

@@ -49,8 +49,8 @@ module.exports = syrup.serial()
})
.then(function() {
return devutil.waitForPort(adb, options.serial, service.port)
.timeout(10000)
})
.timeout(10000)
.then(function(conn) {
conn.end()
})

View File

@@ -41,8 +41,8 @@ module.exports = syrup.serial()
})
.then(function() {
return devutil.waitForPort(adb, options.serial, service.port)
.timeout(20000)
})
.timeout(20000)
.then(function(conn) {
var ours = options.ports.pop()
, everyones = options.ports.pop()

View File

@@ -40,24 +40,24 @@ module.exports = syrup.serial()
.timeout(15000)
.then(function() {
return devutil.ensureUnusedPort(adb, options.serial, agent.port)
.timeout(10000)
})
.timeout(10000)
.then(function() {
return adb.shell(options.serial, util.format(
"export CLASSPATH='%s'; exec app_process /system/bin '%s'"
, apk.path
, apk.main
))
"export CLASSPATH='%s'; exec app_process /system/bin '%s'"
, apk.path
, apk.main
))
.timeout(10000)
})
.timeout(10000)
.then(function(out) {
lifecycle.share('InputAgent shell', out)
streamutil.talk(log, 'InputAgent says: "%s"', out)
})
.then(function() {
return devutil.waitForPort(adb, options.serial, agent.port)
.timeout(10000)
})
.timeout(10000)
.then(function(conn) {
agent.socket = conn
agent.writer = new ms.DelimitingStream()
@@ -130,15 +130,15 @@ module.exports = syrup.serial()
.timeout(15000)
.then(function() {
return devutil.waitForPortToFree(adb, options.serial, service.port)
.timeout(10000)
})
.timeout(10000)
.then(function() {
return callService(util.format("-a '%s'", apk.startAction))
})
.then(function() {
return devutil.waitForPort(adb, options.serial, service.port)
.timeout(15000)
})
.timeout(15000)
.then(function(conn) {
service.socket = conn
service.reader = conn.pipe(new ms.DelimitedStream())

View File

@@ -101,8 +101,8 @@ module.exports = syrup.serial()
)
sendProgress('installing_app', guesstimate)
})
.timeout(30000)
})
.timeout(30000)
.then(function() {
if (message.launchActivity) {
log.info(
@@ -113,9 +113,9 @@ module.exports = syrup.serial()
// Progress 90%
sendProgress('launching_app', 90)
return adb.startActivity(options.serial, message.launchActivity)
.timeout(15000)
}
})
.timeout(15000)
.then(function() {
push.send([
channel

View File

@@ -24,16 +24,16 @@ module.exports = syrup.serial()
, '--lib', remote.lib
, '--listen-stats', service.port
])
.timeout(10000)
.then(function(out) {
lifecycle.share('Stats shell', out)
streamutil.talk(log, 'Stats shell says: "%s"', out)
})
})
.timeout(10000)
.then(function() {
return devutil.waitForPort(adb, options.serial, service.port)
.timeout(15000)
})
.timeout(15000)
.then(function(conn) {
return lifecycle.share('Stats connection', conn)
})

View File

@@ -26,20 +26,20 @@ module.exports = syrup.serial()
.timeout(10000)
.then(function() {
return adb.shell(options.serial, [
remote.bin
, '--lib', remote.lib
, '--listen-input', service.port
])
remote.bin
, '--lib', remote.lib
, '--listen-input', service.port
])
.timeout(10000)
})
.timeout(10000)
.then(function(out) {
lifecycle.share('Touch shell', out)
streamutil.talk(log, 'Touch shell says: "%s"', out)
})
.then(function() {
return devutil.waitForPort(adb, options.serial, service.port)
.timeout(15000)
})
.timeout(15000)
.then(function(conn) {
return Promise.promisifyAll(monkey.connectStream(conn))
})