Statistics
| Branch: | Revision:

root / tests / check-qdict.c @ 29926112

History | View | Annotate | Download (8.4 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 41836a9f Luiz Capitulino
 *
9 41836a9f Luiz Capitulino
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
10 41836a9f Luiz Capitulino
 * See the COPYING.LIB file in the top-level directory.
11 7b8c51ad Luiz Capitulino
 */
12 ac531cb6 Anthony Liguori
#include <glib.h>
13 7b8c51ad Luiz Capitulino
14 7b8c51ad Luiz Capitulino
#include "qint.h"
15 7b8c51ad Luiz Capitulino
#include "qdict.h"
16 7b8c51ad Luiz Capitulino
#include "qstring.h"
17 7b8c51ad Luiz Capitulino
#include "qemu-common.h"
18 7b8c51ad Luiz Capitulino
19 7b8c51ad Luiz Capitulino
/*
20 7b8c51ad Luiz Capitulino
 * Public Interface test-cases
21 7b8c51ad Luiz Capitulino
 *
22 7b8c51ad Luiz Capitulino
 * (with some violations to access 'private' data)
23 7b8c51ad Luiz Capitulino
 */
24 7b8c51ad Luiz Capitulino
25 ac531cb6 Anthony Liguori
static void qdict_new_test(void)
26 7b8c51ad Luiz Capitulino
{
27 7b8c51ad Luiz Capitulino
    QDict *qdict;
28 7b8c51ad Luiz Capitulino
29 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
30 ac531cb6 Anthony Liguori
    g_assert(qdict != NULL);
31 ac531cb6 Anthony Liguori
    g_assert(qdict_size(qdict) == 0);
32 ac531cb6 Anthony Liguori
    g_assert(qdict->base.refcnt == 1);
33 ac531cb6 Anthony Liguori
    g_assert(qobject_type(QOBJECT(qdict)) == QTYPE_QDICT);
34 7b8c51ad Luiz Capitulino
35 7b8c51ad Luiz Capitulino
    // destroy doesn't exit yet
36 ac531cb6 Anthony Liguori
    g_free(qdict);
37 7b8c51ad Luiz Capitulino
}
38 7b8c51ad Luiz Capitulino
39 ac531cb6 Anthony Liguori
static void qdict_put_obj_test(void)
40 7b8c51ad Luiz Capitulino
{
41 7b8c51ad Luiz Capitulino
    QInt *qi;
42 7b8c51ad Luiz Capitulino
    QDict *qdict;
43 7b8c51ad Luiz Capitulino
    QDictEntry *ent;
44 7b8c51ad Luiz Capitulino
    const int num = 42;
45 7b8c51ad Luiz Capitulino
46 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
47 7b8c51ad Luiz Capitulino
48 7b8c51ad Luiz Capitulino
    // key "" will have tdb hash 12345
49 7b8c51ad Luiz Capitulino
    qdict_put_obj(qdict, "", QOBJECT(qint_from_int(num)));
50 7b8c51ad Luiz Capitulino
51 ac531cb6 Anthony Liguori
    g_assert(qdict_size(qdict) == 1);
52 c8bc3cd7 Luiz Capitulino
    ent = QLIST_FIRST(&qdict->table[12345 % QDICT_BUCKET_MAX]);
53 7b8c51ad Luiz Capitulino
    qi = qobject_to_qint(ent->value);
54 ac531cb6 Anthony Liguori
    g_assert(qint_get_int(qi) == num);
55 7b8c51ad Luiz Capitulino
56 7b8c51ad Luiz Capitulino
    // destroy doesn't exit yet
57 7b8c51ad Luiz Capitulino
    QDECREF(qi);
58 7267c094 Anthony Liguori
    g_free(ent->key);
59 7267c094 Anthony Liguori
    g_free(ent);
60 7267c094 Anthony Liguori
    g_free(qdict);
61 7b8c51ad Luiz Capitulino
}
62 7b8c51ad Luiz Capitulino
63 ac531cb6 Anthony Liguori
static void qdict_destroy_simple_test(void)
64 7b8c51ad Luiz Capitulino
{
65 7b8c51ad Luiz Capitulino
    QDict *qdict;
66 7b8c51ad Luiz Capitulino
67 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
68 7b8c51ad Luiz Capitulino
    qdict_put_obj(qdict, "num", QOBJECT(qint_from_int(0)));
69 7b8c51ad Luiz Capitulino
    qdict_put_obj(qdict, "str", QOBJECT(qstring_from_str("foo")));
70 7b8c51ad Luiz Capitulino
71 7b8c51ad Luiz Capitulino
    QDECREF(qdict);
72 7b8c51ad Luiz Capitulino
}
73 7b8c51ad Luiz Capitulino
74 ac531cb6 Anthony Liguori
static void qdict_get_test(void)
75 7b8c51ad Luiz Capitulino
{
76 7b8c51ad Luiz Capitulino
    QInt *qi;
77 7b8c51ad Luiz Capitulino
    QObject *obj;
78 7b8c51ad Luiz Capitulino
    const int value = -42;
79 7b8c51ad Luiz Capitulino
    const char *key = "test";
80 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
81 7b8c51ad Luiz Capitulino
82 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(value));
83 7b8c51ad Luiz Capitulino
84 7b8c51ad Luiz Capitulino
    obj = qdict_get(tests_dict, key);
85 ac531cb6 Anthony Liguori
    g_assert(obj != NULL);
86 7b8c51ad Luiz Capitulino
87 7b8c51ad Luiz Capitulino
    qi = qobject_to_qint(obj);
88 ac531cb6 Anthony Liguori
    g_assert(qint_get_int(qi) == value);
89 ac531cb6 Anthony Liguori
90 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
91 7b8c51ad Luiz Capitulino
}
92 7b8c51ad Luiz Capitulino
93 ac531cb6 Anthony Liguori
static void qdict_get_int_test(void)
94 7b8c51ad Luiz Capitulino
{
95 7b8c51ad Luiz Capitulino
    int ret;
96 7b8c51ad Luiz Capitulino
    const int value = 100;
97 7b8c51ad Luiz Capitulino
    const char *key = "int";
98 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
99 7b8c51ad Luiz Capitulino
100 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(value));
101 7b8c51ad Luiz Capitulino
102 7b8c51ad Luiz Capitulino
    ret = qdict_get_int(tests_dict, key);
