[Intel-gfx] [PATCH 2/2] tests/pc8: Fail harder
Daniel Vetter
daniel.vetter at ffwll.ch
Fri Oct 4 19:59:40 CEST 2013
If the test enviroment isn't properly set up we should fail the
testcase, since otherwise there's no way to make sure a feature
actually works.
To cut down on bug triaging time extract the basic test (which was
previously used to skip all subtests) into a "basic" subtest.
Also fail the test hard if the msr interface isn't available. And
switch all other check in setup_enviroment to igt_require.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69838
Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
tests/pc8.c | 40 +++++++++++++---------------------------
1 file changed, 13 insertions(+), 27 deletions(-)
diff --git a/tests/pc8.c b/tests/pc8.c
index e93d928..79c64fc 100644
--- a/tests/pc8.c
+++ b/tests/pc8.c
@@ -578,49 +578,33 @@ static bool test_i2c(struct mode_set_data *data)
return i2c_edids == drm_edids;
}
-static bool setup_environment(void)
+static void setup_environment(void)
{
drm_fd = drm_open_any();
- if (drm_fd <= 0)
- return false;
+ igt_assert(drm_fd >= 0);
init_mode_set_data(&ms_data);
/* Only Haswell supports the PC8 feature. */
- if (!IS_HASWELL(ms_data.devid)) {
- printf("PC8+ feature only supported on Haswell.\n");
- return false;
- }
+ igt_require(IS_HASWELL(ms_data.devid));
/* Make sure our Kernel supports MSR and the module is loaded. */
msr_fd = open("/dev/cpu/0/msr", O_RDONLY);
- if (msr_fd == -1) {
- printf("Can't open /dev/cpu/0/msr.\n");
- return false;
- }
+ igt_assert(msr_fd >= 0);
/* Non-ULT machines don't support PC8+. */
- if (!supports_pc8_plus_residencies()) {
- printf("Machine doesn't support PC8+ residencies.\n");
- return false;
- }
+ igt_require(supports_pc8_plus_residencies());
+}
+static void basic_subtest(void)
+{
/* Make sure PC8+ residencies move! */
disable_all_screens(&ms_data);
- if (!pc8_plus_enabled()) {
- printf("Machine is not reaching PC8+ states, please check its "
- "configuration.\n");
- return false;
- }
+ igt_assert(pc8_plus_enabled());
/* Make sure PC8+ residencies stop! */
enable_one_screen(&ms_data);
- if (!pc8_plus_disabled()) {
- printf("PC8+ residency didn't stop with screen enabled.\n");
- return false;
- }
-
- return true;
+ igt_assert(pc8_plus_disabled());
}
static void teardown_environment(void)
@@ -758,8 +742,10 @@ int main(int argc, char *argv[])
* PC8+. We don't want bug reports from cases where the machine is just
* not properly configured. */
igt_fixture
- igt_require(setup_environment());
+ setup_environment();
+ igt_subtest("basic")
+ basic_subtest();
igt_subtest("drm-resources-equal")
drm_resources_equal_subtest();
igt_subtest("batch")
--
1.8.3.2
More information about the Intel-gfx
mailing list