~fboudra/qemu-linaro/new-upstream-release-1.2.0-2012.09-0ubuntu1

« back to all changes in this revision

Viewing changes to tests/check-qlist.c

  • Committer: Fathi Boudra
  • Author(s): Fathi Boudra
  • Date: 2012-08-21 06:47:11 UTC
  • mfrom: (0.1.16)
  • Revision ID: fathi.boudra@linaro.org-20120821064711-7yxmubp2v8a44xce
Tags: 1.1.50-2012.08-0ubuntu1
* New upstream release.
  - support emulated systems with more than 2G of memory. (LP: #1030588)
* Drop powerpc-missing-include.patch - merged upstream.
* Update debian/control: 
  - drop perl build dependency.
  - add libfdt-dev build dependency.
* Update debian/qemu-keymaps.install file.
* Update debian/rules:
  - update QEMU_CPU for ARM architecture: armv4l -> armv7l.
  - update conf_audio_drv: default to PulseAudio since PA is the default on
    Ubuntu.
  - enable KVM on ARM architecture.
  - enable flat device tree support (--enable-fdt). (LP: #1030594)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * QList unit-tests.
 
3
 *
 
4
 * Copyright (C) 2009 Red Hat Inc.
 
5
 *
 
6
 * Authors:
 
7
 *  Luiz Capitulino <lcapitulino@redhat.com>
 
8
 *
 
9
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 
10
 * See the COPYING.LIB file in the top-level directory.
 
11
 */
 
12
#include <glib.h>
 
13
 
 
14
#include "qint.h"
 
15
#include "qlist.h"
 
16
 
 
17
/*
 
18
 * Public Interface test-cases
 
19
 *
 
20
 * (with some violations to access 'private' data)
 
21
 */
 
22
 
 
23
static void qlist_new_test(void)
 
24
{
 
25
    QList *qlist;
 
26
 
 
27
    qlist = qlist_new();
 
28
    g_assert(qlist != NULL);
 
29
    g_assert(qlist->base.refcnt == 1);
 
30
    g_assert(qobject_type(QOBJECT(qlist)) == QTYPE_QLIST);
 
31
 
 
32
    // destroy doesn't exist yet
 
33
    g_free(qlist);
 
34
}
 
35
 
 
36
static void qlist_append_test(void)
 
37
{
 
38
    QInt *qi;
 
39
    QList *qlist;
 
40
    QListEntry *entry;
 
41
 
 
42
    qi = qint_from_int(42);
 
43
 
 
44
    qlist = qlist_new();
 
45
    qlist_append(qlist, qi);
 
46
 
 
47
    entry = QTAILQ_FIRST(&qlist->head);
 
48
    g_assert(entry != NULL);
 
49
    g_assert(entry->value == QOBJECT(qi));
 
50
 
 
51
    // destroy doesn't exist yet
 
52
    QDECREF(qi);
 
53
    g_free(entry);
 
54
    g_free(qlist);
 
55
}
 
56
 
 
57
static void qobject_to_qlist_test(void)
 
58
{
 
59
    QList *qlist;
 
60
 
 
61
    qlist = qlist_new();
 
62
 
 
63
    g_assert(qobject_to_qlist(QOBJECT(qlist)) == qlist);
 
64
 
 
65
    // destroy doesn't exist yet
 
66
    g_free(qlist);
 
67
}
 
68
 
 
69
static void qlist_destroy_test(void)
 
70
{
 
71
    int i;
 
72
    QList *qlist;
 
73
 
 
74
    qlist = qlist_new();
 
75
 
 
76
    for (i = 0; i < 42; i++)
 
77
        qlist_append(qlist, qint_from_int(i));
 
78
 
 
79
    QDECREF(qlist);
 
80
}
 
81
 
 
82
static int iter_called;
 
83
static const int iter_max = 42;
 
84
 
 
85
static void iter_func(QObject *obj, void *opaque)
 
86
{
 
87
    QInt *qi;
 
88
 
 
89
    g_assert(opaque == NULL);
 
90
 
 
91
    qi = qobject_to_qint(obj);
 
92
    g_assert(qi != NULL);
 
93
    g_assert((qint_get_int(qi) >= 0) && (qint_get_int(qi) <= iter_max));
 
94
 
 
95
    iter_called++;
 
96
}
 
97
 
 
98
static void qlist_iter_test(void)
 
99
{
 
100
    int i;
 
101
    QList *qlist;
 
102
 
 
103
    qlist = qlist_new();
 
104
 
 
105
    for (i = 0; i < iter_max; i++)
 
106
        qlist_append(qlist, qint_from_int(i));
 
107
 
 
108
    iter_called = 0;
 
109
    qlist_iter(qlist, iter_func, NULL);
 
110
 
 
111
    g_assert(iter_called == iter_max);
 
112
 
 
113
    QDECREF(qlist);
 
114
}
 
115
 
 
116
int main(int argc, char **argv)
 
117
{
 
118
    g_test_init(&argc, &argv, NULL);
 
119
 
 
120
    g_test_add_func("/public/new", qlist_new_test);
 
121
    g_test_add_func("/public/append", qlist_append_test);
 
122
    g_test_add_func("/public/to_qlist", qobject_to_qlist_test);
 
123
    g_test_add_func("/public/destroy", qlist_destroy_test);
 
124
    g_test_add_func("/public/iter", qlist_iter_test);
 
125
 
 
126
    return g_test_run();
 
127
}