summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff McGee <jeff.mcgee@intel.com>2014-01-17 16:56:05 -0600
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-01-18 15:18:58 +0100
commitd14cd7430bbba6516a900393f7af1f44c7b6f3ee (patch)
treeaba02c542fe895e71b8102e4e4a6f38679a18eb5
parent0102b6bde6dc69cccee7d33df233e4ef1b73d9be (diff)
pm_rps: Convert to subtest structure
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--tests/pm_rps.c119
1 files changed, 62 insertions, 57 deletions
diff --git a/tests/pm_rps.c b/tests/pm_rps.c
index ec07dd27..4d64f0ab 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);
+ }
}