testutils: Return number of bad tests from g_test_run_suite_internal()

In particular do not return a boolean disguised as an int.
This commit is contained in:
Benjamin Otte 2011-04-18 14:41:51 +02:00
parent 62e68ceec8
commit d259d50afd

View File

@ -1202,7 +1202,7 @@ static int
g_test_run_suite_internal (GTestSuite *suite, g_test_run_suite_internal (GTestSuite *suite,
const char *path) const char *path)
{ {
guint n_bad = 0, bad_suite = 0, l; guint n_bad = 0, l;
gchar *rest, *old_name = test_run_name; gchar *rest, *old_name = test_run_name;
GSList *slist, *reversed; GSList *slist, *reversed;
g_return_val_if_fail (suite != NULL, -1); g_return_val_if_fail (suite != NULL, -1);
@ -1230,12 +1230,12 @@ g_test_run_suite_internal (GTestSuite *suite,
GTestSuite *ts = slist->data; GTestSuite *ts = slist->data;
guint n = l ? strlen (ts->name) : 0; guint n = l ? strlen (ts->name) : 0;
if (l == n && strncmp (path, ts->name, n) == 0) if (l == n && strncmp (path, ts->name, n) == 0)
bad_suite += g_test_run_suite_internal (ts, rest ? rest : "") != 0; n_bad += g_test_run_suite_internal (ts, rest ? rest : "");
} }
g_slist_free (reversed); g_slist_free (reversed);
g_free (test_run_name); g_free (test_run_name);
test_run_name = old_name; test_run_name = old_name;
return n_bad || bad_suite; return n_bad;
} }
/** /**
@ -1271,7 +1271,7 @@ g_test_run_suite (GTestSuite *suite)
path++; path++;
if (!n) /* root suite, run unconditionally */ if (!n) /* root suite, run unconditionally */
{ {
n_bad += 0 != g_test_run_suite_internal (suite, path); n_bad += g_test_run_suite_internal (suite, path);
continue; continue;
} }
/* regular suite, match path */ /* regular suite, match path */
@ -1279,7 +1279,7 @@ g_test_run_suite (GTestSuite *suite)
l = strlen (path); l = strlen (path);
l = rest ? MIN (l, rest - path) : l; l = rest ? MIN (l, rest - path) : l;
if ((!l || l == n) && strncmp (path, suite->name, n) == 0) if ((!l || l == n) && strncmp (path, suite->name, n) == 0)
n_bad += 0 != g_test_run_suite_internal (suite, rest ? rest : ""); n_bad += g_test_run_suite_internal (suite, rest ? rest : "");
} }
return n_bad; return n_bad;
} }