diff options
author | Vicent Marti <tanoku@gmail.com> | 2011-03-03 18:19:05 +0200 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2011-03-03 20:23:52 +0200 |
commit | 3dccfed16382c64370dd0fd88668c9d9accae6ed (patch) | |
tree | 21406b78ecda452244d9ceb64e5ac9ea8337ffd9 /tests/test_main.c | |
parent | 8fc050961c6f5d3bc8f2bc27799922bebae4b743 (diff) | |
download | libgit2-3dccfed16382c64370dd0fd88668c9d9accae6ed.tar.gz |
Cleanup the testing toolkit
Tests are now declared with detailed descriptions and a short test name:
BEGIN_TEST(the_test0, "this is an example test that does something")
...
END_TEST
Modules are declared through a simple macro interface:
BEGIN_MODULE(mod_name)
ADD_TEST(the_test0);
...
END_MODULE
Error messages when tests fail have been greatly improved.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Diffstat (limited to 'tests/test_main.c')
-rw-r--r-- | tests/test_main.c | 86 |
1 files changed, 27 insertions, 59 deletions
diff --git a/tests/test_main.c b/tests/test_main.c index 01e7d5123..9308b8d45 100644 --- a/tests/test_main.c +++ b/tests/test_main.c @@ -29,81 +29,49 @@ #include "test_lib.h" #include "test_helpers.h" -extern git_testsuite *libgit2_suite_core(void); -extern git_testsuite *libgit2_suite_rawobjects(void); -extern git_testsuite *libgit2_suite_objread(void); -extern git_testsuite *libgit2_suite_objwrite(void); -extern git_testsuite *libgit2_suite_commit(void); -extern git_testsuite *libgit2_suite_revwalk(void); -extern git_testsuite *libgit2_suite_index(void); -extern git_testsuite *libgit2_suite_hashtable(void); -extern git_testsuite *libgit2_suite_tag(void); -extern git_testsuite *libgit2_suite_tree(void); -extern git_testsuite *libgit2_suite_refs(void); -extern git_testsuite *libgit2_suite_sqlite(void); -extern git_testsuite *libgit2_suite_repository(void); - -typedef git_testsuite *(*libgit2_suite)(void); +DECLARE_SUITE(core); +DECLARE_SUITE(rawobjects); +DECLARE_SUITE(objread); +DECLARE_SUITE(objwrite); +DECLARE_SUITE(commit); +DECLARE_SUITE(revwalk); +DECLARE_SUITE(index); +DECLARE_SUITE(hashtable); +DECLARE_SUITE(tag); +DECLARE_SUITE(tree); +DECLARE_SUITE(refs); +DECLARE_SUITE(sqlite); +DECLARE_SUITE(repository); static libgit2_suite suite_methods[]= { - libgit2_suite_core, - libgit2_suite_rawobjects, - libgit2_suite_objread, - libgit2_suite_objwrite, - libgit2_suite_commit, - libgit2_suite_revwalk, - libgit2_suite_index, - libgit2_suite_hashtable, - libgit2_suite_tag, - libgit2_suite_tree, - libgit2_suite_refs, - libgit2_suite_sqlite, - libgit2_suite_repository, + SUITE_NAME(core), + SUITE_NAME(rawobjects), + SUITE_NAME(objread), + SUITE_NAME(objwrite), + SUITE_NAME(commit), + SUITE_NAME(revwalk), + SUITE_NAME(index), + SUITE_NAME(hashtable), + SUITE_NAME(tag), + SUITE_NAME(tree), + SUITE_NAME(refs), + SUITE_NAME(sqlite), + SUITE_NAME(repository), }; #define GIT_SUITE_COUNT (ARRAY_SIZE(suite_methods)) - -git_testsuite **libgit2_get_suites() -{ - git_testsuite **suites; - unsigned int i; - - suites = git__malloc(GIT_SUITE_COUNT * sizeof(void *)); - if (suites == NULL) - return NULL; - - for (i = 0; i < GIT_SUITE_COUNT; ++i) - suites[i] = suite_methods[i](); - - return suites; -} - -void libgit2_free_suites(git_testsuite **suites) -{ - unsigned int i; - - for (i = 0; i < GIT_SUITE_COUNT; ++i) - git_testsuite_free(suites[i]); - - free(suites); -} - int main(int GIT_UNUSED(argc), char *GIT_UNUSED(argv[])) { unsigned int i, failures; - git_testsuite **suites; GIT_UNUSED_ARG(argc); GIT_UNUSED_ARG(argv); - suites = libgit2_get_suites(); failures = 0; for (i = 0; i < GIT_SUITE_COUNT; ++i) - failures += git_testsuite_run(suites[i]); - - libgit2_free_suites(suites); + failures += git_testsuite_run(suite_methods[i]()); return failures ? -1 : 0; } |