diff --git a/glib/gtestutils.c b/glib/gtestutils.c index bc7bbcf77..c8a601c27 100644 --- a/glib/gtestutils.c +++ b/glib/gtestutils.c @@ -2117,7 +2117,8 @@ test_case_run (GTestCase *tc) g_free (test_uri_base); test_uri_base = old_base; - return success == G_TEST_RUN_SUCCESS; + return (success == G_TEST_RUN_SUCCESS || + success == G_TEST_RUN_SKIPPED); } static int diff --git a/glib/tests/testing.c b/glib/tests/testing.c index 20c2e7994..189223a04 100644 --- a/glib/tests/testing.c +++ b/glib/tests/testing.c @@ -575,6 +575,12 @@ test_nonfatal (void) g_test_trap_assert_stdout ("*The End*"); } +static void +test_skip (void) +{ + g_test_skip ("Skipped should count as passed, not failed"); +} + int main (int argc, char *argv[]) @@ -633,5 +639,7 @@ main (int argc, g_test_add_func ("/misc/nonfatal", test_nonfatal); + g_test_add_func ("/misc/skip", test_skip); + return g_test_run(); }