Statistics
| Branch: | Revision:

root / check-qdict.c @ d5a7b38f

History | View | Annotate | Download (7.9 kB)

1 7b8c51ad Luiz Capitulino
/*
2 7b8c51ad Luiz Capitulino
 * QDict unit-tests.
3 7b8c51ad Luiz Capitulino
 *
4 7b8c51ad Luiz Capitulino
 * Copyright (C) 2009 Red Hat Inc.
5 7b8c51ad Luiz Capitulino
 *
6 7b8c51ad Luiz Capitulino
 * Authors:
7 7b8c51ad Luiz Capitulino
 *  Luiz Capitulino <lcapitulino@redhat.com>
8 7b8c51ad Luiz Capitulino
 */
9 7b8c51ad Luiz Capitulino
#include <check.h>
10 7b8c51ad Luiz Capitulino
11 7b8c51ad Luiz Capitulino
#include "qint.h"
12 7b8c51ad Luiz Capitulino
#include "qdict.h"
13 7b8c51ad Luiz Capitulino
#include "qstring.h"
14 7b8c51ad Luiz Capitulino
#include "qemu-common.h"
15 7b8c51ad Luiz Capitulino
16 7b8c51ad Luiz Capitulino
/*
17 7b8c51ad Luiz Capitulino
 * Public Interface test-cases
18 7b8c51ad Luiz Capitulino
 *
19 7b8c51ad Luiz Capitulino
 * (with some violations to access 'private' data)
20 7b8c51ad Luiz Capitulino
 */
21 7b8c51ad Luiz Capitulino
22 7b8c51ad Luiz Capitulino
START_TEST(qdict_new_test)
23 7b8c51ad Luiz Capitulino
{
24 7b8c51ad Luiz Capitulino
    QDict *qdict;
25 7b8c51ad Luiz Capitulino
26 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
27 7b8c51ad Luiz Capitulino
    fail_unless(qdict != NULL);
28 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(qdict) == 0);
29 7b8c51ad Luiz Capitulino
    fail_unless(qdict->base.refcnt == 1);
30 7b8c51ad Luiz Capitulino
    fail_unless(qobject_type(QOBJECT(qdict)) == QTYPE_QDICT);
31 7b8c51ad Luiz Capitulino
32 7b8c51ad Luiz Capitulino
    // destroy doesn't exit yet
33 7b8c51ad Luiz Capitulino
    free(qdict);
34 7b8c51ad Luiz Capitulino
}
35 7b8c51ad Luiz Capitulino
END_TEST
36 7b8c51ad Luiz Capitulino
37 7b8c51ad Luiz Capitulino
START_TEST(qdict_put_obj_test)
38 7b8c51ad Luiz Capitulino
{
39 7b8c51ad Luiz Capitulino
    QInt *qi;
40 7b8c51ad Luiz Capitulino
    QDict *qdict;
41 7b8c51ad Luiz Capitulino
    QDictEntry *ent;
42 7b8c51ad Luiz Capitulino
    const int num = 42;
43 7b8c51ad Luiz Capitulino
44 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
45 7b8c51ad Luiz Capitulino
46 7b8c51ad Luiz Capitulino
    // key "" will have tdb hash 12345
47 7b8c51ad Luiz Capitulino
    qdict_put_obj(qdict, "", QOBJECT(qint_from_int(num)));
48 7b8c51ad Luiz Capitulino
49 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(qdict) == 1);
50 72cf2d4f Blue Swirl
    ent = QLIST_FIRST(&qdict->table[12345 % QDICT_HASH_SIZE]);
51 7b8c51ad Luiz Capitulino
    qi = qobject_to_qint(ent->value);
52 7b8c51ad Luiz Capitulino
    fail_unless(qint_get_int(qi) == num);
53 7b8c51ad Luiz Capitulino
54 7b8c51ad Luiz Capitulino
    // destroy doesn't exit yet
55 7b8c51ad Luiz Capitulino
    QDECREF(qi);
56 7b8c51ad Luiz Capitulino
    qemu_free(ent->key);
