gobject/tests: use g_test_expect_messages()
authorDan Winship <danw@gnome.org>
Mon, 27 Aug 2012 11:45:08 +0000 (07:45 -0400)
committerDan Winship <danw@gnome.org>
Mon, 3 Sep 2012 12:36:10 +0000 (08:36 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=682560

gobject/tests/Makefile.am
gobject/tests/ifaceproperties.c
gobject/tests/param.c

index fcc7b84..3100c2f 100644 (file)
@@ -1,5 +1,8 @@
 include $(top_srcdir)/Makefile.decl
 
+AM_CPPFLAGS =                                  \
+       -DG_LOG_DOMAIN=\"GLib-GObject\"
+
 INCLUDES = -g $(gobject_INCLUDES) $(GLIB_DEBUG_FLAGS)
 
 if CROSS_COMPILING
index f7a260c..c86a23b 100644 (file)
@@ -615,21 +615,19 @@ base2_object_init (Base2Object *object)
 static void
 test_not_overridden (void)
 {
+  Base2Object *object;
+
   if (!g_test_undefined ())
     return;
 
   g_test_bug ("637738");
 
-  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT|G_TEST_TRAP_SILENCE_STDERR))
-    {
-      Base2Object *object;
+  g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,
+                         "*Base2Object doesn't implement property 'prop3' from interface 'TestIface'*");
+  object = g_object_new (BASE2_TYPE_OBJECT, NULL);
+  g_test_assert_expected_messages ();
 
-      object = g_object_new (BASE2_TYPE_OBJECT, NULL);
-      g_object_unref (object);
-      exit (0);
-    }
-  g_test_trap_assert_failed ();
-  g_test_trap_assert_stderr ("*Base2Object doesn't implement property 'prop3' from interface 'TestIface'*");
+  g_object_unref (object);
 }
 
 int
index 671642e..ac401f3 100644 (file)
@@ -482,15 +482,14 @@ test_interface_default_init (TestInterfaceInterface *iface)
               continue;
 
             /* we think that this is impossible.  make sure. */
-            if (g_test_trap_fork (G_TIME_SPAN_SECOND, G_TEST_TRAP_SILENCE_STDERR))
-              {
-                GParamSpec *pspec;
+            pspec = g_param_spec_object ("xyz", "xyz", "xyz", types[i], j);
 
-                pspec = g_param_spec_object ("xyz", "xyz", "xyz", types[i], j);
-                g_object_interface_install_property (iface, pspec);
-                exit (0);
-              }
-            g_test_trap_assert_failed ();
+            g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,
+                                   "*assertion*pspec->flags*failed*");
+            g_object_interface_install_property (iface, pspec);
+            g_test_assert_expected_messages ();
+
+            g_param_spec_unref (pspec);
             continue;
           }