Annotation of qemu/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 <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