Statistics
| Branch: | Revision:

root / check-qdict.c @ 283c7c63

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 7b8c51ad Luiz Capitulino
}
209 7b8c51ad Luiz Capitulino
END_TEST
210 7b8c51ad Luiz Capitulino
211 7b8c51ad Luiz Capitulino
START_TEST(qdict_get_not_exists_test)
212 7b8c51ad Luiz Capitulino
{
213 7b8c51ad Luiz Capitulino
    fail_unless(qdict_get(tests_dict, "foo") == NULL);
214 7b8c51ad Luiz Capitulino
}
215 7b8c51ad Luiz Capitulino
END_TEST
216 7b8c51ad Luiz Capitulino
217 7b8c51ad Luiz Capitulino
/*
218 7b8c51ad Luiz Capitulino
 * Stress test-case
219 7b8c51ad Luiz Capitulino
 *
220 7b8c51ad Luiz Capitulino
 * This is a lot big for a unit-test, but there is no other place
221 7b8c51ad Luiz Capitulino
 * to have it.
222 7b8c51ad Luiz Capitulino
 */
223 7b8c51ad Luiz Capitulino
224 7b8c51ad Luiz Capitulino
static void remove_dots(char *string)
225 7b8c51ad Luiz Capitulino
{
226 7b8c51ad Luiz Capitulino
    char *p = strchr(string, ':');
227 7b8c51ad Luiz Capitulino
    if (p)
228 7b8c51ad Luiz Capitulino
        *p = '\0';
229 7b8c51ad Luiz Capitulino
}
230 7b8c51ad Luiz Capitulino
231 7b8c51ad Luiz Capitulino
static QString *read_line(FILE *file, char *key)
232 7b8c51ad Luiz Capitulino
{
233 7b8c51ad Luiz Capitulino
    char value[128];
234 7b8c51ad Luiz Capitulino
235 7b8c51ad Luiz Capitulino
    if (fscanf(file, "%s%s", key, value) == EOF)
236 7b8c51ad Luiz Capitulino
        return NULL;
237 7b8c51ad Luiz Capitulino
    remove_dots(key);
238 7b8c51ad Luiz Capitulino
    return qstring_from_str(value);
239 7b8c51ad Luiz Capitulino
}
240 7b8c51ad Luiz Capitulino
241 7b8c51ad Luiz Capitulino
#define reset_file(file)    fseek(file, 0L, SEEK_SET)
242 7b8c51ad Luiz Capitulino
243 7b8c51ad Luiz Capitulino
START_TEST(qdict_stress_test)
244 7b8c51ad Luiz Capitulino
{
245 7b8c51ad Luiz Capitulino
    size_t lines;
246 7b8c51ad Luiz Capitulino
    char key[128];
247 7b8c51ad Luiz Capitulino
    FILE *test_file;
248 7b8c51ad Luiz Capitulino
    QDict *qdict;
249 7b8c51ad Luiz Capitulino
    QString *value;
250 7b8c51ad Luiz Capitulino
    const char *test_file_path = "qdict-test-data.txt";
251 7b8c51ad Luiz Capitulino
252 7b8c51ad Luiz Capitulino
    test_file = fopen(test_file_path, "r");
253 7b8c51ad Luiz Capitulino
    fail_unless(test_file != NULL);
254 7b8c51ad Luiz Capitulino
255 7b8c51ad Luiz Capitulino
    // Create the dict
256 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
257 7b8c51ad Luiz Capitulino
    fail_unless(qdict != NULL);
258 7b8c51ad Luiz Capitulino
259 7b8c51ad Luiz Capitulino
    // Add everything from the test file
260 7b8c51ad Luiz Capitulino
    for (lines = 0;; lines++) {
261 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
262 7b8c51ad Luiz Capitulino
        if (!value)
263 7b8c51ad Luiz Capitulino
            break;
264 7b8c51ad Luiz Capitulino
265 7b8c51ad Luiz Capitulino
        qdict_put(qdict, key, value);
266 7b8c51ad Luiz Capitulino
    }
267 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(qdict) == lines);
268 7b8c51ad Luiz Capitulino
269 7b8c51ad Luiz Capitulino
    // Check if everything is really in there
270 7b8c51ad Luiz Capitulino
    reset_file(test_file);
271 7b8c51ad Luiz Capitulino
    for (;;) {
272 7b8c51ad Luiz Capitulino
        const char *str1, *str2;
273 7b8c51ad Luiz Capitulino
274 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
275 7b8c51ad Luiz Capitulino
        if (!value)
276 7b8c51ad Luiz Capitulino
            break;
277 7b8c51ad Luiz Capitulino
278 7b8c51ad Luiz Capitulino
        str1 = qstring_get_str(value);
279 7b8c51ad Luiz Capitulino
280 7b8c51ad Luiz Capitulino
        str2 = qdict_get_str(qdict, key);
281 7b8c51ad Luiz Capitulino
        fail_unless(str2 != NULL);
282 7b8c51ad Luiz Capitulino
283 7b8c51ad Luiz Capitulino
        fail_unless(strcmp(str1, str2) == 0);
284 7b8c51ad Luiz Capitulino
285 7b8c51ad Luiz Capitulino
        QDECREF(value);
286 7b8c51ad Luiz Capitulino
    }
