perf test: Fix bpf test sample mismatch reporting
[linux-2.6-microblaze.git] / lib / test_sort.c
index 52edbe1..be02e3a 100644 (file)
@@ -1,4 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
+
+#include <kunit/test.h>
+
 #include <linux/sort.h>
 #include <linux/slab.h>
 #include <linux/module.h>
 
 #define TEST_LEN 1000
 
-static int __init cmpint(const void *a, const void *b)
+static int cmpint(const void *a, const void *b)
 {
        return *(int *)a - *(int *)b;
 }
 
-static int __init test_sort_init(void)
+static void test_sort(struct kunit *test)
 {
-       int *a, i, r = 1, err = -ENOMEM;
+       int *a, i, r = 1;
 
-       a = kmalloc_array(TEST_LEN, sizeof(*a), GFP_KERNEL);
-       if (!a)
-               return err;
+       a = kunit_kmalloc_array(test, TEST_LEN, sizeof(*a), GFP_KERNEL);
+       KUNIT_ASSERT_NOT_ERR_OR_NULL(test, a);
 
        for (i = 0; i < TEST_LEN; i++) {
                r = (r * 725861) % 6599;
@@ -27,24 +29,20 @@ static int __init test_sort_init(void)
 
        sort(a, TEST_LEN, sizeof(*a), cmpint, NULL);
 
-       err = -EINVAL;
        for (i = 0; i < TEST_LEN-1; i++)
-               if (a[i] > a[i+1]) {
-                       pr_err("test has failed\n");
-                       goto exit;
-               }
-       err = 0;
-       pr_info("test passed\n");
-exit:
-       kfree(a);
-       return err;
+               KUNIT_ASSERT_LE(test, a[i], a[i + 1]);
 }
 
-static void __exit test_sort_exit(void)
-{
-}
+static struct kunit_case sort_test_cases[] = {
+       KUNIT_CASE(test_sort),
+       {}
+};
+
+static struct kunit_suite sort_test_suite = {
+       .name = "lib_sort",
+       .test_cases = sort_test_cases,
+};
 
-module_init(test_sort_init);
-module_exit(test_sort_exit);
+kunit_test_suites(&sort_test_suite);
 
 MODULE_LICENSE("GPL");