From a7dc2ea272883ff3aa467b276a9160947399fa7f Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Tue, 20 Nov 2007 15:00:43 +0000 Subject: [PATCH] gtestframework.c: fixed testpath matches for automatic root suite. svn path=/trunk/; revision=5896 --- glib/gtestframework.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/glib/gtestframework.c b/glib/gtestframework.c index 34ebc70e3..30e70ddac 100644 --- a/glib/gtestframework.c +++ b/glib/gtestframework.c @@ -677,15 +677,20 @@ g_test_run_suite (GTestSuite *suite) while (test_paths) { const char *rest, *path = test_paths->data; - guint l, n; + guint l, n = strlen (suite->name); test_paths = g_slist_delete_link (test_paths, test_paths); while (path[0] == '/') path++; + if (!n) /* root suite, run unconditionally */ + { + n_bad += 0 != g_test_run_suite_internal (suite, path); + continue; + } + /* regular suite, match path */ rest = strchr (path, '/'); l = strlen (path); l = rest ? MIN (l, rest - path) : l; - n = l ? strlen (suite->name) : 0; - if (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 : ""); } return n_bad;