+/**
+ * check if plugin is actually working
+ */
+static int
+test_plugin (const char *cfg_name)
+{
+ char libname[128];
+ struct GNUNET_CONFIGURATION_Handle *cfg;
+ struct GNUNET_DATASTORE_PluginFunctions *api;
+ struct GNUNET_DATASTORE_PluginEnvironment env;
+
+ cfg = GNUNET_CONFIGURATION_create ();
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_load (cfg,
+ cfg_name))
+ {
+ GNUNET_CONFIGURATION_destroy (cfg);
+ fprintf (stderr,
+ "Failed to load configuration %s\n",
+ cfg_name);
+ return 1;
+ }
+ memset (&env, 0, sizeof (env));
+ env.cfg = cfg;
+ GNUNET_snprintf (libname,
+ sizeof (libname),
+ "libgnunet_plugin_datastore_%s",
+ plugin_name);
+ api = GNUNET_PLUGIN_load (libname, &env);
+ if (NULL == api)
+ {
+ GNUNET_CONFIGURATION_destroy (cfg);
+ fprintf (stderr,
+ "Failed to load plugin `%s'\n",
+ libname);
+ return 77;
+ }
+ GNUNET_PLUGIN_unload (libname, api);
+ GNUNET_CONFIGURATION_destroy (cfg);
+ return 0;
+}
+
+