adb: fix timeout-related test flakiness.
When running tests against cuttlefish, `adb root` sometimes flakes because of a 6 second timeout in wait_for_device, which can get triggered when adbd's restart gets throttled by init. The adb client would notice that the socket went down, try to reconnect and fail because adbd still hasn't started yet, and then wait up to 10 seconds to reconnect, before which the `adb root` invocation would have failed due to timeout. Increase the timeout to be long enough to handle this, and also reduce the interval of reconnections to speed things up when we're in this scenario. Bug: http://b/170707786 Test: while true; do adb root; adb wait-for-device; adb unroot; adb wait-for-device; done Change-Id: I140d721dfcfd635d45813a55990684a25e32228c
This commit is contained in:
parent
3abb8b1485
commit
1115e29faf
|
@ -1149,7 +1149,7 @@ static bool adb_root(const char* command) {
|
|||
// If we were using a specific transport ID, there's nothing we can wait for.
|
||||
if (previous_id == 0) {
|
||||
adb_set_transport(previous_type, previous_serial, 0);
|
||||
wait_for_device("wait-for-device", 6000ms);
|
||||
wait_for_device("wait-for-device", 12000ms);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -129,8 +129,8 @@ class ReconnectHandler {
|
|||
};
|
||||
|
||||
// Only retry for up to one minute.
|
||||
static constexpr const std::chrono::seconds kDefaultTimeout = 10s;
|
||||
static constexpr const size_t kMaxAttempts = 6;
|
||||
static constexpr const std::chrono::seconds kDefaultTimeout = 3s;
|
||||
static constexpr const size_t kMaxAttempts = 20;
|
||||
|
||||
// Protects all members.
|
||||
std::mutex reconnect_mutex_;
|
||||
|
|
Loading…
Reference in New Issue