[gtk/backports-for-4-6: 2/2] Avoid g_log_set_writer_func in tests
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/backports-for-4-6: 2/2] Avoid g_log_set_writer_func in tests
- Date: Sat, 28 May 2022 15:35:33 +0000 (UTC)
commit 78c153ae14d5ac261e259823fe0f491f21edd401
Author: Matthias Clasen <mclasen redhat com>
Date: Sat May 28 10:17:47 2022 -0400
Avoid g_log_set_writer_func in tests
It is not usable anymore since GLib 2.72.
testsuite/gtk/icontheme.c | 270 ++++++++++++++++++++++++----------------------
testsuite/gtk/treestore.c | 30 +++---
2 files changed, 152 insertions(+), 148 deletions(-)
---
diff --git a/testsuite/gtk/icontheme.c b/testsuite/gtk/icontheme.c
index b32f83bb4d..0e6586a610 100644
--- a/testsuite/gtk/icontheme.c
+++ b/testsuite/gtk/icontheme.c
@@ -136,6 +136,7 @@ assert_icon_lookup_fails (const char *icon_name,
}
static GList *lookups = NULL;
+static gboolean collecting_lookups = FALSE;
static GLogWriterOutput
log_writer (GLogLevelFlags log_level,
@@ -147,6 +148,9 @@ log_writer (GLogLevelFlags log_level,
const char *msg = NULL;
int i;
+ if (!collecting_lookups)
+ return g_log_writer_default (log_level, fields, n_fields, user_data);
+
for (i = 0; i < n_fields; i++)
{
if (strcmp (fields[i].key, "GLIB_DOMAIN") == 0)
@@ -177,22 +181,13 @@ assert_lookup_order (const char *icon_name,
const char *first,
...)
{
- guint debug_flags;
va_list args;
const char *s;
GtkIconPaintable *info;
GList *l;
-/* this hack is only usable in debug builds */
-#ifndef G_ENABLE_DEBUG
- g_assert_not_reached ();
-#endif
-
- debug_flags = gtk_get_debug_flags ();
- gtk_set_debug_flags (debug_flags | GTK_DEBUG_ICONTHEME);
- g_log_set_writer_func (log_writer, NULL, NULL);
-
g_assert_null (lookups);
+ collecting_lookups = TRUE;
if (fallbacks)
{
@@ -208,7 +203,9 @@ assert_lookup_order (const char *icon_name,
if (info)
g_object_unref (info);
-
+
+ collecting_lookups = FALSE;
+
va_start (args, first);
s = first;
l = lookups;
@@ -224,9 +221,6 @@ assert_lookup_order (const char *icon_name,
g_list_free_full (lookups, g_free);
lookups = NULL;
-
- g_log_set_writer_func (g_log_writer_default, NULL, NULL);
- gtk_set_debug_flags (debug_flags);
}
#ifdef G_ENABLE_DEBUG
@@ -237,128 +231,142 @@ assert_lookup_order (const char *icon_name,
return;
#endif
-
static void
-test_basics (void)
+test_lookup_order (void)
{
- /* just a basic boring lookup so we know everything works */
- assert_icon_lookup ("simple", 16, GTK_TEXT_DIR_NONE, 0, FALSE, "/icons/16x16/simple.png");
+ require_debug ();
+
+ if (g_test_subprocess ())
+ {
+ guint debug_flags;
+
+ debug_flags = gtk_get_debug_flags ();
+ gtk_set_debug_flags (debug_flags | GTK_DEBUG_ICONTHEME);
+
+ g_log_set_writer_func (log_writer, NULL, NULL);
+
+ assert_lookup_order ("foo-bar-baz", 16, GTK_TEXT_DIR_NONE, 0, TRUE,
+ "foo-bar-baz",
+ "foo-bar",
+ "foo",
+ "foo-bar-baz-symbolic",
+ "foo-bar-symbolic",
+ "foo-symbolic",
+ NULL);
+ assert_lookup_order ("foo-bar-baz", 16, GTK_TEXT_DIR_RTL, 0, TRUE,
+ "foo-bar-baz-rtl",
+ "foo-bar-baz",
+ "foo-bar-rtl",
+ "foo-bar",
+ "foo-rtl",
+ "foo",
+ "foo-bar-baz-symbolic-rtl",
+ "foo-bar-baz-symbolic",
+ "foo-bar-symbolic-rtl",
+ "foo-bar-symbolic",
+ "foo-symbolic-rtl",
+ "foo-symbolic",
+ NULL);
+ assert_lookup_order ("foo-bar-baz", 16, GTK_TEXT_DIR_RTL, 0, FALSE,
+ "foo-bar-baz-rtl",
+ "foo-bar-baz",
+ NULL);
+ assert_lookup_order ("foo-bar-baz-symbolic", 16, GTK_TEXT_DIR_NONE, 0, TRUE,
+ "foo-bar-baz-symbolic",
+ "foo-bar-symbolic",
+ "foo-symbolic",
+ "foo-bar-baz",
+ "foo-bar",
+ "foo",
+ NULL);
+
+ assert_lookup_order ("bla-bla", 16, GTK_TEXT_DIR_NONE, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
+ "bla-bla-symbolic",
+ "bla-symbolic",
+ "bla-bla-symbolic", /* awkward */
+ "bla-symbolic", /* awkward */
+ "bla-bla",
+ "bla",
+ NULL);
+ assert_lookup_order ("bla-bla-symbolic", 16, GTK_TEXT_DIR_NONE, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
+ "bla-bla-symbolic",
+ "bla-symbolic",
+ "bla-bla-symbolic", /* awkward */
+ "bla-symbolic", /* awkward */
+ "bla-bla",
+ "bla",
+ NULL);
+
+ assert_lookup_order ("bar-baz", 16, GTK_TEXT_DIR_RTL, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
+ "bar-baz-symbolic-rtl",
+ "bar-baz-symbolic",
+ "bar-symbolic-rtl",
+ "bar-symbolic",
+ "bar-baz-symbolic-rtl", /* awkward */
+ "bar-baz-symbolic", /* awkward */
+ "bar-symbolic-rtl", /* awkward */
+ "bar-symbolic", /* awkward */
+ "bar-baz-rtl",
+ "bar-baz",
+ "bar-rtl",
+ "bar",
+ NULL);
+ assert_lookup_order ("bar-baz-symbolic", 16, GTK_TEXT_DIR_RTL, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
+ "bar-baz-symbolic-rtl",
+ "bar-baz-symbolic",
+ "bar-symbolic-rtl",
+ "bar-symbolic",
+ "bar-baz-symbolic-rtl", /* awkward */
+ "bar-baz-symbolic", /* awkward */
+ "bar-symbolic-rtl", /* awkward */
+ "bar-symbolic", /* awkward */
+ "bar-baz-rtl",
+ "bar-baz",
+ "bar-rtl",
+ "bar",
+ NULL);
+
+ assert_lookup_order ("bar-baz", 16, GTK_TEXT_DIR_LTR, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
+ "bar-baz-symbolic-ltr",
+ "bar-baz-symbolic",
+ "bar-symbolic-ltr",
+ "bar-symbolic",
+ "bar-baz-symbolic-ltr", /* awkward */
+ "bar-baz-symbolic", /* awkward */
+ "bar-symbolic-ltr", /* awkward */
+ "bar-symbolic", /* awkward */
+ "bar-baz-ltr",
+ "bar-baz",
+ "bar-ltr",
+ "bar",
+ NULL);
+ assert_lookup_order ("bar-baz-symbolic", 16, GTK_TEXT_DIR_LTR, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
+ "bar-baz-symbolic-ltr",
+ "bar-baz-symbolic",
+ "bar-symbolic-ltr",
+ "bar-symbolic",
+ "bar-baz-symbolic-ltr", /* awkward */
+ "bar-baz-symbolic", /* awkward */
+ "bar-symbolic-ltr", /* awkward */
+ "bar-symbolic", /* awkward */
+ "bar-baz-ltr",
+ "bar-baz",
+ "bar-ltr",
+ "bar",
+ NULL);
+
+ return;
+ }
+
+ g_test_trap_subprocess (NULL, 0, 0);
+ g_test_trap_has_passed ();
}
static void
-test_lookup_order (void)
+test_basics (void)
{
- require_debug ();
-
- assert_lookup_order ("foo-bar-baz", 16, GTK_TEXT_DIR_NONE, 0, TRUE,
- "foo-bar-baz",
- "foo-bar",
- "foo",
- "foo-bar-baz-symbolic",
- "foo-bar-symbolic",
- "foo-symbolic",
- NULL);
- assert_lookup_order ("foo-bar-baz", 16, GTK_TEXT_DIR_RTL, 0, TRUE,
- "foo-bar-baz-rtl",
- "foo-bar-baz",
- "foo-bar-rtl",
- "foo-bar",
- "foo-rtl",
- "foo",
- "foo-bar-baz-symbolic-rtl",
- "foo-bar-baz-symbolic",
- "foo-bar-symbolic-rtl",
- "foo-bar-symbolic",
- "foo-symbolic-rtl",
- "foo-symbolic",
- NULL);
- assert_lookup_order ("foo-bar-baz", 16, GTK_TEXT_DIR_RTL, 0, FALSE,
- "foo-bar-baz-rtl",
- "foo-bar-baz",
- NULL);
- assert_lookup_order ("foo-bar-baz-symbolic", 16, GTK_TEXT_DIR_NONE, 0, TRUE,
- "foo-bar-baz-symbolic",
- "foo-bar-symbolic",
- "foo-symbolic",
- "foo-bar-baz",
- "foo-bar",
- "foo",
- NULL);
-
- assert_lookup_order ("bla-bla", 16, GTK_TEXT_DIR_NONE, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
- "bla-bla-symbolic",
- "bla-symbolic",
- "bla-bla-symbolic", /* awkward */
- "bla-symbolic", /* awkward */
- "bla-bla",
- "bla",
- NULL);
- assert_lookup_order ("bla-bla-symbolic", 16, GTK_TEXT_DIR_NONE, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
- "bla-bla-symbolic",
- "bla-symbolic",
- "bla-bla-symbolic", /* awkward */
- "bla-symbolic", /* awkward */
- "bla-bla",
- "bla",
- NULL);
-
- assert_lookup_order ("bar-baz", 16, GTK_TEXT_DIR_RTL, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
- "bar-baz-symbolic-rtl",
- "bar-baz-symbolic",
- "bar-symbolic-rtl",
- "bar-symbolic",
- "bar-baz-symbolic-rtl", /* awkward */
- "bar-baz-symbolic", /* awkward */
- "bar-symbolic-rtl", /* awkward */
- "bar-symbolic", /* awkward */
- "bar-baz-rtl",
- "bar-baz",
- "bar-rtl",
- "bar",
- NULL);
- assert_lookup_order ("bar-baz-symbolic", 16, GTK_TEXT_DIR_RTL, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
- "bar-baz-symbolic-rtl",
- "bar-baz-symbolic",
- "bar-symbolic-rtl",
- "bar-symbolic",
- "bar-baz-symbolic-rtl", /* awkward */
- "bar-baz-symbolic", /* awkward */
- "bar-symbolic-rtl", /* awkward */
- "bar-symbolic", /* awkward */
- "bar-baz-rtl",
- "bar-baz",
- "bar-rtl",
- "bar",
- NULL);
-
- assert_lookup_order ("bar-baz", 16, GTK_TEXT_DIR_LTR, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
- "bar-baz-symbolic-ltr",
- "bar-baz-symbolic",
- "bar-symbolic-ltr",
- "bar-symbolic",
- "bar-baz-symbolic-ltr", /* awkward */
- "bar-baz-symbolic", /* awkward */
- "bar-symbolic-ltr", /* awkward */
- "bar-symbolic", /* awkward */
- "bar-baz-ltr",
- "bar-baz",
- "bar-ltr",
- "bar",
- NULL);
- assert_lookup_order ("bar-baz-symbolic", 16, GTK_TEXT_DIR_LTR, GTK_ICON_LOOKUP_FORCE_SYMBOLIC, TRUE,
- "bar-baz-symbolic-ltr",
- "bar-baz-symbolic",
- "bar-symbolic-ltr",
- "bar-symbolic",
- "bar-baz-symbolic-ltr", /* awkward */
- "bar-baz-symbolic", /* awkward */
- "bar-symbolic-ltr", /* awkward */
- "bar-symbolic", /* awkward */
- "bar-baz-ltr",
- "bar-baz",
- "bar-ltr",
- "bar",
- NULL);
+ /* just a basic boring lookup so we know everything works */
+ assert_icon_lookup ("simple", 16, GTK_TEXT_DIR_NONE, 0, FALSE, "/icons/16x16/simple.png");
}
static void
@@ -804,7 +812,6 @@ main (int argc, char *argv[])
gtk_test_init (&argc, &argv);
g_test_add_func ("/icontheme/basics", test_basics);
- g_test_add_func ("/icontheme/lookup-order", test_lookup_order);
g_test_add_func ("/icontheme/generic-fallback", test_generic_fallback);
g_test_add_func ("/icontheme/force-symbolic", test_force_symbolic);
g_test_add_func ("/icontheme/force-regular", test_force_regular);
@@ -815,6 +822,7 @@ main (int argc, char *argv[])
g_test_add_func ("/icontheme/list", test_list);
g_test_add_func ("/icontheme/inherit", test_inherit);
g_test_add_func ("/icontheme/nonsquare-symbolic", test_nonsquare_symbolic);
+ g_test_add_func ("/icontheme/lookup-order", test_lookup_order);
return g_test_run();
}
diff --git a/testsuite/gtk/treestore.c b/testsuite/gtk/treestore.c
index 3b3e2ef043..556a616ac9 100644
--- a/testsuite/gtk/treestore.c
+++ b/testsuite/gtk/treestore.c
@@ -1049,30 +1049,26 @@ specific_bug_77977 (void)
g_object_unref (tree_store);
}
-static GLogWriterOutput
-log_writer_drop_warnings (GLogLevelFlags log_level,
- const GLogField *fields,
- gsize n_fields,
- gpointer user_data)
-{
- return G_LOG_WRITER_HANDLED;
-}
-
static void
specific_bug_698396 (void)
{
- GtkTreeStore *tree_store;
- int new_order[1] = { 0 };
-
/*http://bugzilla.gnome.org/show_bug.cgi?id=698396 */
- tree_store = gtk_tree_store_new (1, G_TYPE_STRING);
+ if (g_test_subprocess ())
+ {
+ GtkTreeStore *tree_store;
+ int new_order[1] = { 0 };
- g_log_set_writer_func (log_writer_drop_warnings, NULL, NULL);
- gtk_tree_store_reorder (tree_store, NULL, new_order);
- g_log_set_writer_func (g_log_writer_default, NULL, NULL);
+ tree_store = gtk_tree_store_new (1, G_TYPE_STRING);
+ gtk_tree_store_reorder (tree_store, NULL, new_order);
+ g_object_unref (tree_store);
- g_object_unref (tree_store);
+ return;
+ }
+
+ g_test_trap_subprocess (NULL, 0, 0);
+ g_test_trap_assert_stderr ("*Cannot reorder, parent has no children*");
+ g_test_trap_assert_failed ();
}
/* main */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]