]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11442 [core] allow multiple test modules to be loaded in the same test program.
authorChris Rienzo <chris@signalwire.com>
Tue, 9 Oct 2018 21:35:28 +0000 (21:35 +0000)
committerChris Rienzo <chris@signalwire.com>
Thu, 20 Dec 2018 15:17:39 +0000 (10:17 -0500)
src/include/test/switch_test.h

index fa9c48f48afb3373de53b7cb0015cb1eedced15a..ec44e97d0c394c8707abd2d2a8b58eece1a7e70e 100644 (file)
@@ -212,17 +212,24 @@ static void fst_session_park(switch_core_session_t *session)
  * @param suite the name of this test suite
  */
 #define FST_MODULE_BEGIN(modname,suite) \
-       const char *fst_test_module = #modname; \
-       if (!zstr(fst_test_module)) { \
-               const char *err; \
-               switch_loadable_module_load_module((char *)"../.libs", (char *)fst_test_module, SWITCH_FALSE, &err); \
-       } \
-       FCT_FIXTURE_SUITE_BGN(suite)
+       { \
+               const char *fst_test_module = #modname; \
+               if (!zstr(fst_test_module)) { \
+                       const char *err; \
+                       switch_loadable_module_load_module((char *)"../.libs", (char *)fst_test_module, SWITCH_FALSE, &err); \
+               } \
+               FCT_FIXTURE_SUITE_BGN(suite);
 
 /**
  * Define the end of a FreeSWITCH module test suite.
  */
-#define FST_MODULE_END FCT_FIXTURE_SUITE_END
+#define FST_MODULE_END() \
+               FCT_FIXTURE_SUITE_END(); \
+               if (!zstr(fst_test_module) && switch_loadable_module_exists(fst_test_module) == SWITCH_STATUS_SUCCESS) { \
+                       const char *err; \
+                       switch_loadable_module_unload_module((char *)"../.libs", (char *)fst_test_module, SWITCH_FALSE, &err); \
+               } \
+       }
 
 
 /**