57 7b8c51ad Luiz Capitulino
    qemu_free(ent);
58 7b8c51ad Luiz Capitulino
    qemu_free(qdict);
59 7b8c51ad Luiz Capitulino
}
60 7b8c51ad Luiz Capitulino
END_TEST
61 7b8c51ad Luiz Capitulino
62 7b8c51ad Luiz Capitulino
START_TEST(qdict_destroy_simple_test)
63 7b8c51ad Luiz Capitulino
{
64 7b8c51ad Luiz Capitulino
    QDict *qdict;
65 7b8c51ad Luiz Capitulino
66 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
67 7b8c51ad Luiz Capitulino
    qdict_put_obj(qdict, "num", QOBJECT(qint_from_int(0)));
68 7b8c51ad Luiz Capitulino
    qdict_put_obj(qdict, "str", QOBJECT(qstring_from_str("foo")));
69 7b8c51ad Luiz Capitulino
70 7b8c51ad Luiz Capitulino
    QDECREF(qdict);
71 7b8c51ad Luiz Capitulino
}
72 7b8c51ad Luiz Capitulino
END_TEST
73 7b8c51ad Luiz Capitulino
74 7b8c51ad Luiz Capitulino
static QDict *tests_dict = NULL;
75 7b8c51ad Luiz Capitulino
76 7b8c51ad Luiz Capitulino
static void qdict_setup(void)
77 7b8c51ad Luiz Capitulino
{
78 7b8c51ad Luiz Capitulino
    tests_dict = qdict_new();
79 7b8c51ad Luiz Capitulino
    fail_unless(tests_dict != NULL);
80 7b8c51ad Luiz Capitulino
}
81 7b8c51ad Luiz Capitulino
82 7b8c51ad Luiz Capitulino
static void qdict_teardown(void)
83 7b8c51ad Luiz Capitulino
{
84 7b8c51ad Luiz Capitulino
    QDECREF(tests_dict);
85 7b8c51ad Luiz Capitulino
    tests_dict = NULL;
86 7b8c51ad Luiz Capitulino
}
87 7b8c51ad Luiz Capitulino
88 7b8c51ad Luiz Capitulino
START_TEST(qdict_get_test)
89 7b8c51ad Luiz Capitulino
{
90 7b8c51ad Luiz Capitulino
    QInt *qi;
91 7b8c51ad Luiz Capitulino
    QObject *obj;
92 7b8c51ad Luiz Capitulino
    const int value = -42;
93 7b8c51ad Luiz Capitulino
    const char *key = "test";
94 7b8c51ad Luiz Capitulino
95 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(value));
96 7b8c51ad Luiz Capitulino
97 7b8c51ad Luiz Capitulino
    obj = qdict_get(tests_dict, key);
98 7b8c51ad Luiz Capitulino
    fail_unless(obj != NULL);
99 7b8c51ad Luiz Capitulino
100 7b8c51ad Luiz Capitulino
    qi = qobject_to_qint(obj);
101 7b8c51ad Luiz Capitulino
    fail_unless(qint_get_int(qi) == value);
102 7b8c51ad Luiz Capitulino
}
103 7b8c51ad Luiz Capitulino
END_TEST
104 7b8c51ad Luiz Capitulino
105 7b8c51ad Luiz Capitulino
START_TEST(qdict_get_int_test)
106 7b8c51ad Luiz Capitulino
{
107 7b8c51ad Luiz Capitulino
    int ret;
108 7b8c51ad Luiz Capitulino
    const int value = 100;
109 7b8c51ad Luiz Capitulino
    const char *key = "int";
110 7b8c51ad Luiz Capitulino
111 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(value));
112 7b8c51ad Luiz Capitulino
113 7b8c51ad Luiz Capitulino
    ret = qdict_get_int(tests_dict, key);
114 7b8c51ad Luiz Capitulino
    fail_unless(ret == value);
