Revision 33837ba6

b/Makefile
181 181
qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
182 182
	$(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@,"  GEN   $@")
183 183

  
184
check-qint: check-qint.o qint.o qemu-malloc.o
185

  
184 186
clean:
185 187
# avoid old build problems by removing potentially incorrect old files
186 188
	rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
b/check-qint.c
1
/*
2
 * QInt unit-tests.
3
 *
4
 * Copyright (C) 2009 Red Hat Inc.
5
 *
6
 * Authors:
7
 *  Luiz Capitulino <lcapitulino@redhat.com>
8
 */
9
#include <check.h>
10

  
11
#include "qint.h"
12
#include "qemu-common.h"
13

  
14
/*
15
 * Public Interface test-cases
16
 *
17
 * (with some violations to access 'private' data)
18
 */
19

  
20
START_TEST(qint_from_int_test)
21
{
22
    QInt *qi;
23
    const int value = -42;
24

  
25
    qi = qint_from_int(value);
26
    fail_unless(qi != NULL);
27
    fail_unless(qi->value == value);
28
    fail_unless(qi->base.refcnt == 1);
29
    fail_unless(qobject_type(QOBJECT(qi)) == QTYPE_QINT);
30

  
31
    // destroy doesn't exit yet
32
    qemu_free(qi);
33
}
34
END_TEST
35

  
36
START_TEST(qint_destroy_test)
37
{
38
    QInt *qi = qint_from_int(0);
39
    QDECREF(qi);
40
}
41
END_TEST
42

  
43
START_TEST(qint_from_int64_test)
44
{
45
    QInt *qi;
46
    const int64_t value = 0xffffffffffffffff;
47

  
48
    qi = qint_from_int(value);
49
    fail_unless(qi->value == value);
50

  
51
    QDECREF(qi);
52
}
53
END_TEST
54

  
55
START_TEST(qint_get_int_test)
56
{
57
    QInt *qi;
58
    const int value = 123456;
59

  
60
    qi = qint_from_int(value);
61
    fail_unless(qint_get_int(qi) == value);
62

  
63
    QDECREF(qi);
64
}
65
END_TEST
66

  
67
START_TEST(qobject_to_qint_test)
68
{
69
    QInt *qi;
70

  
71
    qi = qint_from_int(0);
72
    fail_unless(qobject_to_qint(QOBJECT(qi)) == qi);
73

  
74
    QDECREF(qi);
75
}
76
END_TEST
77

  
78
static Suite *qint_suite(void)
79
{
80
    Suite *s;
81
    TCase *qint_public_tcase;
82

  
83
    s = suite_create("QInt test-suite");
84

  
85
    qint_public_tcase = tcase_create("Public Interface");
86
    suite_add_tcase(s, qint_public_tcase);
87
    tcase_add_test(qint_public_tcase, qint_from_int_test);
88
    tcase_add_test(qint_public_tcase, qint_destroy_test);
89
    tcase_add_test(qint_public_tcase, qint_from_int64_test);
90
    tcase_add_test(qint_public_tcase, qint_get_int_test);
91
    tcase_add_test(qint_public_tcase, qobject_to_qint_test);
92

  
93
    return s;
94
}
95

  
96
int main(void)
97
{
98
	int nf;
99
	Suite *s;
100
	SRunner *sr;
101

  
102
	s = qint_suite();
103
	sr = srunner_create(s);
104

  
105
	srunner_run_all(sr, CK_NORMAL);
106
	nf = srunner_ntests_failed(sr);
107
	srunner_free(sr);
108

  
109
	return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
110
}
b/configure
1927 1927
  if [ "$linux" = "yes" ] ; then
1928 1928
      tools="qemu-nbd\$(EXESUF) qemu-io\$(EXESUF) $tools"
1929 1929
    if [ "$check_utests" = "yes" ]; then
1930
      tools="$tools"
1930
      tools="check-qint $tools"
1931 1931
    fi
1932 1932
  fi
1933 1933
fi

Also available in: Unified diff