[igt-dev] [PATCH i-g-t v3 3/4] lib/kselftests: Skip kselftest when opening kmsg fails

Tales Aparecida tales.aparecida at gmail.com
Mon Aug 15 14:51:45 UTC 2022


Check for errors in igt_kselftest_begin() during open("/dev/kmsg")
and fail appropriately, removing the always-zero return of the function.

Signed-off-by: Tales Aparecida <tales.aparecida at gmail.com>
---

Notes:
    v2 -> v3: Use igt_require_fd to skip tests instead of igt_assert_fd, which would fail tests

 lib/igt_kmod.c | 7 +++----
 lib/igt_kmod.h | 2 +-
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index bde0461a..5864f68c 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -922,7 +922,7 @@ int igt_kselftest_init(struct igt_kselftest *tst,
 	return 0;
 }
 
-int igt_kselftest_begin(struct igt_kselftest *tst)
+void igt_kselftest_begin(struct igt_kselftest *tst)
 {
 	int err;
 
@@ -933,8 +933,7 @@ int igt_kselftest_begin(struct igt_kselftest *tst)
 	igt_require(err == 0 || err == -ENOENT);
 
 	tst->kmsg = open("/dev/kmsg", O_RDONLY | O_NONBLOCK);
-
-	return 0;
+	igt_require_fd(tst->kmsg);
 }
 
 int igt_kselftest_execute(struct igt_kselftest *tst,
@@ -1012,7 +1011,7 @@ void igt_kselftests(const char *module_name,
 		return;
 
 	igt_fixture
-		igt_require(igt_kselftest_begin(&tst) == 0);
+		igt_kselftest_begin(&tst);
 
 	igt_kselftest_get_tests(tst.kmod, filter, &tests);
 	igt_subtest_with_dynamic(filter ?: "all") {
diff --git a/lib/igt_kmod.h b/lib/igt_kmod.h
index f98dd29f..0d80451b 100644
--- a/lib/igt_kmod.h
+++ b/lib/igt_kmod.h
@@ -65,7 +65,7 @@ struct igt_kselftest_list {
 
 int igt_kselftest_init(struct igt_kselftest *tst,
 		       const char *module_name);
-int igt_kselftest_begin(struct igt_kselftest *tst);
+void igt_kselftest_begin(struct igt_kselftest *tst);
 
 void igt_kselftest_get_tests(struct kmod_module *kmod,
 			     const char *filter,
-- 
2.37.1



More information about the igt-dev mailing list