X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_plugin.c;h=f2abfa77d79cd35bc9ff84bdb375c3d070f90750;hb=27520ef39b732562a6c4ffa8640b44250ad72a4a;hp=479edb3cb221eb5d680159f3619079c7df8da7c4;hpb=a5d0694571db763efd0787a680168492f325b2e6;p=oweals%2Fgnunet.git diff --git a/src/util/test_plugin.c b/src/util/test_plugin.c index 479edb3cb..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_EXTRA_LOGGING -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 */