Add some tests
[platform/upstream/kbd.git] / tests / libkeymap-init.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <check.h>
4 #include <keymap.h>
5
6
7 START_TEST(test_create_0)
8 {
9         struct keymap kmap;
10         fail_unless(lk_init(&kmap) == 0, 
11                 "Unable to initialize structure by valid pointer");
12 }
13 END_TEST
14
15 START_TEST(test_create_1)
16 {
17         fail_if(lk_init(NULL) == 0, 
18                 "Possible to initialize structure by NULL");
19 }
20 END_TEST
21
22 START_TEST(test_free_0)
23 {
24         struct keymap kmap;
25
26         if (lk_init(&kmap) != 0)
27                 fail("Unable to initialize structure by valid pointer");
28
29         fail_unless(lk_free(&kmap) == 0, 
30                 "Unable to free by valid pointer");
31         lk_free(&kmap);
32 }
33 END_TEST
34
35 START_TEST(test_free_1)
36 {
37         fail_if(lk_free(NULL) == 0, 
38                 "Possible to free NULL pointer");
39 }
40 END_TEST
41
42
43 static Suite *
44 libkeymap_suite(void)
45 {
46         Suite *s = suite_create("libkeymap");
47         TCase *tc_core = tcase_create(NULL);
48
49         tcase_add_test(tc_core, test_create_0);
50         tcase_add_test(tc_core, test_create_1);
51         tcase_add_test(tc_core, test_free_0);
52         tcase_add_test(tc_core, test_free_1);
53
54         suite_add_tcase(s, tc_core);
55         return s;
56 }
57
58 int main(void)
59 {
60         int number_failed;
61
62         Suite *s = libkeymap_suite();
63         SRunner *sr = srunner_create (s);
64
65         srunner_run_all(sr, CK_NORMAL);
66
67         number_failed = srunner_ntests_failed(sr);
68         srunner_free (sr);
69
70         return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
71 }