static void
test_warnings (void)
{
- g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
- "*test_warnings*should not be reached*");
- g_warn_if_reached ();
- g_test_assert_expected_messages ();
-
- g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
- "*test_warnings*runtime check failed*");
- g_warn_if_fail (FALSE);
- g_test_assert_expected_messages ();
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
+ {
+ g_warn_if_reached ();
+ }
+ g_test_trap_assert_failed();
+ g_test_trap_assert_stderr ("*WARNING*test_warnings*should not be reached*");
+
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
+ {
+ g_warn_if_fail (FALSE);
+ }
+ g_test_trap_assert_failed();
+ g_test_trap_assert_stderr ("*WARNING*test_warnings*runtime check failed*");
}
static guint log_count = 0;
id = g_log_set_handler ("bu", G_LOG_LEVEL_INFO, log_handler, NULL);
- g_log ("bu", G_LOG_LEVEL_DEBUG, "message");
- g_log ("ba", G_LOG_LEVEL_DEBUG, "message");
- g_log ("bu", G_LOG_LEVEL_INFO, "message");
- g_log ("ba", G_LOG_LEVEL_INFO, "message");
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT))
+ {
+ g_log ("bu", G_LOG_LEVEL_DEBUG, "message");
+ g_log ("ba", G_LOG_LEVEL_DEBUG, "message");
+ g_log ("bu", G_LOG_LEVEL_INFO, "message");
+ g_log ("ba", G_LOG_LEVEL_INFO, "message");
- g_assert_cmpint (log_count, ==, 1);
+ g_assert_cmpint (log_count, ==, 1);
+ exit (0);
+ }
+ g_test_trap_assert_passed ();
g_log_remove_handler ("bu", id);
}
static void
-test_default_handler_error (void)
-{
- g_error ("message1");
- exit (0);
-}
-
-static void
-test_default_handler_critical (void)
-{
- g_critical ("message2");
- exit (0);
-}
-
-static void
-test_default_handler_warning (void)
-{
- g_warning ("message3");
- exit (0);
-}
-
-static void
-test_default_handler_message (void)
-{
- g_message ("message4");
- exit (0);
-}
-
-static void
-test_default_handler_info (void)
-{
- g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "message5");
- exit (0);
-}
-
-static void
-test_default_handler_bar_info (void)
-{
- g_setenv ("G_MESSAGES_DEBUG", "foo bar baz", TRUE);
-
- g_log ("bar", G_LOG_LEVEL_INFO, "message5");
- exit (0);
-}
-
-static void
-test_default_handler_baz_debug (void)
-{
- g_setenv ("G_MESSAGES_DEBUG", "foo bar baz", TRUE);
-
- g_log ("baz", G_LOG_LEVEL_DEBUG, "message6");
- exit (0);
-}
-
-static void
-test_default_handler_debug (void)
-{
- g_setenv ("G_MESSAGES_DEBUG", "all", TRUE);
-
- g_log ("foo", G_LOG_LEVEL_DEBUG, "6");
- g_log ("bar", G_LOG_LEVEL_DEBUG, "6");
- g_log ("baz", G_LOG_LEVEL_DEBUG, "6");
- exit (0);
-}
-
-static void
-test_default_handler_0x400 (void)
-{
- g_log (G_LOG_DOMAIN, 1<<10, "message7");
- exit (0);
-}
-
-static void
test_default_handler (void)
{
- g_test_trap_subprocess ("/logging/default-handler:error",
- 0, G_TEST_TRAP_SILENCE_STDERR);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
+ {
+ g_error ("message1");
+ exit (0);
+ }
g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*ERROR*message1*");
- g_test_trap_subprocess ("/logging/default-handler:critical",
- 0, G_TEST_TRAP_SILENCE_STDERR);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
+ {
+ g_critical ("message2");
+ exit (0);
+ }
g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*CRITICAL*message2*");
- g_test_trap_subprocess ("/logging/default-handler:warning",
- 0, G_TEST_TRAP_SILENCE_STDERR);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
+ {
+ g_warning ("message3");
+ exit (0);
+ }
g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*WARNING*message3*");
- g_test_trap_subprocess ("/logging/default-handler:message",
- 0, G_TEST_TRAP_SILENCE_STDERR);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
+ {
+ g_message ("message4");
+ exit (0);
+ }
g_test_trap_assert_passed ();
g_test_trap_assert_stderr ("*Message*message4*");
- g_test_trap_subprocess ("/logging/default-handler:info",
- 0, G_TEST_TRAP_SILENCE_STDOUT);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT))
+ {
+ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "message5");
+ exit (0);
+ }
g_test_trap_assert_passed ();
g_test_trap_assert_stdout_unmatched ("*INFO*message5*");
- g_test_trap_subprocess ("/logging/default-handler:bar-info",
- 0, G_TEST_TRAP_SILENCE_STDOUT);
+ g_setenv ("G_MESSAGES_DEBUG", "foo bar baz", TRUE);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT))
+ {
+ g_log ("bar", G_LOG_LEVEL_INFO, "message5");
+ exit (0);
+ }
g_test_trap_assert_passed ();
g_test_trap_assert_stdout ("*INFO*message5*");
- g_test_trap_subprocess ("/logging/default-handler:baz-debug",
- 0, G_TEST_TRAP_SILENCE_STDOUT);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT))
+ {
+ g_log ("baz", G_LOG_LEVEL_DEBUG, "message6");
+ exit (0);
+ }
g_test_trap_assert_passed ();
g_test_trap_assert_stdout ("*DEBUG*message6*");
- g_test_trap_subprocess ("/logging/default-handler:debug",
- 0, G_TEST_TRAP_SILENCE_STDOUT);
+ g_setenv ("G_MESSAGES_DEBUG", "all", TRUE);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT))
+ {
+ g_log ("foo", G_LOG_LEVEL_DEBUG, "6");
+ g_log ("bar", G_LOG_LEVEL_DEBUG, "6");
+ g_log ("baz", G_LOG_LEVEL_DEBUG, "6");
+ exit (0);
+ }
g_test_trap_assert_passed ();
g_test_trap_assert_stdout ("*DEBUG*6*6*6*");
- g_test_trap_subprocess ("/logging/default-handler:0x400",
- 0, G_TEST_TRAP_SILENCE_STDOUT);
+ g_unsetenv ("G_MESSAGES_DEBUG");
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT))
+ {
+ g_log (G_LOG_DOMAIN, 1<<10, "message7");
+ exit (0);
+ }
g_test_trap_assert_passed ();
g_test_trap_assert_stdout ("*LOG-0x400*message7*");
}
/* test that setting levels as fatal works */
static void
-test_fatal_log_mask_child (void)
-{
- g_log_set_fatal_mask ("bu", G_LOG_LEVEL_INFO);
- g_log ("bu", G_LOG_LEVEL_INFO, "fatal");
- exit (0);
-}
-
-static void
test_fatal_log_mask (void)
{
- g_test_trap_subprocess ("/logging/fatal-log-mask:child",
- 0, G_TEST_TRAP_SILENCE_STDOUT);
+ GLogLevelFlags flags;
+
+ flags = g_log_set_fatal_mask ("bu", G_LOG_LEVEL_INFO);
+ if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT))
+ g_log ("bu", G_LOG_LEVEL_INFO, "fatal");
g_test_trap_assert_failed ();
- /* G_LOG_LEVEL_INFO isn't printed by default */
- g_test_trap_assert_stdout_unmatched ("*fatal*");
+ g_log_set_fatal_mask ("bu", flags);
}
static gint my_print_count = 0;
g_test_bug_base ("http://bugzilla.gnome.org/");
g_test_add_func ("/logging/default-handler", test_default_handler);
- g_test_add_func ("/logging/default-handler:error", test_default_handler_error);
- g_test_add_func ("/logging/default-handler:critical", test_default_handler_critical);
- g_test_add_func ("/logging/default-handler:warning", test_default_handler_warning);
- g_test_add_func ("/logging/default-handler:message", test_default_handler_message);
- g_test_add_func ("/logging/default-handler:info", test_default_handler_info);
- g_test_add_func ("/logging/default-handler:bar-info", test_default_handler_bar_info);
- g_test_add_func ("/logging/default-handler:baz-debug", test_default_handler_baz_debug);
- g_test_add_func ("/logging/default-handler:debug", test_default_handler_debug);
- g_test_add_func ("/logging/default-handler:0x400", test_default_handler_0x400);
g_test_add_func ("/logging/warnings", test_warnings);
g_test_add_func ("/logging/fatal-log-mask", test_fatal_log_mask);
- g_test_add_func ("/logging/fatal-log-mask:child", test_fatal_log_mask_child);
g_test_add_func ("/logging/set-handler", test_set_handler);
g_test_add_func ("/logging/print-handler", test_print_handler);
g_test_add_func ("/logging/printerr-handler", test_printerr_handler);