diff options
Diffstat (limited to 'kmap/test_kmap.c')
-rw-r--r-- | kmap/test_kmap.c | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/kmap/test_kmap.c b/kmap/test_kmap.c new file mode 100644 index 0000000..577eeb5 --- /dev/null +++ b/kmap/test_kmap.c @@ -0,0 +1,66 @@ +#include <linux/module.h> +#include <linux/init.h> +#include "kmap.h" + +#define Z_ASD 1 +#define Z_QWE 2 +#define Z_BLR 3 + +static struct kmap *km; + +static int __init test_init(void) +{ + char *values; + + km = kmap_create(); + + if ((values = (char*)kmap_get(km, Z_BLR))) + printk(KERN_ALERT "ERROR: Z_BLR exists: %s\n", values); + else + printk(KERN_ALERT "Z_BLR does not exist (good)\n"); + + if (kmap_insert(km, Z_ASD, "ASDF")) + goto insert_err; + if (kmap_insert(km, Z_QWE, "QWERTY")) + goto insert_err; + if (kmap_insert(km, Z_BLR, "BLRBLRBLR")) + goto insert_err; + + kmap_display(km); + kmap_delete(km, Z_QWE); + kmap_display(km); + kmap_set(km, Z_ASD, "ASDF NEW!!"); + kmap_display(km); + + if ((values = (char*)kmap_get(km, Z_ASD))) + printk(KERN_ALERT "Z_ASD: %s\n", values); + else + printk(KERN_ALERT "Z_ASD does not exist\n"); + if ((values = (char*)kmap_get(km, Z_QWE))) + printk(KERN_ALERT "Z_QWE: %s\n", values); + else + printk(KERN_ALERT "Z_QWE does not exist\n"); + if ((values = (char*)kmap_get(km, Z_BLR))) + printk(KERN_ALERT "Z_BLR: %s\n", values); + else + printk(KERN_ALERT "Z_BLR does not exist\n"); + + if (kmap_insert(km, Z_ASD, "REPEATED!!")) + goto insert_err; + + return 0; + +insert_err: + printk(KERN_ALERT "Error inserting (good)\n"); + return 0; +} + +static void __exit test_exit(void) +{ + kmap_destroy(km); +} + +module_init(test_init); +module_exit(test_exit); + +MODULE_LICENSE("GPL"); |