X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_plugin.c;h=f2abfa77d79cd35bc9ff84bdb375c3d070f90750;hb=27520ef39b732562a6c4ffa8640b44250ad72a4a;hp=9f1f0aad00f43b3f0a53900e83aca9857167dbb1;hpb=38b29592cf2e8b816cab68579e07e2477153f739;p=oweals%2Fgnunet.git diff --git a/src/util/test_plugin.c b/src/util/test_plugin.c index 9f1f0aad0..f2abfa77d 100644 --- a/src/util/test_plugin.c +++ b/src/util/test_plugin.c @@ -24,13 +24,27 @@ #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; + 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); @@ -39,7 +53,7 @@ check () 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) @@ -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 */