diff --git a/server/site_tests/cheets_CTS_P/control.arm.CtsDeqpTestCases b/server/site_tests/cheets_CTS_P/control.arm.CtsDeqpTestCases
new file mode 100644
index 0000000..9699434
--- /dev/null
+++ b/server/site_tests/cheets_CTS_P/control.arm.CtsDeqpTestCases
@@ -0,0 +1,37 @@
+# Copyright 2018 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_P.arm.CtsDeqpTestCases'
+ATTRIBUTES = 'suite:cts_P'
+DEPENDENCIES = 'arc'
+JOB_RETRIES = 1
+TEST_TYPE = 'server'
+TIME = 'LONG'
+MAX_RESULT_SIZE_KB = 1024000
+PRIORITY = 70
+DOC = 'Run module CtsDeqpTestCases of the Android Compatibility Test Suite (CTS) using arm ABI in the ARC++ container.'
+
+def run_CTS(machine):
+    host_list = [hosts.create_host(machine)]
+    job.run_test(
+        'cheets_CTS_P',
+        hosts=host_list,
+        iterations=1,
+	max_retry=15,
+        needs_push_media=False,
+        tag='arm.CtsDeqpTestCases',
+        test_name='cheets_CTS_P.arm.CtsDeqpTestCases',
+        run_template=['run', 'commandAndExit', 'cts', '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases'],
+        retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
+        target_module='CtsDeqpTestCases',
+        target_plan=None,
+        bundle='arm',
+        retry_manual_tests=True,
+        warn_on_test_retry=False,
+        timeout=172800)
+
+parallel_simple(run_CTS, machines)
diff --git a/server/site_tests/cheets_CTS_P/control.x86.CtsDeqpTestCases b/server/site_tests/cheets_CTS_P/control.x86.CtsDeqpTestCases
new file mode 100644
index 0000000..2d5cf46
--- /dev/null
+++ b/server/site_tests/cheets_CTS_P/control.x86.CtsDeqpTestCases
@@ -0,0 +1,37 @@
+# Copyright 2018 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_P.x86.CtsDeqpTestCases'
+ATTRIBUTES = 'suite:cts_P'
+DEPENDENCIES = 'arc, cts_abi_x86'
+JOB_RETRIES = 1
+TEST_TYPE = 'server'
+TIME = 'LONG'
+MAX_RESULT_SIZE_KB = 1024000
+PRIORITY = 70
+DOC = 'Run module CtsDeqpTestCases of the Android Compatibility Test Suite (CTS) using x86 ABI in the ARC++ container.'
+
+def run_CTS(machine):
+    host_list = [hosts.create_host(machine)]
+    job.run_test(
+        'cheets_CTS_P',
+        hosts=host_list,
+        iterations=1,
+	max_retry=15,
+        needs_push_media=False,
+        tag='x86.CtsDeqpTestCases',
+        test_name='cheets_CTS_P.x86.CtsDeqpTestCases',
+        run_template=['run', 'commandAndExit', 'cts', '--include-filter', 'CtsDeqpTestCases', '--module', 'CtsDeqpTestCases'],
+        retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
+        target_module='CtsDeqpTestCases',
+        target_plan=None,
+        bundle='x86',
+        retry_manual_tests=True,
+        warn_on_test_retry=False,
+        timeout=172800)
+
+parallel_simple(run_CTS, machines)
