[igt-dev] [PATCH i-g-t] tests/debugfs: use igt_display_require

Daniel Vetter
2018-11-06T22:19:47Z

Need to extract into a test subgroup to make sure we only skip the
tests that need display support.

v2: Chris pointed out that "read-all-entries" was the original non-kms
tests, and we don't want to skip that if there's no output. Make a
seperate test for this.

Also, that kind of where libraries magically second-guess what the
test might have wanted when it supplies an invalid request is exactly
why I want to fix the igt_display_init API regression.

v3: Actually squash in the hunk that was supposed to do v2 into this
patch (Antonio).

Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
tests/debugfs_test.c | 42 ++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/tests/debugfs_test.c b/tests/debugfs_test.c
index 2e87e4420b15..6a87d90afd0e 100644
--- a/tests/debugfs_test.c
+++ b/tests/debugfs_test.c
@@ -87,25 +87,16 @@ static void read_and_discard_sysfs_entries(int path_fd, int indent)
closedir(dir);
}

-igt_main
+static void kms_tests(int fd, int debugfs)
{
- int fd = -1, debugfs;
igt_display_t display;
struct igt_fb fb[IGT_MAX_PIPES];
enum pipe pipe;

- igt_skip_on_simulation();
-
- igt_fixture {
- fd = drm_open_driver_master(DRIVER_INTEL);
- igt_require_gem(fd);
- debugfs = igt_debugfs_dir(fd);
-
- kmstest_set_vt_graphics_mode();
- igt_display_init(&display, fd);
- }
+ igt_fixture
+ igt_display_require(&display, fd);

- igt_subtest("read_all_entries") {
+ igt_subtest("read_all_entries_display_on") {
/* try to light all pipes */
for_each_pipe(&display, pipe) {
igt_output_t *output;
@@ -152,6 +143,30 @@ igt_main
read_and_discard_sysfs_entries(debugfs, 0);
}

+ igt_fixture
+ igt_display_fini(&display);
+}
+
+igt_main
+{
+ int fd = -1, debugfs;
+
+ igt_skip_on_simulation();
+
+ igt_fixture {
+ fd = drm_open_driver_master(DRIVER_INTEL);
+ igt_require_gem(fd);
+ debugfs = igt_debugfs_dir(fd);
+
+ kmstest_set_vt_graphics_mode();
+ }
+
+ igt_subtest("read_all_entries")
+ read_and_discard_sysfs_entries(debugfs, 0);
+
+ igt_subtest_group
+ kms_tests(fd, debugfs);
+
igt_subtest("emon_crash") {
int i;
/*
@@ -174,7 +189,6 @@ igt_main
}

igt_fixture {
- igt_display_fini(&display);
close(debugfs);
close(fd);
}
--
2.19.1