287 7b8c51ad Luiz Capitulino
288 7b8c51ad Luiz Capitulino
    // Delete everything
289 7b8c51ad Luiz Capitulino
    reset_file(test_file);
290 7b8c51ad Luiz Capitulino
    for (;;) {
291 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
292 7b8c51ad Luiz Capitulino
        if (!value)
293 7b8c51ad Luiz Capitulino
            break;
294 7b8c51ad Luiz Capitulino
295 7b8c51ad Luiz Capitulino
        qdict_del(qdict, key);
296 7b8c51ad Luiz Capitulino
        QDECREF(value);
297 7b8c51ad Luiz Capitulino
298 7b8c51ad Luiz Capitulino
        fail_unless(qdict_haskey(qdict, key) == 0);
299 7b8c51ad Luiz Capitulino
    }
300 7b8c51ad Luiz Capitulino
    fclose(test_file);
301 7b8c51ad Luiz Capitulino
302 7b8c51ad Luiz Capitulino
    fail_unless(qdict_size(qdict) == 0);
303 7b8c51ad Luiz Capitulino
    QDECREF(qdict);
304 7b8c51ad Luiz Capitulino
}
305 7b8c51ad Luiz Capitulino
END_TEST
306 7b8c51ad Luiz Capitulino
307 7b8c51ad Luiz Capitulino
static Suite *qdict_suite(void)
308 7b8c51ad Luiz Capitulino
{
309 7b8c51ad Luiz Capitulino
    Suite *s;
310 7b8c51ad Luiz Capitulino
    TCase *qdict_public_tcase;
311 7b8c51ad Luiz Capitulino
    TCase *qdict_public2_tcase;
312 7b8c51ad Luiz Capitulino
    TCase *qdict_stress_tcase;
313 7b8c51ad Luiz Capitulino
    TCase *qdict_errors_tcase;
314 7b8c51ad Luiz Capitulino
315 7b8c51ad Luiz Capitulino
    s = suite_create("QDict test-suite");
316 7b8c51ad Luiz Capitulino
317 7b8c51ad Luiz Capitulino
    qdict_public_tcase = tcase_create("Public Interface");
318 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_public_tcase);
319 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public_tcase, qdict_new_test);
320 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public_tcase, qdict_put_obj_test);
321 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public_tcase, qdict_destroy_simple_test);
322 7b8c51ad Luiz Capitulino
323 7b8c51ad Luiz Capitulino
    /* Continue, but now with fixtures */
324 7b8c51ad Luiz Capitulino
    qdict_public2_tcase = tcase_create("Public Interface (2)");
325 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_public2_tcase);
326 7b8c51ad Luiz Capitulino
    tcase_add_checked_fixture(qdict_public2_tcase, qdict_setup, qdict_teardown);
327 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_test);
328 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_int_test);
329 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_try_int_test);
330 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_str_test);
331 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_get_try_str_test);
332 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_haskey_not_test);
333 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_haskey_test);
334 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qdict_del_test);
335 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_public2_tcase, qobject_to_qdict_test);
336 7b8c51ad Luiz Capitulino
337 7b8c51ad Luiz Capitulino
    qdict_errors_tcase = tcase_create("Errors");
338 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_errors_tcase);
339 7b8c51ad Luiz Capitulino
    tcase_add_checked_fixture(qdict_errors_tcase, qdict_setup, qdict_teardown);
340 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_errors_tcase, qdict_put_exists_test);
341 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_errors_tcase, qdict_get_not_exists_test);
342 7b8c51ad Luiz Capitulino
343 7b8c51ad Luiz Capitulino
    /* The Big one */
344 7b8c51ad Luiz Capitulino
    qdict_stress_tcase = tcase_create("Stress Test");
345 7b8c51ad Luiz Capitulino
    suite_add_tcase(s, qdict_stress_tcase);
346 7b8c51ad Luiz Capitulino
    tcase_add_test(qdict_stress_tcase, qdict_stress_test);
347 7b8c51ad Luiz Capitulino
348 7b8c51ad Luiz Capitulino
    return s;
349 7b8c51ad Luiz Capitulino
}
350 7b8c51ad Luiz Capitulino
351 7b8c51ad Luiz Capitulino
int main(void)
352 7b8c51ad Luiz Capitulino
{
353 7b8c51ad Luiz Capitulino
        int nf;
354 7b8c51ad Luiz Capitulino
        Suite *s;
355 7b8c51ad Luiz Capitulino
        SRunner *sr;
356 7b8c51ad Luiz Capitulino
357 7b8c51ad Luiz Capitulino
        s = qdict_suite();
358 7b8c51ad Luiz Capitulino
        sr = srunner_create(s);
359 7b8c51ad Luiz Capitulino
360 7b8c51ad Luiz Capitulino
        srunner_run_all(sr, CK_NORMAL);
361 7b8c51ad Luiz Capitulino
        nf = srunner_ntests_failed(sr);
362 7b8c51ad Luiz Capitulino
        srunner_free(sr);
363 7b8c51ad Luiz Capitulino
364 7b8c51ad Luiz Capitulino
        return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
365 7b8c51ad Luiz Capitulino
}