103 ac531cb6 Anthony Liguori
    g_assert(ret == value);
104 ac531cb6 Anthony Liguori
105 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
106 7b8c51ad Luiz Capitulino
}
107 7b8c51ad Luiz Capitulino
108 ac531cb6 Anthony Liguori
static void qdict_get_try_int_test(void)
109 7b8c51ad Luiz Capitulino
{
110 7b8c51ad Luiz Capitulino
    int ret;
111 7b8c51ad Luiz Capitulino
    const int value = 100;
112 7b8c51ad Luiz Capitulino
    const char *key = "int";
113 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
114 7b8c51ad Luiz Capitulino
115 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(value));
116 7b8c51ad Luiz Capitulino
117 7b8c51ad Luiz Capitulino
    ret = qdict_get_try_int(tests_dict, key, 0);
118 ac531cb6 Anthony Liguori
    g_assert(ret == value);
119 ac531cb6 Anthony Liguori
120 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
121 7b8c51ad Luiz Capitulino
}
122 7b8c51ad Luiz Capitulino
123 ac531cb6 Anthony Liguori
static void qdict_get_str_test(void)
124 7b8c51ad Luiz Capitulino
{
125 7b8c51ad Luiz Capitulino
    const char *p;
126 7b8c51ad Luiz Capitulino
    const char *key = "key";
127 7b8c51ad Luiz Capitulino
    const char *str = "string";
128 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
129 7b8c51ad Luiz Capitulino
130 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qstring_from_str(str));
131 7b8c51ad Luiz Capitulino
132 7b8c51ad Luiz Capitulino
    p = qdict_get_str(tests_dict, key);
133 ac531cb6 Anthony Liguori
    g_assert(p != NULL);
134 ac531cb6 Anthony Liguori
    g_assert(strcmp(p, str) == 0);
