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

1.1       root        1: /*
                      2:  * QString 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 "qstring.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 qstring_from_str_test(void)
                     24: {
                     25:     QString *qstring;
                     26:     const char *str = "QEMU";
                     27: 
                     28:     qstring = qstring_from_str(str);
                     29:     g_assert(qstring != NULL);
                     30:     g_assert(qstring->base.refcnt == 1);
                     31:     g_assert(strcmp(str, qstring->string) == 0);
                     32:     g_assert(qobject_type(QOBJECT(qstring)) == QTYPE_QSTRING);
                     33: 
                     34:     // destroy doesn't exit yet
                     35:     g_free(qstring->string);
                     36:     g_free(qstring);
                     37: }
                     38: 
                     39: static void qstring_destroy_test(void)
                     40: {
                     41:     QString *qstring = qstring_from_str("destroy test");
                     42:     QDECREF(qstring);
                     43: }
                     44: 
                     45: static void qstring_get_str_test(void)
                     46: {
                     47:     QString *qstring;
                     48:     const char *ret_str;
                     49:     const char *str = "QEMU/KVM";
                     50: 
                     51:     qstring = qstring_from_str(str);
                     52:     ret_str = qstring_get_str(qstring);
                     53:     g_assert(strcmp(ret_str, str) == 0);
                     54: 
                     55:     QDECREF(qstring);
                     56: }
                     57: 
                     58: static void qstring_append_chr_test(void)
                     59: {
                     60:     int i;
                     61:     QString *qstring;
                     62:     const char *str = "qstring append char unit-test";
                     63: 
                     64:     qstring = qstring_new();
                     65: 
                     66:     for (i = 0; str[i]; i++)
                     67:         qstring_append_chr(qstring, str[i]);
                     68: 
                     69:     g_assert(strcmp(str, qstring_get_str(qstring)) == 0);
                     70:     QDECREF(qstring);
                     71: }
                     72: 
                     73: static void qstring_from_substr_test(void)
                     74: {
                     75:     QString *qs;
                     76: 
                     77:     qs = qstring_from_substr("virtualization", 3, 9);
                     78:     g_assert(qs != NULL);
                     79:     g_assert(strcmp(qstring_get_str(qs), "tualiza") == 0);
                     80: 
                     81:     QDECREF(qs);
                     82: }
                     83: 
                     84: 
                     85: static void qobject_to_qstring_test(void)
                     86: {
                     87:     QString *qstring;
                     88: 
                     89:     qstring = qstring_from_str("foo");
                     90:     g_assert(qobject_to_qstring(QOBJECT(qstring)) == qstring);
                     91: 
                     92:     QDECREF(qstring);
                     93: }
                     94: 
                     95: int main(int argc, char **argv)
                     96: {
                     97:     g_test_init(&argc, &argv, NULL);
                     98: 
                     99:     g_test_add_func("/public/from_str", qstring_from_str_test);
                    100:     g_test_add_func("/public/destroy", qstring_destroy_test);
                    101:     g_test_add_func("/public/get_str", qstring_get_str_test);
                    102:     g_test_add_func("/public/append_chr", qstring_append_chr_test);
                    103:     g_test_add_func("/public/from_substr", qstring_from_substr_test);
                    104:     g_test_add_func("/public/to_qstring", qobject_to_qstring_test);
                    105: 
                    106:     return g_test_run();
                    107: }

unix.superglobalmegacorp.com

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