115 7b8c51ad Luiz Capitulino
}
116 7b8c51ad Luiz Capitulino
END_TEST
117 7b8c51ad Luiz Capitulino
118 7b8c51ad Luiz Capitulino
START_TEST(qdict_get_try_int_test)
119 7b8c51ad Luiz Capitulino
{
120 7b8c51ad Luiz Capitulino
    int ret;
121 7b8c51ad Luiz Capitulino
    const int value = 100;
122 7b8c51ad Luiz Capitulino
    const char *key = "int";
123 7b8c51ad Luiz Capitulino
124 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(value));
125 7b8c51ad Luiz Capitulino
126 7b8c51ad Luiz Capitulino
    ret = qdict_get_try_int(tests_dict, key, 0);
127 7b8c51ad Luiz Capitulino
    fail_unless(ret == value);
128 7b8c51ad Luiz Capitulino
}
129 7b8c51ad Luiz Capitulino
END_TEST
130 7b8c51ad Luiz Capitulino
131 7b8c51ad Luiz Capitulino
START_TEST(qdict_get_str_test)
132 7b8c51ad Luiz Capitulino
{
133 7b8c51ad Luiz Capitulino
    const char *p;
134 7b8c51ad Luiz Capitulino
    const char *key = "key";
135 7b8c51ad Luiz Capitulino
    const char *str = "string";
136 7b8c51ad Luiz Capitulino
137 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qstring_from_str(str));
138 7b8c51ad Luiz Capitulino
139 7b8c51ad Luiz Capitulino
    p = qdict_get_str(tests_dict, key);
140 7b8c51ad Luiz Capitulino
    fail_unless(p != NULL);
141 7b8c51ad Luiz Capitulino
    fail_unless(strcmp(p, str) == 0);
142 7b8c51ad Luiz Capitulino
}
143 7b8c51ad Luiz Capitulino
END_TEST
144 7b8c51ad Luiz Capitulino
145 7b8c51ad Luiz Capitulino
START_TEST(qdict_get_try_str_test)
146 7b8c51ad Luiz Capitulino
{
147 7b8c51ad Luiz Capitulino
    const char *p;
148 7b8c51ad Luiz Capitulino
    const char *key = "key";
149 7b8c51ad Luiz Capitulino
    const char *str = "string";
150 7b8c51ad Luiz Capitulino
151 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qstring_from_str(str));
152 7b8c51ad Luiz Capitulino
153 7b8c51ad Luiz Capitulino
    p = qdict_get_try_str(tests_dict, key);
154 7b8c51ad Luiz Capitulino
    fail_unless(p != NULL);
155 7b8c51ad Luiz Capitulino
    fail_unless(strcmp(p, str) == 0);
156 7b8c51ad Luiz Capitulino
}
157 7b8c51ad Luiz Capitulino
END_TEST
158 7b8c51ad Luiz Capitulino
159 7b8c51ad Luiz Capitulino
START_TEST(qdict_haskey_not_test)
160 7b8c51ad Luiz Capitulino
{
161 7b8c51ad Luiz Capitulino
    fail_unless(qdict_haskey(tests_dict, "test") == 0);
162 7b8c51ad Luiz Capitulino
}
163 7b8c51ad Luiz Capitulino
END_TEST
164 7b8c51ad Luiz Capitulino
165 7b8c51ad Luiz Capitulino
START_TEST(qdict_haskey_test)
166 7b8c51ad Luiz Capitulino
{
167 7b8c51ad Luiz Capitulino
    const char *key = "test";
168 7b8c51ad Luiz Capitulino
169 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(0));
170 7b8c51ad Luiz Capitulino
    fail_unless(qdict_haskey(tests_dict, key) == 1);
171 7b8c51ad Luiz Capitulino
}
172 7b8c51ad Luiz Capitulino
END_TEST
173 7b8c51ad Luiz Capitulino
174 7b8c51ad Luiz Capitulino
START_TEST(qdict_del_test)
175 7b8c51ad Luiz Capitulino
{
176 7b8c51ad Luiz Capitulino
    const char *key = "key test";
177 7b8c51ad Luiz Capitulino
178 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qstring_from_str("foo"));
179 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(tests_dict) == 1);
180 7b8c51ad Luiz Capitulino
181 7b8c51ad Luiz Capitulino
    qdict_del(tests_dict, key);
