working again
[oweals/gnunet.git] / src / util / test_plugin.c
index 9f1f0aad00f43b3f0a53900e83aca9857167dbb1..135447da8347bd9a7d730f7f888e78ba0ffd7a96 100644 (file)
  * @brief testcase for plugin.c
  */
 #include "platform.h"
-#include "gnunet_plugin_lib.h"
+#include "gnunet_util_lib.h"
 
-#define VERBOSE GNUNET_NO
 
-static int
-check ()
+static void
+test_cb (void *cls, const char *libname, void *lib_ret)
 {
   void *ret;
 
+  GNUNET_assert (0 == strcmp (cls, "test"));
+  GNUNET_assert (0 == strcmp (lib_ret, "Hello"));
+  ret = GNUNET_PLUGIN_unload (libname, "out");
+  GNUNET_assert (NULL != ret);
+  GNUNET_assert (0 == strcmp (ret, "World"));
+  GNUNET_free (ret);
+}
+
+
+int
+main (int argc, char *argv[])
+{
+  void *ret;
+
+  GNUNET_log_setup ("test-plugin", "WARNING", NULL);
   GNUNET_log_skip (1, GNUNET_NO);
   ret = GNUNET_PLUGIN_load ("libgnunet_plugin_missing", NULL);
   GNUNET_log_skip (0, GNUNET_NO);
@@ -47,18 +61,8 @@ check ()
   if (0 != strcmp (ret, "World"))
     return 4;
   free (ret);
+  GNUNET_PLUGIN_load_all ("libgnunet_plugin_tes", "in", &test_cb, "test");
   return 0;
 }
 
-int
-main (int argc, char *argv[])
-{
-  int ret;
-
-  GNUNET_log_setup ("test-plugin", "WARNING", NULL);
-  ret = check ();
-
-  return ret;
-}
-
 /* end of test_plugin.c */