Split Chameleon suite into two, with different connections

We want to run the same suite on both HDMI and DP connections.
DUTs connected with Chameleon via DP are labeled 'chameleon:dp'.
DUTs connected with Chameleon via HDMI are labeled 'chameleon:hdmi'.

This change splits the original single test suites into two. For
example, the 'chameleon_hdmi' suite only runs tests on DUTs with
a 'chameleon:hdmi' label.

BUG=chromium:394436
TEST=site_utils/suite_scheduler/suite_scheduler.py --sanity

Change-Id: Ic6b7eeaaa307998bc4ad2cfb6ca04d0a2a540755
Reviewed-on: https://chromium-review.googlesource.com/211991
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/site_tests/display_EdidStress/control b/server/site_tests/display_EdidStress/control
index 077c3a4..c1ee231 100644
--- a/server/site_tests/display_EdidStress/control
+++ b/server/site_tests/display_EdidStress/control
@@ -8,7 +8,7 @@
 NAME = "display_EdidStress"
 PURPOSE = "Stress DUT by switching EDID from among a large pool of EDIDs."
 CRITERIA = "This test will fail if DUT does not see the emulated monitor."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_HotPlugAtBoot/control.extended b/server/site_tests/display_HotPlugAtBoot/control.extended
index c0d3ffa..7a5f5d9 100644
--- a/server/site_tests/display_HotPlugAtBoot/control.extended
+++ b/server/site_tests/display_HotPlugAtBoot/control.extended
@@ -8,7 +8,7 @@
 NAME = "display_HotPlugAtBoot.extended"
 PURPOSE = "Remotely controlled display hot-plug and reboot test."
 CRITERIA = "This test will fail if DUT doesn't see the display after boot."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_HotPlugAtBoot/control.mirrored b/server/site_tests/display_HotPlugAtBoot/control.mirrored
index cceb16d..7c1699b 100644
--- a/server/site_tests/display_HotPlugAtBoot/control.mirrored
+++ b/server/site_tests/display_HotPlugAtBoot/control.mirrored
@@ -8,7 +8,7 @@
 NAME = "display_HotPlugAtBoot.mirrored"
 PURPOSE = "Remotely controlled display hot-plug and reboot test."
 CRITERIA = "This test will fail if DUT doesn't see the display after boot."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_HotPlugAtSuspend/control.extended b/server/site_tests/display_HotPlugAtSuspend/control.extended
index 1d95350..6bbcf80 100644
--- a/server/site_tests/display_HotPlugAtSuspend/control.extended
+++ b/server/site_tests/display_HotPlugAtSuspend/control.extended
@@ -8,7 +8,7 @@
 NAME = "display_HotPlugAtSuspend.extended"
 PURPOSE = "Remotely controlled display hot-plug and suspend test."
 CRITERIA = "This test will fail if DUT doesn't see the display after resume."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_HotPlugAtSuspend/control.mirrored b/server/site_tests/display_HotPlugAtSuspend/control.mirrored
index 745ff3c..b26a348 100644
--- a/server/site_tests/display_HotPlugAtSuspend/control.mirrored
+++ b/server/site_tests/display_HotPlugAtSuspend/control.mirrored
@@ -8,7 +8,7 @@
 NAME = "display_HotPlugAtSuspend.mirrored"
 PURPOSE = "Remotely controlled display hot-plug and suspend test."
 CRITERIA = "This test will fail if DUT doesn't see the display after resume."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_Resolution/control.extended b/server/site_tests/display_Resolution/control.extended
index 5eb2a45..10324c0 100644
--- a/server/site_tests/display_Resolution/control.extended
+++ b/server/site_tests/display_Resolution/control.extended
@@ -8,7 +8,7 @@
 NAME = "display_Resolution.extended"
 PURPOSE = "Remotely controlled display resolution test."
 CRITERIA = "This test will fail if the captured display checksum mismatches."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_Resolution/control.mirrored b/server/site_tests/display_Resolution/control.mirrored
index 083341f..7d836ac 100644
--- a/server/site_tests/display_Resolution/control.mirrored
+++ b/server/site_tests/display_Resolution/control.mirrored
@@ -8,7 +8,7 @@
 NAME = "display_Resolution.mirrored"
 PURPOSE = "Remotely controlled display resolution test."
 CRITERIA = "This test will fail if the captured display checksum mismatches."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_Resolution/control.reboot b/server/site_tests/display_Resolution/control.reboot
index ca5f34d..d131a7b 100644
--- a/server/site_tests/display_Resolution/control.reboot
+++ b/server/site_tests/display_Resolution/control.reboot
@@ -8,7 +8,7 @@
 NAME = "display_Resolution.reboot"
 PURPOSE = "Remotely controlled display resolution test."
 CRITERIA = "This test will fail if the captured display checksum mismatches."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_Resolution/control.suspend_resume b/server/site_tests/display_Resolution/control.suspend_resume
index 0fe8274..378a552 100644
--- a/server/site_tests/display_Resolution/control.suspend_resume
+++ b/server/site_tests/display_Resolution/control.suspend_resume
@@ -8,7 +8,7 @@
 NAME = "display_Resolution.suspend_resume"
 PURPOSE = "Remotely controlled display resolution test."
 CRITERIA = "This test will fail if the captured display checksum mismatches."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_ResolutionList/control.extended b/server/site_tests/display_ResolutionList/control.extended
index 4652676..2732789 100644
--- a/server/site_tests/display_ResolutionList/control.extended
+++ b/server/site_tests/display_ResolutionList/control.extended
@@ -8,7 +8,7 @@
 NAME = "display_ResolutionList.extended"
 PURPOSE = "Remotely controlled display resolution list test."
 CRITERIA = "This test will fail if the captured display checksum mismatches."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_SuspendStress/control.extended b/server/site_tests/display_SuspendStress/control.extended