182 7b8c51ad Luiz Capitulino
183 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(tests_dict) == 0);
184 7b8c51ad Luiz Capitulino
    fail_unless(qdict_haskey(tests_dict, key) == 0);
185 7b8c51ad Luiz Capitulino
}
186 7b8c51ad Luiz Capitulino
END_TEST
187 7b8c51ad Luiz Capitulino
188 7b8c51ad Luiz Capitulino
START_TEST(qobject_to_qdict_test)
189 7b8c51ad Luiz Capitulino
{
190 7b8c51ad Luiz Capitulino
    fail_unless(qobject_to_qdict(QOBJECT(tests_dict)) == tests_dict);
191 7b8c51ad Luiz Capitulino
}
192 7b8c51ad Luiz Capitulino
END_TEST
193 7b8c51ad Luiz Capitulino
194 7b8c51ad Luiz Capitulino
/*
195 7b8c51ad Luiz Capitulino
 * Errors test-cases
196 7b8c51ad Luiz Capitulino
 */
197 7b8c51ad Luiz Capitulino
198 7b8c51ad Luiz Capitulino
START_TEST(qdict_put_exists_test)
199 7b8c51ad Luiz Capitulino
{
200 7b8c51ad Luiz Capitulino
    int value;
201 7b8c51ad Luiz Capitulino
    const char *key = "exists";
202 7b8c51ad Luiz Capitulino
203 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(1));
204 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(2));
205 7b8c51ad Luiz Capitulino
206 7b8c51ad Luiz Capitulino
    value = qdict_get_int(tests_dict, key);
207 7b8c51ad Luiz Capitulino
    fail_unless(value == 2);
208 29ec3156 Luiz Capitulino
209 29ec3156 Luiz Capitulino
    fail_unless(qdict_size(tests_dict) == 1);
210 7b8c51ad Luiz Capitulino
}
211 7b8c51ad Luiz Capitulino
END_TEST
212 7b8c51ad Luiz Capitulino
213 7b8c51ad Luiz Capitulino
START_TEST(qdict_get_not_exists_test)
214 7b8c51ad Luiz Capitulino
{
215 7b8c51ad Luiz Capitulino
    fail_unless(qdict_get(tests_dict, "foo") == NULL);
216 7b8c51ad Luiz Capitulino
}
217 7b8c51ad Luiz Capitulino
END_TEST
218 7b8c51ad Luiz Capitulino
219 7b8c51ad Luiz Capitulino
/*
220 7b8c51ad Luiz Capitulino
 * Stress test-case
221 7b8c51ad Luiz Capitulino
 *
222 7b8c51ad Luiz Capitulino
 * This is a lot big for a unit-test, but there is no other place
223 7b8c51ad Luiz Capitulino
 * to have it.
224 7b8c51ad Luiz Capitulino
 */