135 ac531cb6 Anthony Liguori
136 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
137 7b8c51ad Luiz Capitulino
}
138 7b8c51ad Luiz Capitulino
139 ac531cb6 Anthony Liguori
static void qdict_get_try_str_test(void)
140 7b8c51ad Luiz Capitulino
{
141 7b8c51ad Luiz Capitulino
    const char *p;
142 7b8c51ad Luiz Capitulino
    const char *key = "key";
143 7b8c51ad Luiz Capitulino
    const char *str = "string";
144 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
145 7b8c51ad Luiz Capitulino
146 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qstring_from_str(str));
147 7b8c51ad Luiz Capitulino
148 7b8c51ad Luiz Capitulino
    p = qdict_get_try_str(tests_dict, key);
149 ac531cb6 Anthony Liguori
    g_assert(p != NULL);
150 ac531cb6 Anthony Liguori
    g_assert(strcmp(p, str) == 0);
151 ac531cb6 Anthony Liguori
152 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
153 7b8c51ad Luiz Capitulino
}
154 7b8c51ad Luiz Capitulino
155 ac531cb6 Anthony Liguori
static void qdict_haskey_not_test(void)
156 7b8c51ad Luiz Capitulino
{
157 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
158 ac531cb6 Anthony Liguori
    g_assert(qdict_haskey(tests_dict, "test") == 0);
159 ac531cb6 Anthony Liguori
160 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
161 7b8c51ad Luiz Capitulino
}
162 7b8c51ad Luiz Capitulino
163 ac531cb6 Anthony Liguori
static void qdict_haskey_test(void)
164 7b8c51ad Luiz Capitulino
{
165 7b8c51ad Luiz Capitulino
    const char *key = "test";
166 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
167 7b8c51ad Luiz Capitulino
168 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(0));
169 ac531cb6 Anthony Liguori
    g_assert(qdict_haskey(tests_dict, key) == 1);
170 ac531cb6 Anthony Liguori
171 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
172 7b8c51ad Luiz Capitulino
}
173 7b8c51ad Luiz Capitulino
174 ac531cb6 Anthony Liguori
static void qdict_del_test(void)
175 7b8c51ad Luiz Capitulino
{
176 7b8c51ad Luiz Capitulino
    const char *key = "key test";
177 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
178 7b8c51ad Luiz Capitulino
179 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qstring_from_str("foo"));
180 ac531cb6 Anthony Liguori
    g_assert(qdict_size(tests_dict) == 1);
181 7b8c51ad Luiz Capitulino
182 7b8c51ad Luiz Capitulino
    qdict_del(tests_dict, key);
183 7b8c51ad Luiz Capitulino
184 ac531cb6 Anthony Liguori
    g_assert(qdict_size(tests_dict) == 0);
185 ac531cb6 Anthony Liguori
    g_assert(qdict_haskey(tests_dict, key) == 0);
