Timeout merge complete
[opensync.git] / tests / check_error.c
blob9453e31dabded2ad49c78812944b64e3dd18de93
1 #include "support.h"
2 #include <opensync/opensync-error.h>
4 START_TEST (error_create)
6 OSyncError *error = NULL;
7 osync_error_set(&error, OSYNC_ERROR_GENERIC, "test%i", 1);
8 fail_unless(error != NULL, NULL);
9 fail_unless(osync_error_get_type(&error) == OSYNC_ERROR_GENERIC, NULL);
10 fail_unless(!strcmp(osync_error_print(&error), "test1"), NULL);
11 fail_unless(osync_error_is_set(&error), NULL);
13 osync_error_unref(&error);
14 fail_unless(error == NULL, NULL);
16 END_TEST
18 START_TEST (error_create_null)
20 osync_error_set(NULL, OSYNC_ERROR_GENERIC, "test%i", 1);
22 END_TEST
24 START_TEST (error_get_name_null)
26 fail_unless(osync_error_get_name(NULL) == NULL, NULL);
29 END_TEST
31 START_TEST (error_get_name_null2)
33 OSyncError *error = NULL;
34 fail_unless(osync_error_get_name(&error) != NULL, NULL);
37 END_TEST
39 START_TEST (error_get_name)
41 OSyncError *error = NULL;
42 osync_error_set(&error, OSYNC_ERROR_GENERIC, "test");
43 fail_unless(osync_error_get_name(&error) != NULL, NULL);
44 osync_error_unref(&error);
46 END_TEST
48 START_TEST (error_free_null)
50 osync_error_unref(NULL);
53 END_TEST
55 START_TEST (error_free_null2)
57 OSyncError *error = NULL;
58 osync_error_unref(&error);
61 END_TEST
63 START_TEST (error_free)
65 OSyncError *error = NULL;
66 osync_error_set(&error, OSYNC_ERROR_GENERIC, "test");
67 fail_unless(error != NULL, NULL);
68 osync_error_unref(&error);
69 fail_unless(error == NULL, NULL);
71 END_TEST
73 START_TEST (error_check_null)
75 fail_unless(osync_error_is_set(NULL) == FALSE, NULL);
78 END_TEST
80 START_TEST (error_check_null2)
82 OSyncError *error = NULL;
83 fail_unless(osync_error_is_set(&error) == FALSE, NULL);
86 END_TEST
88 START_TEST (error_check)
90 OSyncError *error = NULL;
91 osync_error_set(&error, OSYNC_ERROR_GENERIC, "test");
92 fail_unless(osync_error_is_set(&error) == TRUE, NULL);
93 osync_error_unref(&error);
95 END_TEST
97 START_TEST (error_check2)
99 OSyncError *error = NULL;
100 osync_error_set(&error, OSYNC_NO_ERROR, NULL);
101 fail_unless(osync_error_is_set(&error) == FALSE, NULL);
103 END_TEST
105 START_TEST (error_stack_null)
107 osync_error_stack(NULL, NULL);
110 END_TEST
112 START_TEST (error_stack_null2)
114 OSyncError *error = NULL;
115 osync_error_set(&error, OSYNC_ERROR_GENERIC, "test");
117 char *msg = osync_error_print_stack(&error);
118 fail_unless(msg != NULL, NULL);
119 g_free(msg);
121 osync_error_stack(&error, NULL);
122 osync_error_unref(&error);
124 END_TEST
126 START_TEST (error_stack)
128 OSyncError *error = NULL;
129 osync_error_set(&error, OSYNC_ERROR_GENERIC, "test");
130 OSyncError *error2 = NULL;
131 osync_error_set(&error2, OSYNC_ERROR_GENERIC, "test2");
132 osync_error_stack(&error, &error2);
133 fail_unless(!strcmp(osync_error_print(&error), "test"), NULL);
134 OSyncError *error3 = osync_error_get_child(&error);
135 fail_unless(!strcmp(osync_error_print(&error3), "test2"), NULL);
136 error3 = osync_error_get_child(&error2);
137 fail_unless(error3 == NULL, NULL);
139 osync_error_unref(&error2);
140 osync_error_unref(&error);
142 END_TEST
144 START_TEST (error_stack2)
146 OSyncError *error1 = NULL;
147 osync_error_set(&error1, OSYNC_ERROR_GENERIC, "test1");
148 OSyncError *error2 = NULL;
149 osync_error_set(&error2, OSYNC_ERROR_GENERIC, "test2");
150 OSyncError *error3 = NULL;
151 osync_error_set(&error3, OSYNC_ERROR_GENERIC, "test3");
153 osync_error_stack(&error1, &error2);
154 osync_error_stack(&error2, &error3);
156 osync_error_unref(&error2);
157 osync_error_unref(&error3);
159 fail_unless(!strcmp(osync_error_print(&error1), "test1"), NULL);
160 OSyncError *error = osync_error_get_child(&error1);
161 fail_unless(!strcmp(osync_error_print(&error), "test2"), NULL);
162 error = osync_error_get_child(&error);
163 fail_unless(!strcmp(osync_error_print(&error), "test3"), NULL);
165 char *msg = osync_error_print_stack(&error1);
166 fail_unless(msg != NULL, NULL);
167 g_free(msg);
169 osync_error_unref(&error1);
171 END_TEST
173 START_TEST (error_set_null)
175 osync_error_set(NULL, OSYNC_NO_ERROR, NULL);
178 END_TEST
180 START_TEST (error_duplicate_null)
182 OSyncError *error = NULL;
183 osync_error_set(&error, OSYNC_ERROR_GENERIC, "asd");
184 osync_error_set_from_error(NULL, &error);
185 osync_error_unref(&error);
187 END_TEST
190 START_TEST (error_duplicate)
192 OSyncError *error = NULL;
193 OSyncError *error2 = NULL;
194 osync_error_set(&error, OSYNC_ERROR_GENERIC, "asd");
195 osync_error_set_from_error(&error2, &error);
197 fail_unless(error2 != NULL, NULL);
199 osync_error_unref(&error);
200 osync_error_unref(&error2);
202 END_TEST
204 OSYNC_TESTCASE_START("error")
205 OSYNC_TESTCASE_ADD(error_create)
206 OSYNC_TESTCASE_ADD(error_create_null)
207 OSYNC_TESTCASE_ADD(error_get_name_null)
208 OSYNC_TESTCASE_ADD(error_get_name_null2)
209 OSYNC_TESTCASE_ADD(error_get_name)
210 OSYNC_TESTCASE_ADD(error_free_null)
211 OSYNC_TESTCASE_ADD(error_free_null2)
212 OSYNC_TESTCASE_ADD(error_free)
213 OSYNC_TESTCASE_ADD(error_check_null)
214 OSYNC_TESTCASE_ADD(error_check_null2)
215 OSYNC_TESTCASE_ADD(error_check)
216 OSYNC_TESTCASE_ADD(error_check2)
217 OSYNC_TESTCASE_ADD(error_stack_null)
218 OSYNC_TESTCASE_ADD(error_stack_null2)
219 OSYNC_TESTCASE_ADD(error_stack)
220 OSYNC_TESTCASE_ADD(error_stack2)
221 OSYNC_TESTCASE_ADD(error_set_null)
222 OSYNC_TESTCASE_ADD(error_duplicate_null)
223 OSYNC_TESTCASE_ADD(error_duplicate)
224 OSYNC_TESTCASE_END