tests/logging, testing: Add more tests for cases enforcing gmessages on stderr

This commit is contained in:
Marco Trevisan (Treviño) 2023-01-12 18:48:30 +01:00
parent 2547675af9
commit e0685a28ec
2 changed files with 104 additions and 1 deletions

View File

@ -61,16 +61,45 @@ test_default_handler_error (void)
} }
static void static void
test_default_handler_critical (void) test_default_handler_error_stderr (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL);
g_error ("message1");
exit (0);
}
static void
test_default_handler_critical_stderr (void)
{
g_log_writer_default_set_use_stderr (TRUE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_critical ("message2"); g_critical ("message2");
exit (0); exit (0);
} }
static void
test_default_handler_critical (void)
{
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL);
g_critical ("message2");
exit (0);
}
static void
test_default_handler_warning_stderr (void)
{
g_log_writer_default_set_use_stderr (TRUE);
g_log_set_default_handler (g_log_default_handler, NULL);
g_warning ("message3");
exit (0);
}
static void static void
test_default_handler_warning (void) test_default_handler_warning (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_warning ("message3"); g_warning ("message3");
exit (0); exit (0);
@ -79,6 +108,16 @@ test_default_handler_warning (void)
static void static void
test_default_handler_message (void) test_default_handler_message (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL);
g_message ("message4");
exit (0);
}
static void
test_default_handler_message_stderr (void)
{
g_log_writer_default_set_use_stderr (TRUE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_message ("message4"); g_message ("message4");
exit (0); exit (0);
@ -87,6 +126,16 @@ test_default_handler_message (void)
static void static void
test_default_handler_info (void) test_default_handler_info (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL);
g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "message5");
exit (0);
}
static void
test_default_handler_info_stderr (void)
{
g_log_writer_default_set_use_stderr (TRUE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "message5"); g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "message5");
exit (0); exit (0);
@ -95,6 +144,7 @@ test_default_handler_info (void)
static void static void
test_default_handler_bar_info (void) test_default_handler_bar_info (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_setenv ("G_MESSAGES_DEBUG", "foo bar baz", TRUE); g_setenv ("G_MESSAGES_DEBUG", "foo bar baz", TRUE);
@ -106,6 +156,7 @@ test_default_handler_bar_info (void)
static void static void
test_default_handler_baz_debug (void) test_default_handler_baz_debug (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_setenv ("G_MESSAGES_DEBUG", "foo bar baz", TRUE); g_setenv ("G_MESSAGES_DEBUG", "foo bar baz", TRUE);
@ -117,6 +168,7 @@ test_default_handler_baz_debug (void)
static void static void
test_default_handler_debug (void) test_default_handler_debug (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_setenv ("G_MESSAGES_DEBUG", "all", TRUE); g_setenv ("G_MESSAGES_DEBUG", "all", TRUE);
@ -192,6 +244,7 @@ test_default_handler_would_drop (void)
static void static void
test_default_handler_0x400 (void) test_default_handler_0x400 (void)
{ {
g_log_writer_default_set_use_stderr (FALSE);
g_log_set_default_handler (g_log_default_handler, NULL); g_log_set_default_handler (g_log_default_handler, NULL);
g_log (G_LOG_DOMAIN, 1<<10, "message7"); g_log (G_LOG_DOMAIN, 1<<10, "message7");
exit (0); exit (0);
@ -205,26 +258,51 @@ test_default_handler (void)
g_test_trap_assert_failed (); g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*ERROR*message1*"); g_test_trap_assert_stderr ("*ERROR*message1*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/error-stderr", 0,
G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*ERROR*message1*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/critical", 0, g_test_trap_subprocess ("/logging/default-handler/subprocess/critical", 0,
G_TEST_SUBPROCESS_DEFAULT); G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_failed (); g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*CRITICAL*message2*"); g_test_trap_assert_stderr ("*CRITICAL*message2*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/critical-stderr", 0,
G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*CRITICAL*message2*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/warning", 0, g_test_trap_subprocess ("/logging/default-handler/subprocess/warning", 0,
G_TEST_SUBPROCESS_DEFAULT); G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_failed (); g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*WARNING*message3*"); g_test_trap_assert_stderr ("*WARNING*message3*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/warning-stderr", 0,
G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_failed ();
g_test_trap_assert_stderr ("*WARNING*message3*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/message", 0, g_test_trap_subprocess ("/logging/default-handler/subprocess/message", 0,
G_TEST_SUBPROCESS_DEFAULT); G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_passed (); g_test_trap_assert_passed ();
g_test_trap_assert_stderr ("*Message*message4*"); g_test_trap_assert_stderr ("*Message*message4*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/message-stderr", 0,
G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_passed ();
g_test_trap_assert_stderr ("*Message*message4*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/info", 0, g_test_trap_subprocess ("/logging/default-handler/subprocess/info", 0,
G_TEST_SUBPROCESS_DEFAULT); G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_passed (); g_test_trap_assert_passed ();
g_test_trap_assert_stdout_unmatched ("*INFO*message5*"); g_test_trap_assert_stdout_unmatched ("*INFO*message5*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/info-stderr", 0,
G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_passed ();
g_test_trap_assert_stderr_unmatched ("*INFO*message5*");
g_test_trap_subprocess ("/logging/default-handler/subprocess/bar-info", 0, g_test_trap_subprocess ("/logging/default-handler/subprocess/bar-info", 0,
G_TEST_SUBPROCESS_DEFAULT); G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_passed (); g_test_trap_assert_passed ();
@ -746,10 +824,15 @@ main (int argc, char *argv[])
g_test_add_func ("/logging/default-handler", test_default_handler); g_test_add_func ("/logging/default-handler", test_default_handler);
g_test_add_func ("/logging/default-handler/subprocess/error", test_default_handler_error); g_test_add_func ("/logging/default-handler/subprocess/error", test_default_handler_error);
g_test_add_func ("/logging/default-handler/subprocess/error-stderr", test_default_handler_error_stderr);
g_test_add_func ("/logging/default-handler/subprocess/critical", test_default_handler_critical); g_test_add_func ("/logging/default-handler/subprocess/critical", test_default_handler_critical);
g_test_add_func ("/logging/default-handler/subprocess/critical-stderr", test_default_handler_critical_stderr);
g_test_add_func ("/logging/default-handler/subprocess/warning", test_default_handler_warning); g_test_add_func ("/logging/default-handler/subprocess/warning", test_default_handler_warning);
g_test_add_func ("/logging/default-handler/subprocess/warning-stderr", test_default_handler_warning_stderr);
g_test_add_func ("/logging/default-handler/subprocess/message", test_default_handler_message); g_test_add_func ("/logging/default-handler/subprocess/message", test_default_handler_message);
g_test_add_func ("/logging/default-handler/subprocess/message-stderr", test_default_handler_message_stderr);
g_test_add_func ("/logging/default-handler/subprocess/info", test_default_handler_info); g_test_add_func ("/logging/default-handler/subprocess/info", test_default_handler_info);
g_test_add_func ("/logging/default-handler/subprocess/info-stderr", test_default_handler_info_stderr);
g_test_add_func ("/logging/default-handler/subprocess/bar-info", test_default_handler_bar_info); g_test_add_func ("/logging/default-handler/subprocess/bar-info", test_default_handler_bar_info);
g_test_add_func ("/logging/default-handler/subprocess/baz-debug", test_default_handler_baz_debug); g_test_add_func ("/logging/default-handler/subprocess/baz-debug", test_default_handler_baz_debug);
g_test_add_func ("/logging/default-handler/subprocess/debug", test_default_handler_debug); g_test_add_func ("/logging/default-handler/subprocess/debug", test_default_handler_debug);

View File

@ -673,6 +673,23 @@ test_expected_messages (void)
g_test_trap_assert_stderr ("*GLib:ERROR*Did not see expected message testing-CRITICAL*nope*"); g_test_trap_assert_stderr ("*GLib:ERROR*Did not see expected message testing-CRITICAL*nope*");
} }
static void
test_messages (void)
{
g_test_trap_subprocess ("/misc/messages/subprocess/use-stderr", 0,
G_TEST_SUBPROCESS_DEFAULT);
g_test_trap_assert_stderr ("*message is in stderr*");
g_test_trap_assert_stderr ("*warning is in stderr*");
g_test_trap_has_passed ();
}
static void
test_messages_use_stderr (void)
{
g_message ("message is in stderr");
g_warning ("warning is in stderr");
}
static void static void
test_expected_messages_debug (void) test_expected_messages_debug (void)
{ {
@ -2514,6 +2531,9 @@ main (int argc,
g_test_add_func ("/misc/expected-messages/expect-error", test_expected_messages_expect_error); g_test_add_func ("/misc/expected-messages/expect-error", test_expected_messages_expect_error);
g_test_add_func ("/misc/expected-messages/skip-debug", test_expected_messages_debug); g_test_add_func ("/misc/expected-messages/skip-debug", test_expected_messages_debug);
g_test_add_func ("/misc/messages", test_messages);
g_test_add_func ("/misc/messages/subprocess/use-stderr", test_messages_use_stderr);
g_test_add_func ("/misc/dash-p", test_dash_p); g_test_add_func ("/misc/dash-p", test_dash_p);
g_test_add_func ("/misc/dash-p/child", test_dash_p_child); g_test_add_func ("/misc/dash-p/child", test_dash_p_child);
g_test_add_func ("/misc/dash-p/child/sub", test_dash_p_child_sub); g_test_add_func ("/misc/dash-p/child/sub", test_dash_p_child_sub);