Annotation of qemu/tests/check-qint.c, revision 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.