gtestutils: skipping a test should count as success, not failure
authorDan Winship <danw@gnome.org>
Wed, 11 Dec 2013 15:32:11 +0000 (16:32 +0100)
committerDan Winship <danw@gnome.org>
Wed, 18 Dec 2013 14:26:54 +0000 (09:26 -0500)
In particular, the test program as a whole should exit with status 0
if you skipped some tests but did not fail any.

https://bugzilla.gnome.org/show_bug.cgi?id=720263

glib/gtestutils.c
glib/tests/testing.c

index bc7bbcf..c8a601c 100644 (file)
@@ -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
index 20c2e79..189223a 100644 (file)
@@ -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();
 }