Update contrib.
1 /* Portion Copyright © 2008-09 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. */
4 #include <glib-object.h>
7 #include <glib_global.h>
8 #include "mrt2_glib2_test.h"
13 #define G_TYPE_TEST (g_test_get_type ())
14 #define G_TEST(test) (G_TYPE_CHECK_INSTANCE_CAST ((test), G_TYPE_TEST, GTest))
15 #define G_IS_TEST(test) (G_TYPE_CHECK_INSTANCE_TYPE ((test), G_TYPE_TEST))
16 #define G_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_CAST ((tclass), G_TYPE_TEST, GTestClass))
17 #define G_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST))
18 #define G_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass))
20 typedef struct _GTest GTest;
21 typedef struct _GTestClass GTestClass;
30 GObjectClass parent_class;
33 static GType g_test_get_type (void);
35 static void g_test_class_init (GTestClass * klass);
36 static void g_test_init (GTest * test);
37 static void g_test_dispose (GObject * object);
39 static GObjectClass *parent_class = NULL;
42 g_test_get_type (void)
44 static GType test_type = 0;
47 static const GTypeInfo test_info = {
51 (GClassInitFunc) g_test_class_init,
56 (GInstanceInitFunc) g_test_init,
60 test_type = g_type_register_static (G_TYPE_OBJECT, "GTest",
67 g_test_class_init (GTestClass * klass)
69 GObjectClass *gobject_class;
71 gobject_class = (GObjectClass *) klass;
73 parent_class = g_type_class_ref (G_TYPE_OBJECT);
75 gobject_class->dispose = g_test_dispose;
79 g_test_init (GTest * test)
81 //g_print ("init %p\n", test);
85 g_test_dispose (GObject * object)
89 test = G_TEST (object);
91 //g_print ("dispose %p!\n", object);
93 G_OBJECT_CLASS (parent_class)->dispose (object);
97 g_test_do_refcount (GTest * test)
103 g_object_unref (test);
107 main (int argc, char **argv)
114 g_log_set_handler (NULL, G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, &mrtLogHandler, NULL);
115 g_set_print_handler(mrtPrintHandler);
119 g_thread_init (NULL);
120 //g_print ("START: %s\n", argv[0]);
121 g_log_set_always_fatal (G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL | g_log_set_always_fatal (G_LOG_FATAL_MASK));
124 test = g_object_new (G_TYPE_TEST, NULL);
126 g_assert(test != NULL);
128 for (i=0; i<1000; i++) {
129 g_test_do_refcount (test);
135 testResultXml("objects2");
136 #endif /* EMULATOR */