From f869e4d54bafba9209e5d316e2124c721f7c0568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Fri, 17 May 2019 17:35:30 -0500 Subject: [PATCH] headless-start-test: Ignore frame counter warnings When running in slow or busy machines (hey CI!) or under valgrind headless tests could fail because of a non fatal warning during initialization. So define a fatal handler that ignores the frame counter warning. https://gitlab.gnome.org/GNOME/mutter/merge_requests/581 --- src/tests/headless-start-test.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/tests/headless-start-test.c b/src/tests/headless-start-test.c index d21c73458..172a16544 100644 --- a/src/tests/headless-start-test.c +++ b/src/tests/headless-start-test.c @@ -32,6 +32,7 @@ #include "wayland/meta-wayland.h" #define ALL_TRANSFORMS ((1 << (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)) - 1) +#define FRAME_WARNING "Frame has assigned frame counter but no frame drawn time" static gboolean run_tests (gpointer data) @@ -40,6 +41,8 @@ run_tests (gpointer data) MetaSettings *settings = meta_backend_get_settings (backend); gboolean ret; + g_test_log_set_fatal_handler (NULL, NULL); + meta_settings_override_experimental_features (settings); meta_settings_enable_experimental_feature ( @@ -53,6 +56,20 @@ run_tests (gpointer data) return FALSE; } +static gboolean +ignore_frame_counter_warning (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer user_data) +{ + if ((log_level & G_LOG_LEVEL_WARNING) && + g_strcmp0 (log_domain, "mutter") == 0 && + g_str_has_suffix (message, FRAME_WARNING)) + return FALSE; + + return TRUE; +} + static void meta_test_headless_start (void) { @@ -193,6 +210,8 @@ main (int argc, char *argv[]) meta_init (); meta_register_with_session (); + g_test_log_set_fatal_handler (ignore_frame_counter_warning, NULL); + g_idle_add (run_tests, NULL); return meta_run ();