cheets_CTS_R: Add a subjob for video tests.

To avoid crashing and aborting test case interfering
with other tests in the same job, a few video tests
are cut out as a smaller job consisting only of video tests.

BUG=b:175517694
TEST=cheets_CTS_R.11_r3.x86.CtsMediaTestCases.video

Change-Id: I1398e2f3eb5a5f61bc0a3c4f0247eaba68be25c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2591839
Tested-by: Kazuhiro Inaba <kinaba@chromium.org>
Commit-Queue: Chih-Yu Huang <akahuang@chromium.org>
Reviewed-by: Chih-Yu Huang <akahuang@chromium.org>
Auto-Submit: 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 828cd9c..e83f243 100755
--- a/server/cros/tradefed/generate_controlfiles_CTS_R.py
+++ b/server/cros/tradefed/generate_controlfiles_CTS_R.py
@@ -66,6 +66,7 @@
         'CtsLibcoreOjTestCases': 2.0,
         'CtsMediaStressTestCases': 5.0,
         'CtsMediaTestCases': 10.0,
+        'CtsMediaTestCases.video': 10.0,
         'CtsNNAPIBenchmarkTestCases': 2.0,
         'CtsPrintTestCases': 1.5,
         'CtsSecurityTestCases': 20.0,
@@ -112,6 +113,7 @@
 
 CONFIG['NEEDS_PUSH_MEDIA'] = CONFIG['MEDIA_MODULES'] + [
         'CtsMediaTestCases.audio',
+        'CtsMediaTestCases.video',
 ]
 
 # Modules that are known to need the default apps of Chrome (eg. Files.app).
@@ -206,6 +208,7 @@
         'CtsMediaTestCases': {
                 'SUBMODULES': set([
                         'CtsMediaTestCases.audio',
+                        'CtsMediaTestCases.video',
                 ]),
                 'SUITES': ['suite:arc-cts-r'],
         },
@@ -502,6 +505,22 @@
                 '--include-filter',
                 'CtsMediaTestCases android.media.cts.VolumeShaperTest',
         ],
+        'CtsMediaTestCases.video': [
+               '--include-filter',
+               'CtsMediaTestCases android.media.cts.AdaptivePlaybackTest',
+               '--include-filter',
+               'CtsMediaTestCases android.media.cts.DecodeAccuracyTest',
+               '--include-filter',
+               'CtsMediaTestCases android.media.cts.DecodeEditEncodeTest',
+               '--include-filter',
+               'CtsMediaTestCases android.media.cts.DecoderConformanceTest',
+               '--include-filter',
+               'CtsMediaTestCases android.media.cts.EncodeDecodeTest',
+               '--include-filter',
+               'CtsMediaTestCases android.media.cts.ExtractDecodeEditEncodeMuxTest',
+               '--include-filter',
+               'CtsMediaTestCases android.media.cts.MediaCodecPlayerTest',
+        ],
         'CtsWindowManager.A': [
                '--include-filter',
                'CtsWindowManagerDeviceTestCases android.server.wm.ActivityManagerGetConfigTests',
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsMediaTestCases.video b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsMediaTestCases.video
new file mode 100644
index 0000000..623bef7
--- /dev/null
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsMediaTestCases.video
@@ -0,0 +1,34 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file has been automatically generated. Do not edit!
+
+AUTHOR = 'ARC++ Team'
+NAME = 'cheets_CTS_R.11_r3.arm.CtsMediaTestCases.video'
+ATTRIBUTES = 'suite:arc-cts-r'
+DEPENDENCIES = 'arc'
+JOB_RETRIES = 1
+TEST_TYPE = 'server'
+TIME = 'MEDIUM'
+MAX_RESULT_SIZE_KB = 512000
+DOC = 'Run module CtsMediaTestCases.video of the Android Compatibility Test Suite (CTS) using arm ABI in the ARC++ container.'
+
+def run_TS(machine):
+    host_list = [hosts.create_host(machine)]
+    job.run_test(
+        'cheets_CTS_R',
+        hosts=host_list,
+        iterations=1,
+        tag='11_r3.arm.CtsMediaTestCases.video',
+        test_name='cheets_CTS_R.11_r3.arm.CtsMediaTestCases.video',
+        run_template=['run', 'commandAndExit', 'cts', '--include-filter', 'CtsMediaTestCases android.media.cts.AdaptivePlaybackTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeAccuracyTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeEditEncodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecoderConformanceTest', '--include-filter', 'CtsMediaTestCases android.media.cts.EncodeDecodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.ExtractDecodeEditEncodeMuxTest', '--include-filter', 'CtsMediaTestCases android.media.cts.MediaCodecPlayerTest', '--logcat-on-failure'],
+        retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
+        target_module='CtsMediaTestCases',
+        target_plan=None,
+        bundle='arm',
+        uri='LATEST',
+        use_jdk9=True,
+        timeout=36000)
+
+parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsMediaTestCases.video b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsMediaTestCases.video
new file mode 100644
index 0000000..ab393c3
--- /dev/null
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsMediaTestCases.video
@@ -0,0 +1,35 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file has been automatically generated. Do not edit!
+
+AUTHOR = 'ARC++ Team'
+NAME = 'cheets_CTS_R.11_r3.x86.CtsMediaTestCases.video'
+ATTRIBUTES = 'suite:arc-cts-r'
+DEPENDENCIES = 'arc, cts_abi_x86'
+JOB_RETRIES = 1
+TEST_TYPE = 'server'
+TIME = 'MEDIUM'
+MAX_RESULT_SIZE_KB = 512000
+DOC = 'Run module CtsMediaTestCases.video of the Android Compatibility Test Suite (CTS) using x86 ABI in the ARC++ container.'
+
+def run_TS(machine):
+    host_list = [hosts.create_host(machine)]
+    job.run_test(
+        'cheets_CTS_R',
+        hosts=host_list,
+        iterations=1,
+        needs_push_media=True,
+        tag='11_r3.x86.CtsMediaTestCases.video',
+        test_name='cheets_CTS_R.11_r3.x86.CtsMediaTestCases.video',
+        run_template=['run', 'commandAndExit', 'cts', '--include-filter', 'CtsMediaTestCases android.media.cts.AdaptivePlaybackTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeAccuracyTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeEditEncodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecoderConformanceTest', '--include-filter', 'CtsMediaTestCases android.media.cts.EncodeDecodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.ExtractDecodeEditEncodeMuxTest', '--include-filter', 'CtsMediaTestCases android.media.cts.MediaCodecPlayerTest', '--logcat-on-failure'],
+        retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
+        target_module='CtsMediaTestCases',
+        target_plan=None,
+        bundle='x86',
+        uri='LATEST',
+        use_jdk9=True,
+        timeout=36000)
+
+parallel_simple(run_TS, machines)