diff --git a/t/libsysdb_test.c b/t/libsysdb_test.c
index 79ba4218d284e1a7fde38e54125c8302ed287206..2351f19a600687b6aea0ed632d9b0fd55969c939 100644 (file)
--- a/t/libsysdb_test.c
+++ b/t/libsysdb_test.c
#include "libsysdb_test.h"
+typedef Suite *(*suite_creator)(void);
+
int
main(void)
{
int failed = 0;
-
- SRunner *sr;
- Suite *s;
-
- /* t/utils/llist_test */
- s = util_llist_suite();
- sr = srunner_create(s);
- srunner_run_all(sr, CK_NORMAL);
- failed += srunner_ntests_failed(sr);
- srunner_free(sr);
-
- /* t/utils/dbi_test */
- s = util_dbi_suite();
- sr = srunner_create(s);
- srunner_run_all(sr, CK_NORMAL);
- failed += srunner_ntests_failed(sr);
- srunner_free(sr);
+ size_t i;
+
+ suite_creator creators[] = {
+ util_llist_suite,
+ util_dbi_suite,
+ };
+
+ for (i = 0; i < SDB_STATIC_ARRAY_LEN(creators); ++i) {
+ SRunner *sr;
+ Suite *s;
+
+ s = creators[i]();
+ sr = srunner_create(s);
+ srunner_run_all(sr, CK_NORMAL);
+ failed += srunner_ntests_failed(sr);
+ srunner_free(sr);
+ }
return failed;
} /* main */