diff options
author | Jeff McGee <jeff.mcgee@intel.com> | 2014-01-17 16:56:05 -0600 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-01-18 15:18:58 +0100 |
commit | d14cd7430bbba6516a900393f7af1f44c7b6f3ee (patch) | |
tree | aba02c542fe895e71b8102e4e4a6f38679a18eb5 | |
parent | 0102b6bde6dc69cccee7d33df233e4ef1b73d9be (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.c | 119 |
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); + } } |