pm_rps: Convert to subtest structure
authorJeff McGee <jeff.mcgee@intel.com>
Fri, 17 Jan 2014 22:56:05 +0000 (16:56 -0600)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sat, 18 Jan 2014 14:18:58 +0000 (15:18 +0100)
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
tests/pm_rps.c

index ec07dd2..4d64f0a 100644 (file)
@@ -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);
+       }
 }