diff mbox

tests/pm_rpm: add dpms-mode-unset{, -non}-lpsp subtests

Message ID 1405541195-3642-2-git-send-email-przanoni@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paulo Zanoni July 16, 2014, 8:06 p.m. UTC
From: Paulo Zanoni <paulo.r.zanoni@intel.com>

These tests currently trigger WARNs on our Kernel. Let's make sure we
fix the bug and it never comes back.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
 tests/pm_rpm.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
diff mbox

Patch

diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index 323e072..1e63bc8 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -1390,6 +1390,23 @@  static void system_suspend_subtest(void)
 	igt_assert(wait_for_suspended());
 }
 
+/* Enable a screen, activate DPMS, then do a modeset. At some point our driver
+ * produced WARNs on this case. */
+static void dpms_mode_unset_subtest(enum screen_type type)
+{
+	disable_all_screens(&ms_data);
+	igt_assert(wait_for_suspended());
+
+	igt_require(enable_one_screen_with_type(&ms_data, type));
+	igt_assert(wait_for_active());
+
+	disable_all_screens_dpms(&ms_data);
+	igt_assert(wait_for_suspended());
+
+	disable_all_screens(&ms_data);
+	igt_assert(wait_for_suspended());
+}
+
 int main(int argc, char *argv[])
 {
 	int rounds = 50;
@@ -1462,6 +1479,10 @@  int main(int argc, char *argv[])
 		debugfs_forcewake_user_subtest();
 	igt_subtest("sysfs-read")
 		sysfs_read_subtest();
+	igt_subtest("dpms-mode-unset-lpsp")
+		dpms_mode_unset_subtest(SCREEN_TYPE_LPSP);
+	igt_subtest("dpms-mode-unset-non-lpsp")
+		dpms_mode_unset_subtest(SCREEN_TYPE_NON_LPSP);
 
 	/* Modeset stress */
 	igt_subtest("modeset-lpsp-stress")