diff --git a/glib/gtester.c b/glib/gtester.c index 38a7f9610..9451aea56 100644 --- a/glib/gtester.c +++ b/glib/gtester.c @@ -102,21 +102,37 @@ testcase_close (long double duration, gint exit_status, guint n_forks) { + gboolean success; + g_return_if_fail (testcase_open > 0); test_log_printfe ("%s%.6Lf\n", sindent (log_indent), duration); + success = exit_status == G_TEST_RUN_SUCCESS || exit_status == G_TEST_RUN_SKIPPED; test_log_printfe ("%s\n", sindent (log_indent), exit_status, n_forks, - exit_status ? "failed" : "success"); + success ? "failed" : "success"); log_indent -= 2; test_log_printfe ("%s\n", sindent (log_indent)); testcase_open--; if (gtester_verbose) - g_print ("%s\n", exit_status ? "FAIL" : "OK"); - if (exit_status && subtest_last_seed) + { + switch (exit_status) + { + case G_TEST_RUN_SUCCESS: + g_print ("OK\n"); + break; + case G_TEST_RUN_SKIPPED: + g_print ("SKIP\n"); + break; + default: + g_print ("FAIL\n"); + break; + } + } + if (!success && subtest_last_seed) g_print ("GTester: last random seed: %s\n", subtest_last_seed); - if (exit_status) + if (!success) testcase_fail_count += 1; - if (subtest_mode_fatal && exit_status) + if (subtest_mode_fatal && !success) terminate(); } diff --git a/glib/gtestutils.c b/glib/gtestutils.c index 52a216f05..a9c7a424b 100644 --- a/glib/gtestutils.c +++ b/glib/gtestutils.c @@ -663,12 +663,6 @@ static void gtest_default_log_handler (const gchar *log_domain, gpointer unused_data); -typedef enum { - G_TEST_RUN_SUCCESS, - G_TEST_RUN_SKIPPED, - G_TEST_RUN_FAILURE, - G_TEST_RUN_INCOMPLETE -} GTestResult; static const char * const g_test_result_names[] = { "OK", "SKIP", diff --git a/glib/gtestutils.h b/glib/gtestutils.h index 2a9cd22ca..ae74aba1d 100644 --- a/glib/gtestutils.h +++ b/glib/gtestutils.h @@ -353,6 +353,13 @@ typedef struct { GLIB_VAR const GTestConfig * const g_test_config_vars; /* internal logging API */ +typedef enum { + G_TEST_RUN_SUCCESS, + G_TEST_RUN_SKIPPED, + G_TEST_RUN_FAILURE, + G_TEST_RUN_INCOMPLETE +} GTestResult; + typedef enum { G_TEST_LOG_NONE, G_TEST_LOG_ERROR, /* s:msg */