Move ifaceproperties test to gobject/tests/
authorMatthias Clasen <mclasen@redhat.com>
Tue, 28 Dec 2010 04:49:12 +0000 (23:49 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 28 Dec 2010 04:49:12 +0000 (23:49 -0500)
gobject/tests/Makefile.am
gobject/tests/ifaceproperties.c [moved from tests/gobject/ifaceproperties.c with 100% similarity]
gobject/tests/testcommon.h [new file with mode: 0644]
tests/gobject/Makefile.am

index eec8c5e..8452164 100644 (file)
@@ -3,15 +3,7 @@ include $(top_srcdir)/Makefile.decl
 INCLUDES = -g $(gobject_INCLUDES) $(GLIB_DEBUG_FLAGS)
 
 noinst_PROGRAMS  = $(TEST_PROGS)
-libgobject_LDADD = ../libgobject-2.0.la $(top_builddir)/gthread/libgthread-2.0.la $(top_builddir)/glib/libglib-2.0.la
+LDADD = ../libgobject-2.0.la $(top_builddir)/gthread/libgthread-2.0.la $(top_builddir)/glib/libglib-2.0.la
 
-TEST_PROGS             += threadtests dynamictests binding properties reference
-threadtests_SOURCES    = threadtests.c
-threadtests_LDADD      = $(libgobject_LDADD)
-dynamictests_SOURCES   = dynamictests.c
-dynamictests_LDADD     = $(libgobject_LDADD)
-binding_SOURCES                = binding.c
-binding_LDADD          = $(libgobject_LDADD)
-properties_SOURCES      = properties.c
-properties_LDADD        = $(libgobject_LDADD)
-reference_LDADD                = $(libgobject_LDADD)
+TEST_PROGS += threadtests dynamictests binding properties reference ifaceproperties
+ifaceproperties_SOURCES = ifaceproperties.c testcommon.h
diff --git a/gobject/tests/testcommon.h b/gobject/tests/testcommon.h
new file mode 100644 (file)
index 0000000..7bfef05
--- /dev/null
@@ -0,0 +1,100 @@
+/* GObject - GLib Type, Object, Parameter and Signal Library
+ * Copyright (C) 2003 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __TEST_COMMON_H__
+#define __TEST_COMMON_H__
+
+G_BEGIN_DECLS
+
+#define DEFINE_TYPE_FULL(name, prefix,                         \
+                        class_init, base_init, instance_init,  \
+                        parent_type, interface_decl)           \
+GType                                                          \
+prefix ## _get_type (void)                                     \
+{                                                              \
+  static GType object_type = 0;                                        \
+                                                               \
+  if (!object_type)                                            \
+    {                                                          \
+      static const GTypeInfo object_info =                     \
+       {                                                       \
+         sizeof (name ## Class),                               \
+         (GBaseInitFunc) base_init,                            \
+         (GBaseFinalizeFunc) NULL,                             \
+         (GClassInitFunc) class_init,                          \
+         (GClassFinalizeFunc) NULL,                            \
+         NULL,           /* class_data */                      \
+         sizeof (name),                                        \
+         0,             /* n_prelocs */                        \
+         (GInstanceInitFunc) instance_init                     \
+       };                                                      \
+                                                               \
+      object_type = g_type_register_static (parent_type,       \
+                                           # name,             \
+                                           &object_info, 0);   \
+      interface_decl                                           \
+    }                                                          \
+                                                               \
+  return object_type;                                          \
+}
+
+#define DEFINE_TYPE(name, prefix,                              \
+                   class_init, base_init, instance_init,       \
+                   parent_type)                                \
+  DEFINE_TYPE_FULL(name, prefix, class_init, base_init,                \
+                  instance_init, parent_type, {})
+
+#define DEFINE_IFACE(name, prefix, base_init, dflt_init)       \
+GType                                                          \
+prefix ## _get_type (void)                                     \
+{                                                              \
+  static GType iface_type = 0;                                 \
+                                                               \
+  if (!iface_type)                                             \
+    {                                                          \
+      static const GTypeInfo iface_info =                      \
+      {                                                                \
+       sizeof (name ## Class),                                 \
+       (GBaseInitFunc) base_init,                              \
+       (GBaseFinalizeFunc) NULL,                               \
+       (GClassInitFunc) dflt_init,                             \
+      };                                                       \
+                                                               \
+      iface_type = g_type_register_static (G_TYPE_INTERFACE,   \
+                                           # name,             \
+                                           &iface_info, 0);    \
+    }                                                          \
+  return iface_type;                                           \
+}
+
+#define INTERFACE_FULL(type, init_func, iface_type)            \
+{                                                              \
+  static GInterfaceInfo const iface =                          \
+    {                                                          \
+      (GInterfaceInitFunc) init_func, NULL, NULL               \
+    };                                                         \
+                                                               \
+  g_type_add_interface_static (type, iface_type, &iface);      \
+}
+#define INTERFACE(init_func, iface_type)       \
+  INTERFACE_FULL(object_type, init_func, iface_type)
+
+G_END_DECLS
+
+#endif /* __TEST_COMMON_H__ */
index cf97ac3..0ab5bf6 100644 (file)
@@ -61,7 +61,6 @@ test_programs =                                       \
        ifacecheck                              \
        ifaceinit                               \
        ifaceinherit                            \
-       ifaceproperties                         \
        override                                \
        performance                             \
        performance-threaded                    \