index 4ef58c0..14473d0 100644
--- a/server/site_tests/display_SuspendStress/control.extended
+++ b/server/site_tests/display_SuspendStress/control.extended
@@ -8,7 +8,7 @@
 NAME = "display_SuspendStress.extended"
 PURPOSE = "Remotely controlled suspend/resume-stressed display test."
 CRITERIA = "This test will fail if the captured screen pixels mismatch."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/server/site_tests/display_SuspendStress/control.mirrored b/server/site_tests/display_SuspendStress/control.mirrored
index 0172d5a..8433147 100644
--- a/server/site_tests/display_SuspendStress/control.mirrored
+++ b/server/site_tests/display_SuspendStress/control.mirrored
@@ -8,7 +8,7 @@
 NAME = "display_SuspendStress.mirrored"
 PURPOSE = "Remotely controlled suspend/resume-stressed display test."
 CRITERIA = "This test will fail if the captured screen pixels mismatch."
-SUITE = "chameleon"
+SUITE = "chameleon_dp,chameleon_hdmi"
 TIME = "SHORT"
 TEST_CATEGORY = "Functional"
 TEST_CLASS = "display"
diff --git a/suite_scheduler.ini b/suite_scheduler.ini
index 6932908..9a7643d 100644
--- a/suite_scheduler.ini
+++ b/suite_scheduler.ini
@@ -62,9 +62,15 @@
 branch_specs: >=R31
 pool: suites
 
-[Chameleon]
+[ChameleonDp]
 run_on: new_build
-suite: chameleon
+suite: chameleon_dp
+branch_specs: >=R36
+pool: suites
+
+[ChameleonHdmi]
+run_on: new_build
+suite: chameleon_hdmi
 branch_specs: >=R36
 pool: suites
 
diff --git a/test_suites/control.chameleon b/test_suites/control.chameleon_dp
similarity index 77%
copy from test_suites/control.chameleon
copy to test_suites/control.chameleon_dp
index fb6ed0c..4b7f63a 100644
--- a/test_suites/control.chameleon
+++ b/test_suites/control.chameleon_dp
@@ -3,9 +3,9 @@
 # found in the LICENSE file.
 
 AUTHOR = "chromeos-chameleon"
-NAME = "chameleon"
+NAME = "chameleon_dp"
 PURPOSE = "A Chameleon test suite."
-CRITERIA = "All tests with SUITE=chameleon must pass."
+CRITERIA = "All tests with SUITE=chameleon_dp must pass."
 
 TIME = "LENGTHY"
 TEST_CATEGORY = "General"
@@ -13,9 +13,9 @@
 TEST_TYPE = "Server"
 
 DOC = """
-Display tests which require Chameleon board connected. The Chameleon board
-can emulate a monitor such that the test can control its behaviors in order
-to test the Chrome OS graphic stack.
+Display tests which require Chameleon board connected via DP connection.
+The Chameleon board can emulate a monitor such that the test can control
+its behaviors in order to test the Chrome OS graphic stack.
 
 @param build: The name of the image to test.
               Ex: x86-mario-release/R17-1412.33.0-a1-b29
@@ -34,7 +34,7 @@
     build=build, board=board, name=NAME, job=job, pool=pool,
     check_hosts=check_hosts, add_experimental=True, num=num,
     file_bugs=file_bugs, priority=priority,
-    suite_dependencies='chameleon', timeout_mins=timeout_mins,
+    suite_dependencies='chameleon:dp', timeout_mins=timeout_mins,
     max_runtime_mins=240, devserver_url=devserver_url,
     version_prefix=provision.CROS_VERSION_PREFIX,
     wait_for_results=wait_for_results, job_retry=job_retry)
diff --git a/test_suites/control.chameleon b/test_suites/control.chameleon_hdmi
similarity index 77%
rename from test_suites/control.chameleon
rename to test_suites/control.chameleon_hdmi
index fb6ed0c..f8f0820 100644
--- a/test_suites/control.chameleon
+++ b/test_suites/control.chameleon_hdmi
@@ -3,9 +3,9 @@
 # found in the LICENSE file.
 
 AUTHOR = "chromeos-chameleon"
-NAME = "chameleon"
+NAME = "chameleon_hdmi"
 PURPOSE = "A Chameleon test suite."
-CRITERIA = "All tests with SUITE=chameleon must pass."
+CRITERIA = "All tests with SUITE=chameleon_hdmi must pass."
 
 TIME = "LENGTHY"
 TEST_CATEGORY = "General"
@@ -13,9 +13,9 @@
 TEST_TYPE = "Server"
 
 DOC = """
-Display tests which require Chameleon board connected. The Chameleon board
-can emulate a monitor such that the test can control its behaviors in order
-to test the Chrome OS graphic stack.
+Display tests which require Chameleon board connected via HDMI connection.
+The Chameleon board can emulate a monitor such that the test can control
+its behaviors in order to test the Chrome OS graphic stack.
 
 @param build: The name of the image to test.
               Ex: x86-mario-release/R17-1412.33.0-a1-b29
@@ -34,7 +34,7 @@
     build=build, board=board, name=NAME, job=job, pool=pool,
     check_hosts=check_hosts, add_experimental=True, num=num,
     file_bugs=file_bugs, priority=priority,
-    suite_dependencies='chameleon', timeout_mins=timeout_mins,
+    suite_dependencies='chameleon:hdmi', timeout_mins=timeout_mins,
     max_runtime_mins=240, devserver_url=devserver_url,
     version_prefix=provision.CROS_VERSION_PREFIX,
     wait_for_results=wait_for_results, job_retry=job_retry)