Annotation of qemu/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 <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 = 0x1234567890abcdefLL;
        !            47: 
        !            48:     qi = qint_from_int(value);
        !            49:     fail_unless((int64_t) 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: }

unix.superglobalmegacorp.com