186 ac531cb6 Anthony Liguori
187 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
188 7b8c51ad Luiz Capitulino
}
189 7b8c51ad Luiz Capitulino
190 ac531cb6 Anthony Liguori
static void qobject_to_qdict_test(void)
191 7b8c51ad Luiz Capitulino
{
192 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
193 ac531cb6 Anthony Liguori
    g_assert(qobject_to_qdict(QOBJECT(tests_dict)) == tests_dict);
194 ac531cb6 Anthony Liguori
195 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
196 7b8c51ad Luiz Capitulino
}
197 7b8c51ad Luiz Capitulino
198 ac531cb6 Anthony Liguori
static void qdict_iterapi_test(void)
199 d02c6bd4 Luiz Capitulino
{
200 d02c6bd4 Luiz Capitulino
    int count;
201 d02c6bd4 Luiz Capitulino
    const QDictEntry *ent;
202 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
203 d02c6bd4 Luiz Capitulino
204 ac531cb6 Anthony Liguori
    g_assert(qdict_first(tests_dict) == NULL);
205 d02c6bd4 Luiz Capitulino
206 d02c6bd4 Luiz Capitulino
    qdict_put(tests_dict, "key1", qint_from_int(1));
207 d02c6bd4 Luiz Capitulino
    qdict_put(tests_dict, "key2", qint_from_int(2));
208 d02c6bd4 Luiz Capitulino
    qdict_put(tests_dict, "key3", qint_from_int(3));
209 d02c6bd4 Luiz Capitulino
210 d02c6bd4 Luiz Capitulino
    count = 0;
211 d02c6bd4 Luiz Capitulino
    for (ent = qdict_first(tests_dict); ent; ent = qdict_next(tests_dict, ent)){
212 ac531cb6 Anthony Liguori
        g_assert(qdict_haskey(tests_dict, qdict_entry_key(ent)) == 1);
213 d02c6bd4 Luiz Capitulino
        count++;
214 d02c6bd4 Luiz Capitulino
    }
215 d02c6bd4 Luiz Capitulino
216 ac531cb6 Anthony Liguori
    g_assert(count == qdict_size(tests_dict));
217 d02c6bd4 Luiz Capitulino
218 d02c6bd4 Luiz Capitulino
    /* Do it again to test restarting */
219 d02c6bd4 Luiz Capitulino
    count = 0;
220 d02c6bd4 Luiz Capitulino
    for (ent = qdict_first(tests_dict); ent; ent = qdict_next(tests_dict, ent)){
221 ac531cb6 Anthony Liguori
        g_assert(qdict_haskey(tests_dict, qdict_entry_key(ent)) == 1);
222 d02c6bd4 Luiz Capitulino
        count++;
223 d02c6bd4 Luiz Capitulino
    }
224 d02c6bd4 Luiz Capitulino
225 ac531cb6 Anthony Liguori
    g_assert(count == qdict_size(tests_dict));
226 ac531cb6 Anthony Liguori
227 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
228 d02c6bd4 Luiz Capitulino
}
229 d02c6bd4 Luiz Capitulino
230 7b8c51ad Luiz Capitulino
/*
231 7b8c51ad Luiz Capitulino
 * Errors test-cases
232 7b8c51ad Luiz Capitulino
 */
233 7b8c51ad Luiz Capitulino
234 ac531cb6 Anthony Liguori
static void qdict_put_exists_test(void)
235 7b8c51ad Luiz Capitulino
{
236 7b8c51ad Luiz Capitulino
    int value;
237 7b8c51ad Luiz Capitulino
    const char *key = "exists";
238 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
239 7b8c51ad Luiz Capitulino
240 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(1));
241 7b8c51ad Luiz Capitulino
    qdict_put(tests_dict, key, qint_from_int(2));
242 7b8c51ad Luiz Capitulino
243 7b8c51ad Luiz Capitulino
    value = qdict_get_int(tests_dict, key);
244 ac531cb6 Anthony Liguori
    g_assert(value == 2);
245 29ec3156 Luiz Capitulino
246 ac531cb6 Anthony Liguori
    g_assert(qdict_size(tests_dict) == 1);
247 ac531cb6 Anthony Liguori
248 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
249 7b8c51ad Luiz Capitulino
}
250 7b8c51ad Luiz Capitulino
251 ac531cb6 Anthony Liguori
static void qdict_get_not_exists_test(void)
252 7b8c51ad Luiz Capitulino
{
253 ac531cb6 Anthony Liguori
    QDict *tests_dict = qdict_new();
254 ac531cb6 Anthony Liguori
    g_assert(qdict_get(tests_dict, "foo") == NULL);
255 ac531cb6 Anthony Liguori
256 ac531cb6 Anthony Liguori
    QDECREF(tests_dict);
257 7b8c51ad Luiz Capitulino
}
258 7b8c51ad Luiz Capitulino
259 7b8c51ad Luiz Capitulino
/*
260 7b8c51ad Luiz Capitulino
 * Stress test-case
261 7b8c51ad Luiz Capitulino
 *
262 7b8c51ad Luiz Capitulino
 * This is a lot big for a unit-test, but there is no other place
263 7b8c51ad Luiz Capitulino
 * to have it.
264 7b8c51ad Luiz Capitulino
 */
