[Intel-gfx] [PATCH 2/3] pm_rps: Convert to subtest structure

jeff.mcgee at intel.com jeff.mcgee at intel.com
Fri Jan 17 23:56:05 CET 2014


From: Jeff McGee <jeff.mcgee at intel.com>

Signed-off-by: Jeff McGee <jeff.mcgee at intel.com>
---
 tests/pm_rps.c | 119 ++++++++++++++++++++++++++++++---------------------------
 1 file changed, 62 insertions(+), 57 deletions(-)

diff --git a/tests/pm_rps.c b/tests/pm_rps.c
index ec07dd2..4d64f0a 100644
--- a/tests/pm_rps.c
+++ b/tests/pm_rps.c
@@ -142,66 +142,71 @@ static void pm_rps_exit_handler(int sig)
 	}
 }
 
-igt_simple_main
+igt_main
 {
-	const int device = drm_get_card();
-	struct junk *junk = stuff;
-	int fd, ret;
-
 	igt_skip_on_simulation();
 
-	/* Use drm_open_any to verify device existence */
-	fd = drm_open_any();
-	close(fd);
-
-	do {
-		int val = -1;
-		char *path;
-		ret = asprintf(&path, sysfs_base_path, device, junk->name);
-		igt_assert(ret != -1);
-		junk->filp = fopen(path, junk->mode);
-		igt_require(junk->filp);
-		setbuf(junk->filp, NULL);
-
-		val = readval(junk->filp);
-		igt_assert(val >= 0);
-		junk++;
-	} while(junk->name != NULL);
-
-	origmin = fmin;
-	origmax = fmax;
-
-	igt_install_exit_handler(pm_rps_exit_handler);
-
-	if (verbose)
-		printf("Original min = %d\nOriginal max = %d\n", origmin, origmax);
-
-	if (verbose)
-		dumpit();
-
-	checkit();
-	setfreq(origmin);
-	if (verbose)
-		dumpit();
-	igt_assert(fcur == fmin);
-	setfreq(origmax);
-	if (verbose)
-		dumpit();
-	igt_assert(fcur == fmax);
-	checkit();
-
-	/* And some errors */
-	writeval_inval(stuff[MIN].filp, frpn - 1);
-	writeval_inval(stuff[MAX].filp, frp0 + 1000);
-	checkit();
-
-	writeval_inval(stuff[MIN].filp, fmax + 1000);
-	writeval_inval(stuff[MAX].filp, fmin - 1);
-	checkit();
+	igt_fixture {
+		const int device = drm_get_card();
+		struct junk *junk = stuff;
+		int fd, ret;
+
+		/* Use drm_open_any to verify device existence */
+		fd = drm_open_any();
+		close(fd);
+
+		do {
+			int val = -1;
+			char *path;
+			ret = asprintf(&path, sysfs_base_path, device, junk->name);
+			igt_assert(ret != -1);
+			junk->filp = fopen(path, junk->mode);
+			igt_require(junk->filp);
+			setbuf(junk->filp, NULL);
+
+			val = readval(junk->filp);
+			igt_assert(val >= 0);
+			junk++;
+		} while(junk->name != NULL);
+
+		origmin = fmin;
+		origmax = fmax;
+
+		igt_install_exit_handler(pm_rps_exit_handler);
+	}
 
-	writeval_inval(stuff[MIN].filp, 0x11111110);
-	writeval_inval(stuff[MAX].filp, 0);
+	igt_subtest("min-max-config-at-idle") {
+		if (verbose)
+			printf("Original min = %d\nOriginal max = %d\n",
+			        origmin, origmax);
+
+		if (verbose)
+			dumpit();
+
+		checkit();
+		setfreq(origmin);
+		if (verbose)
+			dumpit();
+		igt_assert(fcur == fmin);
+		setfreq(origmax);
+		if (verbose)
+			dumpit();
+		igt_assert(fcur == fmax);
+		checkit();
+
+		/* And some errors */
+		writeval_inval(stuff[MIN].filp, frpn - 1);
+		writeval_inval(stuff[MAX].filp, frp0 + 1000);
+		checkit();
+
+		writeval_inval(stuff[MIN].filp, fmax + 1000);
+		writeval_inval(stuff[MAX].filp, fmin - 1);
+		checkit();
+
+		writeval_inval(stuff[MIN].filp, 0x11111110);
+		writeval_inval(stuff[MAX].filp, 0);
 
-	writeval(stuff[MIN].filp, origmin);
-	writeval(stuff[MAX].filp, origmax);
+		writeval(stuff[MIN].filp, origmin);
+		writeval(stuff[MAX].filp, origmax);
+	}
 }
-- 
1.8.5.2




More information about the Intel-gfx mailing list