Annotation of qemu/tests/check-qint.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * QInt unit-tests.
                      3:  *
                      4:  * Copyright (C) 2009 Red Hat Inc.
                      5:  *
                      6:  * Authors:
                      7:  *  Luiz Capitulino <[email protected]>
                      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 "qemu-common.h"
                     16: 
                     17: /*
                     18:  * Public Interface test-cases
                     19:  *
                     20:  * (with some violations to access 'private' data)
                     21:  */
                     22: 
                     23: static void qint_from_int_test(void)
                     24: {
                     25:     QInt *qi;
                     26:     const int value = -42;
                     27: 
                     28:     qi = qint_from_int(value);
                     29:     g_assert(qi != NULL);
                     30:     g_assert(qi->value == value);
                     31:     g_assert(qi->base.refcnt == 1);
                     32:     g_assert(qobject_type(QOBJECT(qi)) == QTYPE_QINT);
                     33: 
                     34:     // destroy doesn't exit yet
                     35:     g_free(qi);
                     36: }
                     37: 
                     38: static void qint_destroy_test(void)
                     39: {
                     40:     QInt *qi = qint_from_int(0);
                     41:     QDECREF(qi);
                     42: }
                     43: 
                     44: static void qint_from_int64_test(void)
                     45: {
                     46:     QInt *qi;
                     47:     const int64_t value = 0x1234567890abcdefLL;
                     48: 
                     49:     qi = qint_from_int(value);
                     50:     g_assert((int64_t) qi->value == value);
                     51: 
                     52:     QDECREF(qi);
                     53: }
                     54: 
                     55: static void qint_get_int_test(void)
                     56: {
                     57:     QInt *qi;
                     58:     const int value = 123456;
                     59: 
                     60:     qi = qint_from_int(value);
                     61:     g_assert(qint_get_int(qi) == value);
                     62: 
                     63:     QDECREF(qi);
                     64: }
                     65: 
                     66: static void qobject_to_qint_test(void)
                     67: {
                     68:     QInt *qi;
                     69: 
                     70:     qi = qint_from_int(0);
                     71:     g_assert(qobject_to_qint(QOBJECT(qi)) == qi);
                     72: 
                     73:     QDECREF(qi);
                     74: }
                     75: 
                     76: int main(int argc, char **argv)
                     77: {
                     78:     g_test_init(&argc, &argv, NULL);
                     79: 
                     80:     g_test_add_func("/public/from_int", qint_from_int_test);
                     81:     g_test_add_func("/public/destroy", qint_destroy_test);
                     82:     g_test_add_func("/public/from_int64", qint_from_int64_test);
                     83:     g_test_add_func("/public/get_int", qint_get_int_test);
                     84:     g_test_add_func("/public/to_qint", qobject_to_qint_test);
                     85: 
                     86:     return g_test_run();
                     87: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.