265 7b8c51ad Luiz Capitulino
266 7b8c51ad Luiz Capitulino
static void remove_dots(char *string)
267 7b8c51ad Luiz Capitulino
{
268 7b8c51ad Luiz Capitulino
    char *p = strchr(string, ':');
269 7b8c51ad Luiz Capitulino
    if (p)
270 7b8c51ad Luiz Capitulino
        *p = '\0';
271 7b8c51ad Luiz Capitulino
}
272 7b8c51ad Luiz Capitulino
273 7b8c51ad Luiz Capitulino
static QString *read_line(FILE *file, char *key)
274 7b8c51ad Luiz Capitulino
{
275 7b8c51ad Luiz Capitulino
    char value[128];
276 7b8c51ad Luiz Capitulino
277 7464f058 Stefan Weil
    if (fscanf(file, "%127s%127s", key, value) == EOF) {
278 7b8c51ad Luiz Capitulino
        return NULL;
279 7464f058 Stefan Weil
    }
280 7b8c51ad Luiz Capitulino
    remove_dots(key);
281 7b8c51ad Luiz Capitulino
    return qstring_from_str(value);
282 7b8c51ad Luiz Capitulino
}
283 7b8c51ad Luiz Capitulino
284 7b8c51ad Luiz Capitulino
#define reset_file(file)    fseek(file, 0L, SEEK_SET)
285 7b8c51ad Luiz Capitulino
286 ac531cb6 Anthony Liguori
static void qdict_stress_test(void)
287 7b8c51ad Luiz Capitulino
{
288 7b8c51ad Luiz Capitulino
    size_t lines;
289 7b8c51ad Luiz Capitulino
    char key[128];
290 7b8c51ad Luiz Capitulino
    FILE *test_file;
291 7b8c51ad Luiz Capitulino
    QDict *qdict;
292 7b8c51ad Luiz Capitulino
    QString *value;
293 7b8c51ad Luiz Capitulino
    const char *test_file_path = "qdict-test-data.txt";
294 7b8c51ad Luiz Capitulino
295 7b8c51ad Luiz Capitulino
    test_file = fopen(test_file_path, "r");
296 ac531cb6 Anthony Liguori
    g_assert(test_file != NULL);
297 7b8c51ad Luiz Capitulino
298 7b8c51ad Luiz Capitulino
    // Create the dict
299 7b8c51ad Luiz Capitulino
    qdict = qdict_new();
300 ac531cb6 Anthony Liguori
    g_assert(qdict != NULL);
301 7b8c51ad Luiz Capitulino
302 7b8c51ad Luiz Capitulino
    // Add everything from the test file
303 7b8c51ad Luiz Capitulino
    for (lines = 0;; lines++) {
304 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
305 7b8c51ad Luiz Capitulino
        if (!value)
306 7b8c51ad Luiz Capitulino
            break;
307 7b8c51ad Luiz Capitulino
308 7b8c51ad Luiz Capitulino
        qdict_put(qdict, key, value);
309 7b8c51ad Luiz Capitulino
    }
310 ac531cb6 Anthony Liguori
    g_assert(qdict_size(qdict) == lines);
311 7b8c51ad Luiz Capitulino
312 7b8c51ad Luiz Capitulino
    // Check if everything is really in there
313 7b8c51ad Luiz Capitulino
    reset_file(test_file);
314 7b8c51ad Luiz Capitulino
    for (;;) {
315 7b8c51ad Luiz Capitulino
        const char *str1, *str2;
316 7b8c51ad Luiz Capitulino
317 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
318 7b8c51ad Luiz Capitulino
        if (!value)
319 7b8c51ad Luiz Capitulino
            break;
320 7b8c51ad Luiz Capitulino
321 7b8c51ad Luiz Capitulino
        str1 = qstring_get_str(value);
322 7b8c51ad Luiz Capitulino
323 7b8c51ad Luiz Capitulino
        str2 = qdict_get_str(qdict, key);
324 ac531cb6 Anthony Liguori
        g_assert(str2 != NULL);
325 7b8c51ad Luiz Capitulino
326 ac531cb6 Anthony Liguori
        g_assert(strcmp(str1, str2) == 0);
327 7b8c51ad Luiz Capitulino
328 7b8c51ad Luiz Capitulino
        QDECREF(value);
329 7b8c51ad Luiz Capitulino
    }
330 7b8c51ad Luiz Capitulino
331 7b8c51ad Luiz Capitulino
    // Delete everything
332 7b8c51ad Luiz Capitulino
    reset_file(test_file);
333 7b8c51ad Luiz Capitulino
    for (;;) {
334 7b8c51ad Luiz Capitulino
        value = read_line(test_file, key);
335 7b8c51ad Luiz Capitulino
        if (!value)
336 7b8c51ad Luiz Capitulino
            break;
337 7b8c51ad Luiz Capitulino
338 7b8c51ad Luiz Capitulino
        qdict_del(qdict, key);
339 7b8c51ad Luiz Capitulino
        QDECREF(value);
340 7b8c51ad Luiz Capitulino
341 ac531cb6 Anthony Liguori
        g_assert(qdict_haskey(qdict, key) == 0);
342 7b8c51ad Luiz Capitulino
    }
343 7b8c51ad Luiz Capitulino
    fclose(test_file);
344 7b8c51ad Luiz Capitulino
345 ac531cb6 Anthony Liguori
    g_assert(qdict_size(qdict) == 0);
346 7b8c51ad Luiz Capitulino
    QDECREF(qdict);
347 7b8c51ad Luiz Capitulino
}
348 7b8c51ad Luiz Capitulino
349 ac531cb6 Anthony Liguori
int main(int argc, char **argv)
350 7b8c51ad Luiz Capitulino
{
351 ac531cb6 Anthony Liguori
    g_test_init(&argc, &argv, NULL);
352 7b8c51ad Luiz Capitulino
353 ac531cb6 Anthony Liguori
    g_test_add_func("/public/new", qdict_new_test);
354 ac531cb6 Anthony Liguori
    g_test_add_func("/public/put_obj", qdict_put_obj_test);
355 ac531cb6 Anthony Liguori
    g_test_add_func("/public/destroy_simple", qdict_destroy_simple_test);
356 7b8c51ad Luiz Capitulino
357 7b8c51ad Luiz Capitulino
    /* Continue, but now with fixtures */
358 ac531cb6 Anthony Liguori
    g_test_add_func("/public/get", qdict_get_test);
359 ac531cb6 Anthony Liguori
    g_test_add_func("/public/get_int", qdict_get_int_test);
360 ac531cb6 Anthony Liguori
    g_test_add_func("/public/get_try_int", qdict_get_try_int_test);
361 ac531cb6 Anthony Liguori
    g_test_add_func("/public/get_str", qdict_get_str_test);
362 ac531cb6 Anthony Liguori
    g_test_add_func("/public/get_try_str", qdict_get_try_str_test);
363 ac531cb6 Anthony Liguori
    g_test_add_func("/public/haskey_not", qdict_haskey_not_test);
364 ac531cb6 Anthony Liguori
    g_test_add_func("/public/haskey", qdict_haskey_test);
365 ac531cb6 Anthony Liguori
    g_test_add_func("/public/del", qdict_del_test);
366 ac531cb6 Anthony Liguori
    g_test_add_func("/public/to_qdict", qobject_to_qdict_test);
367 ac531cb6 Anthony Liguori
    g_test_add_func("/public/iterapi", qdict_iterapi_test);
368 ac531cb6 Anthony Liguori
369 ac531cb6 Anthony Liguori
    g_test_add_func("/errors/put_exists", qdict_put_exists_test);
370 ac531cb6 Anthony Liguori
    g_test_add_func("/errors/get_not_exists", qdict_get_not_exists_test);
371 7b8c51ad Luiz Capitulino
372 7b8c51ad Luiz Capitulino
    /* The Big one */
373 ac531cb6 Anthony Liguori
    if (g_test_slow()) {
374 ac531cb6 Anthony Liguori
        g_test_add_func("/stress/test", qdict_stress_test);
375 ac531cb6 Anthony Liguori
    }
376 7b8c51ad Luiz Capitulino
377 ac531cb6 Anthony Liguori
    return g_test_run();
378 7b8c51ad Luiz Capitulino
}