-more libexec fixes for OpenSUSE
[oweals/gnunet.git] / src / util / test_plugin.c
index 22bf78b92b6c0d180d10875649dc07b8b218df3f..f2abfa77d79cd35bc9ff84bdb375c3d070f90750 100644 (file)
@@ -4,7 +4,7 @@
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
 #include "platform.h"
 #include "gnunet_plugin_lib.h"
 
 #include "platform.h"
 #include "gnunet_plugin_lib.h"
 
-#define VERBOSE GNUNET_NO
 
 
-static int
-check ()
+static void
+test_cb (void *cls, const char *libname, void *lib_ret)
 {
   void *ret;
 
 {
   void *ret;
 
-  GNUNET_log_skip (1);
+  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);
   ret = GNUNET_PLUGIN_load ("libgnunet_plugin_missing", NULL);
-  GNUNET_log_skip (0);
+  GNUNET_log_skip (0, GNUNET_NO);
   if (ret != NULL)
     return 1;
   ret = GNUNET_PLUGIN_load ("libgnunet_plugin_test", "in");
   if (ret == NULL)
     return 1;
   if (ret != NULL)
     return 1;
   ret = GNUNET_PLUGIN_load ("libgnunet_plugin_test", "in");
   if (ret == NULL)
     return 1;
-  if (0 != strcmp (ret, "Hello"))
+  if (0 != strcmp (ret, "Hello"))    
     return 2;
   ret = GNUNET_PLUGIN_unload ("libgnunet_plugin_test", "out");
   if (ret == NULL)
     return 2;
   ret = GNUNET_PLUGIN_unload ("libgnunet_plugin_test", "out");
   if (ret == NULL)
@@ -47,18 +61,8 @@ check ()
   if (0 != strcmp (ret, "World"))
     return 4;
   free (ret);
   if (0 != strcmp (ret, "World"))
     return 4;
   free (ret);
+  GNUNET_PLUGIN_load_all ("libgnunet_plugin_tes", "in", &test_cb, "test");
   return 0;
 }
 
   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 */
 /* end of test_plugin.c */