225 7b8c51ad Luiz Capitulino
226 7b8c51ad Luiz Capitulino
static void remove_dots(char *string)
227 7b8c51ad Luiz Capitulino
{
228 7b8c51ad Luiz Capitulino
    char *p = strchr(string, ':');
229 7b8c51ad Luiz Capitulino
    if (p)
230 7b8c51ad Luiz Capitulino
        *p = '\0';
231 7b8c51ad Luiz Capitulino
}
232 7b8c51ad Luiz Capitulino
233 7b8c51ad Luiz Capitulino
static QString *read_line(FILE *file, char *key)
234 7b8c51ad Luiz Capitulino
{
235 7b8c51ad Luiz Capitulino
    char value[128];
236 7b8c51ad Luiz Capitulino
237 7b8c51ad Luiz Capitulino
    if (fscanf(file, "%s%s", key, value) == EOF)
238 7b8c51ad Luiz Capitulino
        return NULL;
239 7b8c51ad Luiz Capitulino
    remove_dots(key);
240 7b8c51ad Luiz Capitulino
    return qstring_from_str(value);
241 7b8c51ad Luiz Capitulino
}
242 7b8c51ad Luiz Capitulino
243 7b8c51ad Luiz Capitulino
#define reset_file(file)    fseek(file, 0L, SEEK_SET)
244 7b8c51ad Luiz Capitulino
245 7b8c51ad Luiz Capitulino
START_TEST(qdict_stress_test)
246 7b8c51ad Luiz Capitulino
{
247 7b8c51ad Luiz Capitulino
    size_t lines;
248 7b8c51ad Luiz Capitulino
    char key[128];
249 7b8c51ad Luiz Capitulino
    FILE *test_file;
250 7b8c51ad Luiz Capitulino
    QDict *qdict;
251 7b8c51ad Luiz Capitulino
    QString *value;
252 7b8c51ad Luiz Capitulino
    const char *test_file_path = "qdict-test-data.txt";
253 7b8c51ad Luiz Capitulino
254 7b8c51ad Luiz Capitulino
    test_file = fopen(test_file_path, "r");
255 7b8c51ad Luiz Capitulino
    fail_unless(test_file != NULL);
256 7b8c51ad Luiz Capitulino
257 7b8c51ad Luiz Capitulino
    // Create the dict
258 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
259 7b8c51ad Luiz Capitulino
    fail_unless(qdict != NULL);
260 7b8c51ad Luiz Capitulino
261 7b8c51ad Luiz Capitulino
    // Add everything from the test file
262 7b8c51ad Luiz Capitulino
    for (lines = 0;; lines++) {
263 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
264 7b8c51ad Luiz Capitulino
        if (!value)
265 7b8c51ad Luiz Capitulino
            break;
266 7b8c51ad Luiz Capitulino
267 7b8c51ad Luiz Capitulino
        qdict_put(qdict, key, value);
268 7b8c51ad Luiz Capitulino
    }
269 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(qdict) == lines);
270 7b8c51ad Luiz Capitulino
271 7b8c51ad Luiz Capitulino
    // Check if everything is really in there
272 7b8c51ad Luiz Capitulino
    reset_file(test_file);
273 7b8c51ad Luiz Capitulino
    for (;;) {
274 7b8c51ad Luiz Capitulino
        const char *str1, *str2;
275 7b8c51ad Luiz Capitulino
276 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
277 7b8c51ad Luiz Capitulino
        if (!value)
278 7b8c51ad Luiz Capitulino
            break;
279 7b8c51ad Luiz Capitulino
280 7b8c51ad Luiz Capitulino
        str1 = qstring_get_str(value);
281 7b8c51ad Luiz Capitulino
282 7b8c51ad Luiz Capitulino
        str2 = qdict_get_str(qdict, key);
283 7b8c51ad Luiz Capitulino
        fail_unless(str2 != NULL);
284 7b8c51ad Luiz Capitulino
285 7b8c51ad Luiz Capitulino
        fail_unless(strcmp(str1, str2) == 0);
286 7b8c51ad Luiz Capitulino
287 7b8c51ad Luiz Capitulino
        QDECREF(value);
288 7b8c51ad Luiz Capitulino
    }
289 7b8c51ad Luiz Capitulino
290 7b8c51ad Luiz Capitulino
    // Delete everything
291 7b8c51ad Luiz Capitulino
    reset_file(test_file);
292 7b8c51ad Luiz Capitulino
    for (;;) {
293 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
294 7b8c51ad Luiz Capitulino
        if (!value)
295 7b8c51ad Luiz Capitulino
            break;
296 7b8c51ad Luiz Capitulino
297 7b8c51ad Luiz Capitulino
        qdict_del(qdict, key);
298 7b8c51ad Luiz Capitulino
        QDECREF(value);
299 7b8c51ad Luiz Capitulino
300 7b8c51ad Luiz Capitulino
        fail_unless(qdict_haskey(qdict, key) == 0);
301 7b8c51ad Luiz Capitulino
    }
302 7b8c51ad Luiz Capitulino
    fclose(test_file);
