Blame view
lib/test_sort.c
754 Bytes
c5adae958 lib: add CONFIG_T... |
1 2 |
#include <linux/sort.h> #include <linux/slab.h> |
ebd03a9aa Revert "lib/test_... |
3 |
#include <linux/module.h> |
c5adae958 lib: add CONFIG_T... |
4 |
|
ebd03a9aa Revert "lib/test_... |
5 |
/* a simple boot-time regression test */ |
c5adae958 lib: add CONFIG_T... |
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#define TEST_LEN 1000 static int __init cmpint(const void *a, const void *b) { return *(int *)a - *(int *)b; } static int __init test_sort_init(void) { int *a, i, r = 1, err = -ENOMEM; a = kmalloc_array(TEST_LEN, sizeof(*a), GFP_KERNEL); if (!a) return err; for (i = 0; i < TEST_LEN; i++) { r = (r * 725861) % 6599; a[i] = r; } 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 "); goto exit; } err = 0; pr_info("test passed "); exit: kfree(a); return err; } |
ebd03a9aa Revert "lib/test_... |
43 44 45 |
module_init(test_sort_init); MODULE_LICENSE("GPL"); |