dovecot-2.0: unit testing: Added support for doing test_init/run...

dovecot at dovecot.org dovecot at dovecot.org
Tue Jun 30 05:04:31 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/ff4e33e22764
changeset: 9555:ff4e33e22764
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Jun 29 21:55:38 2009 -0400
description:
unit testing: Added support for doing test_init/run/deinit in separate functions.

diffstat:

2 files changed, 13 insertions(+), 4 deletions(-)
src/lib-test/test-common.c |   13 +++++++++----
src/lib-test/test-common.h |    4 ++++

diffs (55 lines):

diff -r 49f736dce881 -r ff4e33e22764 src/lib-test/test-common.c
--- a/src/lib-test/test-common.c	Mon Jun 29 21:54:16 2009 -0400
+++ b/src/lib-test/test-common.c	Mon Jun 29 21:55:38 2009 -0400
@@ -168,7 +168,7 @@ void test_out_reason(const char *name, b
 	total_count++;
 }
 
-static void test_init(void)
+void test_init(void)
 {
 	test_prefix = NULL;
 	failure_count = 0;
@@ -177,22 +177,27 @@ static void test_init(void)
 	lib_init();
 }
 
-static int test_deinit(void)
+int test_deinit(void)
 {
 	i_assert(test_prefix == NULL);
 	printf("%u / %u tests failed\n", failure_count, total_count);
 	return failure_count == 0 ? 0 : 1;
 }
 
-int test_run(void (*test_functions[])(void))
+void test_run_funcs(void (*test_functions[])(void))
 {
 	unsigned int i;
 
-	test_init();
 	for (i = 0; test_functions[i] != NULL; i++) {
 		T_BEGIN {
 			test_functions[i]();
 		} T_END;
 	}
+}
+
+int test_run(void (*test_functions[])(void))
+{
+	test_init();
+	test_run_funcs(test_functions);
 	return test_deinit();
 }
diff -r 49f736dce881 -r ff4e33e22764 src/lib-test/test-common.h
--- a/src/lib-test/test-common.h	Mon Jun 29 21:54:16 2009 -0400
+++ b/src/lib-test/test-common.h	Mon Jun 29 21:55:38 2009 -0400
@@ -17,4 +17,8 @@ void test_out_reason(const char *name, b
 
 int test_run(void (*test_functions[])(void));
 
+void test_init(void);
+int test_deinit(void);
+void test_run_funcs(void (*test_functions[])(void));
+
 #endif


More information about the dovecot-cvs mailing list