kunit: add log test
authorAlan Maguire <alan.maguire@oracle.com>
Thu, 26 Mar 2020 14:25:08 +0000 (14:25 +0000)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 26 Mar 2020 20:08:01 +0000 (14:08 -0600)
the logging test ensures multiple strings logged appear in the
log string associated with the test when CONFIG_KUNIT_DEBUGFS is
enabled.

Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Reviewed-by: Frank Rowand <frank.rowand@sony.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
lib/kunit/kunit-test.c

index aceb5bf0212f1c6acf32ad13b70b1bbd0a4973d6..4f3d36a72f8f1d1a6365e892e0fe17cb6a96027c 100644 (file)
@@ -329,6 +329,44 @@ static struct kunit_suite kunit_resource_test_suite = {
        .exit = kunit_resource_test_exit,
        .test_cases = kunit_resource_test_cases,
 };
-kunit_test_suites(&kunit_try_catch_test_suite, &kunit_resource_test_suite);
+
+static void kunit_log_test(struct kunit *test);
+
+static struct kunit_case kunit_log_test_cases[] = {
+       KUNIT_CASE(kunit_log_test),
+       {}
+};
+
+static struct kunit_suite kunit_log_test_suite = {
+       .name = "kunit-log-test",
+       .test_cases = kunit_log_test_cases,
+};
+
+static void kunit_log_test(struct kunit *test)
+{
+       struct kunit_suite *suite = &kunit_log_test_suite;
+
+       kunit_log(KERN_INFO, test, "put this in log.");
+       kunit_log(KERN_INFO, test, "this too.");
+       kunit_log(KERN_INFO, suite, "add to suite log.");
+       kunit_log(KERN_INFO, suite, "along with this.");
+
+#ifdef CONFIG_KUNIT_DEBUGFS
+       KUNIT_EXPECT_NOT_ERR_OR_NULL(test,
+                                    strstr(test->log, "put this in log."));
+       KUNIT_EXPECT_NOT_ERR_OR_NULL(test,
+                                    strstr(test->log, "this too."));
+       KUNIT_EXPECT_NOT_ERR_OR_NULL(test,
+                                    strstr(suite->log, "add to suite log."));
+       KUNIT_EXPECT_NOT_ERR_OR_NULL(test,
+                                    strstr(suite->log, "along with this."));
+#else
+       KUNIT_EXPECT_PTR_EQ(test, test->log, (char *)NULL);
+       KUNIT_EXPECT_PTR_EQ(test, suite->log, (char *)NULL);
+#endif
+}
+
+kunit_test_suites(&kunit_try_catch_test_suite, &kunit_resource_test_suite,
+                 &kunit_log_test_suite);
 
 MODULE_LICENSE("GPL v2");