303 7b8c51ad Luiz Capitulino
304 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(qdict) == 0);
305 7b8c51ad Luiz Capitulino
    QDECREF(qdict);
306 7b8c51ad Luiz Capitulino
}
307 7b8c51ad Luiz Capitulino
END_TEST
308 7b8c51ad Luiz Capitulino
309 7b8c51ad Luiz Capitulino
static Suite *qdict_suite(void)
310 7b8c51ad Luiz Capitulino
{
311 7b8c51ad Luiz Capitulino
    Suite *s;
312 7b8c51ad Luiz Capitulino
    TCase *qdict_public_tcase;
313 7b8c51ad Luiz Capitulino
    TCase *qdict_public2_tcase;
314 7b8c51ad Luiz Capitulino
    TCase *qdict_stress_tcase;
315 7b8c51ad Luiz Capitulino
    TCase *qdict_errors_tcase;
316 7b8c51ad Luiz Capitulino
317 7b8c51ad Luiz Capitulino
    s = suite_create("QDict test-suite");
318 7b8c51ad Luiz Capitulino
319 7b8c51ad Luiz Capitulino
    qdict_public_tcase = tcase_create("Public Interface");
320 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_public_tcase);
321 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public_tcase, qdict_new_test);
322 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public_tcase, qdict_put_obj_test);
323 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public_tcase, qdict_destroy_simple_test);
324 7b8c51ad Luiz Capitulino
325 7b8c51ad Luiz Capitulino
    /* Continue, but now with fixtures */
326 7b8c51ad Luiz Capitulino
    qdict_public2_tcase = tcase_create("Public Interface (2)");
327 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_public2_tcase);
328 7b8c51ad Luiz Capitulino
    tcase_add_checked_fixture(qdict_public2_tcase, qdict_setup, qdict_teardown);
329 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_test);
330 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_int_test);
331 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_try_int_test);
332 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_str_test);
333 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_try_str_test);
334 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_haskey_not_test);
335 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_haskey_test);
336 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_del_test);
337 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qobject_to_qdict_test);
338 7b8c51ad Luiz Capitulino
339 7b8c51ad Luiz Capitulino
    qdict_errors_tcase = tcase_create("Errors");
340 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_errors_tcase);
341 7b8c51ad Luiz Capitulino
    tcase_add_checked_fixture(qdict_errors_tcase, qdict_setup, qdict_teardown);
342 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_errors_tcase, qdict_put_exists_test);
343 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_errors_tcase, qdict_get_not_exists_test);
344 7b8c51ad Luiz Capitulino
345 7b8c51ad Luiz Capitulino
    /* The Big one */
346 7b8c51ad Luiz Capitulino
    qdict_stress_tcase = tcase_create("Stress Test");
347 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_stress_tcase);
348 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_stress_tcase, qdict_stress_test);
349 7b8c51ad Luiz Capitulino
350 7b8c51ad Luiz Capitulino
    return s;
351 7b8c51ad Luiz Capitulino
}
352 7b8c51ad Luiz Capitulino
353 7b8c51ad Luiz Capitulino
int main(void)
354 7b8c51ad Luiz Capitulino
{
355 7b8c51ad Luiz Capitulino
        int nf;
356 7b8c51ad Luiz Capitulino
        Suite *s;
357 7b8c51ad Luiz Capitulino
        SRunner *sr;
358 7b8c51ad Luiz Capitulino
359 7b8c51ad Luiz Capitulino
        s = qdict_suite();
360 7b8c51ad Luiz Capitulino
        sr = srunner_create(s);
361 7b8c51ad Luiz Capitulino
362 7b8c51ad Luiz Capitulino
        srunner_run_all(sr, CK_NORMAL);
363 7b8c51ad Luiz Capitulino
        nf = srunner_ntests_failed(sr);
364 7b8c51ad Luiz Capitulino
        srunner_free(sr);
365 7b8c51ad Luiz Capitulino
366 7b8c51ad Luiz Capitulino
        return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
367 7b8c51ad Luiz Capitulino
}