changeset 676:684f9e0e0c96

Clean termination of tests when possible
author Sebastien Decugis <sdecugis@nict.go.jp>
date Tue, 18 Jan 2011 10:11:52 +0900
parents 93fd1b31bb31
children fdce8d4575b7
files tests/testloadext.c tests/tests.h
diffstat 2 files changed, 10 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/tests/testloadext.c	Mon Jan 17 18:26:45 2011 +0900
+++ b/tests/testloadext.c	Tue Jan 18 10:11:52 2011 +0900
@@ -59,11 +59,10 @@
 	CHECK( 0, fd_rtdisp_init()  );
 	
 	/* Find all extensions which have been compiled along the test */
-	if (test_verbo > 0) {
-		printf("Loading from: '%s'\n", BUILD_DIR "/extensions");
-	}
+	TRACE_DEBUG(INFO, "Loading from: '%s'\n", BUILD_DIR "/extensions");
 	CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 );
 	pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
+	
 	while ((dp = readdir (dir)) != NULL) {
 		char * dot = strrchr(dp->d_name, '.');
 		if (dot && !(strcmp(dot, ".fdx"))) {
@@ -72,28 +71,26 @@
 			int r;
 			snprintf(fullname + pathlen, sizeof(fullname) - pathlen, "%s", dp->d_name);
 			
-			if (test_verbo > 0) {
-				printf("Extension: '%s'\n", dp->d_name);
-			}
+			TRACE_DEBUG(INFO, "Extension: '%s'\n", dp->d_name);
 			
 			/* load */
 			hdl = dlopen(fullname, RTLD_NOW | RTLD_GLOBAL);
 			if (!hdl) {
-				printf("Unable to load '%s': %s.\n", fullname, dlerror());
+				TRACE_DEBUG(INFO, "Unable to load '%s': %s.\n", fullname, dlerror());
 			}
 			CHECK( 0, hdl == NULL ? 1 : 0 );
 			
 			/* resolve entry */
 			ep = dlsym( hdl, "fd_ext_init" );
 			if (!ep) {
-				printf("No 'fd_ext_init' entry point in '%s': %s.\n", fullname, dlerror());
+				TRACE_DEBUG(INFO, "No 'fd_ext_init' entry point in '%s': %s.\n", fullname, dlerror());
 			}
 			CHECK( 0, ep == NULL ? 1 : 0 );
 			
 			/* Done, now unload */
 			r = dlclose(hdl);
 			if (r) {
-				printf("Unable to dlclose '%s': %s.\n", fullname, dlerror());
+				TRACE_DEBUG(INFO, "Unable to dlclose '%s': %s.\n", fullname, dlerror());
 			}
 			CHECK( 0, r );
 		}
--- a/tests/tests.h	Mon Jan 17 18:26:45 2011 +0900
+++ b/tests/tests.h	Tue Jan 18 10:11:52 2011 +0900
@@ -67,6 +67,8 @@
 #define FAILTEST( message... ){				\
 	fprintf(stderr, ## message);			\
 	TRACE_DEBUG(INFO, "Test failed");		\
+	(void)fd_core_shutdown();			\
+	(void)fd_core_wait_shutdown_complete();		\
 	exit(FAIL);					\
 }
 
@@ -74,6 +76,8 @@
 #define PASSTEST( ){					\
 	fprintf(stderr, "Test %s passed\n", __FILE__);	\
 	TRACE_DEBUG(INFO, "Test passed");		\
+	(void)fd_core_shutdown();			\
+	(void)fd_core_wait_shutdown_complete();		\
 	exit(PASS);					\
 }
 
"Welcome to our mercurial repository"