cheets_CTS_R: An option to use old adb client.

As a speculative workaround for b/183438202.

BUG=b:183438202
TEST=cheets_CTS_R.11_r3.arm.CtsStatsdHost

Change-Id: I3cd74896932bf2bb926c6d30e3b397e7160bbf19
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2804123
Commit-Queue: Kazuhiro Inaba <kinaba@chromium.org>
Tested-by: Kazuhiro Inaba <kinaba@chromium.org>
Auto-Submit: Kazuhiro Inaba <kinaba@chromium.org>
Reviewed-by: Jiyoun Ha <jiyounha@chromium.org>
(cherry picked from commit 100ef8cf8ae7f58226f27e6a64563d17577c5959)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2817688
Reviewed-by: Kazuhiro Inaba <kinaba@chromium.org>
diff --git a/server/cros/tradefed/generate_controlfiles_CTS_R.py b/server/cros/tradefed/generate_controlfiles_CTS_R.py
index 2d25a07..8e87cde 100755
--- a/server/cros/tradefed/generate_controlfiles_CTS_R.py
+++ b/server/cros/tradefed/generate_controlfiles_CTS_R.py
@@ -159,6 +159,10 @@
         'CtsMediaTestCases',
 ]
 
+CONFIG['USE_OLD_ADB'] = [
+        'CtsStatsdHostTestCases',
+]
+
 # Modules that are known to need the default apps of Chrome (eg. Files.app).
 CONFIG['ENABLE_DEFAULT_APPS'] = [
         'CtsAppSecurityHostTestCases',
diff --git a/server/cros/tradefed/generate_controlfiles_common.py b/server/cros/tradefed/generate_controlfiles_common.py
index dc259d3..2d7bdf6 100755
--- a/server/cros/tradefed/generate_controlfiles_common.py
+++ b/server/cros/tradefed/generate_controlfiles_common.py
@@ -496,6 +496,8 @@
         # Remove this once JDK9 is the base JDK for lab.
         if CONFIG.get('USE_JDK9', False):
             extra_args.add('use_jdk9=True')
+        if module in CONFIG.get('USE_OLD_ADB', []):
+            extra_args.add('use_old_adb=True')
         if is_public:
             extra_args.add('warn_on_test_retry=False')
             extra_args.add('retry_manual_tests=True')
diff --git a/server/cros/tradefed/tradefed_constants.py b/server/cros/tradefed/tradefed_constants.py
index d513610..241c849 100644
--- a/server/cros/tradefed/tradefed_constants.py
+++ b/server/cros/tradefed/tradefed_constants.py
@@ -6,6 +6,8 @@
 SDK_TOOLS_DIR = 'gs://chromeos-arc-images/builds/git_nyc-mr1-arc-linux-static_sdk_tools/3544738'
 SDK_TOOLS_FILES = ['aapt']
 
+# Use old version of adb for a speculative workaround for b/183438202
+ADB_DIR_OLD = 'gs://chromeos-arc-images/builds/git_qt-release-static_sdk_tools/6118618'
 # adb 31.0.0 from https://developer.android.com/studio/releases/platform-tools
 ADB_DIR = 'gs://chromeos-arc-images/builds/aosp-sdk-release/7110759/'
 ADB_FILES = ['adb']
diff --git a/server/cros/tradefed/tradefed_test.py b/server/cros/tradefed/tradefed_test.py
index 9be99c9..8709aa0 100644
--- a/server/cros/tradefed/tradefed_test.py
+++ b/server/cros/tradefed/tradefed_test.py
@@ -94,7 +94,8 @@
                    retry_manual_tests=False,
                    warn_on_test_retry=True,
                    hard_reboot_on_failure=False,
-                   use_jdk9=False):
+                   use_jdk9=False,
+                   use_old_adb=False):
         """Sets up the tools and binary bundles for the test."""
         if utils.is_in_container() and not client_utils.is_moblab():
             self._job_deadline = time.time() + self._MAX_LAB_JOB_LENGTH_IN_SEC
@@ -135,8 +136,8 @@
         permission = (
             stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH
             | stat.S_IXOTH)
-        self._install_files(constants.ADB_DIR, constants.ADB_FILES,
-                            permission)
+        adb_dir = constants.ADB_DIR_OLD if use_old_adb else constants.ADB_DIR
+        self._install_files(adb_dir, constants.ADB_FILES, permission)
         self._install_files(constants.SDK_TOOLS_DIR,
                             constants.SDK_TOOLS_FILES, permission)
 
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsApp b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsApp
index bc8819e..382cd51 100644
--- a/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsApp
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsApp
@@ -31,6 +31,6 @@
         uri='LATEST',
         login_precondition_commands=['lsblk -do NAME,RM | sed -n s/1$//p | xargs -n1 eject'],
         use_jdk9=True,
-        timeout=55800)
+        timeout=61200)
 
 parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsStatsdHost b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsStatsdHost
index 05bf50d..6ca8a39 100644
--- a/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsStatsdHost
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsStatsdHost
@@ -29,6 +29,7 @@
         bundle='arm',
         uri='LATEST',
         use_jdk9=True,
+        use_old_adb=True,
         timeout=12600)
 
 parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.arm.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases b/server/site_tests/cheets_CTS_R/control.11_r3.arm.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases
index 2d92592..3270cd7 100644
--- a/server/site_tests/cheets_CTS_R/control.11_r3.arm.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.arm.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases
@@ -30,6 +30,7 @@
         bundle='arm',
         uri='LATEST',
         use_jdk9=True,
+        use_old_adb=True,
         timeout=172800)
 
 parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsApp b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsApp
index 24a1269..22a35eb 100644
--- a/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsApp
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsApp
@@ -31,6 +31,6 @@
         uri='LATEST',
         login_precondition_commands=['lsblk -do NAME,RM | sed -n s/1$//p | xargs -n1 eject'],
         use_jdk9=True,
-        timeout=55800)
+        timeout=61200)
 
 parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsStatsdHost b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsStatsdHost
index fa1b84f..5fa284d 100644
--- a/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsStatsdHost
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsStatsdHost
@@ -29,6 +29,7 @@
         bundle='x86',
         uri='LATEST',
         use_jdk9=True,
+        use_old_adb=True,
         timeout=12600)
 
 parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.x86.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases b/server/site_tests/cheets_CTS_R/control.11_r3.x86.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases
index ba0f969..4f541a5 100644
--- a/server/site_tests/cheets_CTS_R/control.11_r3.x86.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.x86.all.CtsSettingsHostTestCases_-_CtsSyncManagerTestsCases
@@ -30,6 +30,7 @@
         bundle='x86',
         uri='LATEST',
         use_jdk9=True,
+        use_old_adb=True,
         timeout=172800)
 
 parallel_simple(run_TS, machines)