SOFIA_BEGIN_DECLS
#undef tcase_add_test
+#undef tcase_add_loop_test
+
/* Redirect tcase_add_test() to our function */
-#define tcase_add_test(tc, tf) s2_tcase_add_test(tc, tf, "" #tf "")
+#define tcase_add_test(tc, tf) s2_tcase_add_test(tc, tf, "" #tf "", 0, 0, 1)
+
+void s2_tcase_add_test(TCase *, TFun, char const *name,
+ int signo, int start, int end);
-void s2_tcase_add_test(TCase *, TFun, char const *name);
+#define tcase_add_loop_test(tc, tf, s, e) \
+ s2_tcase_add_test(tc, tf, "" #tf "", 0, (s), (e))
void s2_select_tests(char const *pattern);
* A special version of tcase_add_test() that inserts test function into
* tcase only if its name matches given pattern.
*/
-void s2_tcase_add_test(TCase *tc, TFun tf, char const *name)
+void s2_tcase_add_test(TCase *tc, TFun tf, char const *name,
+ int signo, int start, int end)
{
char const * const *patterns;
for (patterns = test_patterns; *patterns; patterns++) {
if (!fnmatch(*patterns, name, 0)) {
if (strcmp(*patterns, "*")) {
- printf("%s: running\n", name);
+ printf("%s: selected\n", name);
}
- _tcase_add_test(tc, tf, name, 0, 0, 1);
+ _tcase_add_test(tc, tf, name, signo, start, end);
return;
}
}
for (patterns = test_patterns; *patterns; patterns++) {
if (!strcmp(*patterns, name) || !strcmp(*patterns, "*")) {
if (strcmp(*patterns, "*")) {
- printf("%s: running\n", name);
+ printf("%s: selected\n", name);
}
- _tcase_add_test(tc, tf, name, 0, 0, 1);
+ _tcase_add_test(tc, tf, name, signo, start, end);
return;
}
}