[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r37557 - gnunet/src/datastore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r37557 - gnunet/src/datastore |
Date: |
Thu, 21 Jul 2016 00:37:09 +0200 |
Author: grothoff
Date: 2016-07-21 00:37:09 +0200 (Thu, 21 Jul 2016)
New Revision: 37557
Modified:
gnunet/src/datastore/test_datastore_api.c
gnunet/src/datastore/test_datastore_api_management.c
Log:
-skip mysql tests properly if mysql is not configured correctly
Modified: gnunet/src/datastore/test_datastore_api.c
===================================================================
--- gnunet/src/datastore/test_datastore_api.c 2016-07-20 17:13:26 UTC (rev
37556)
+++ gnunet/src/datastore/test_datastore_api.c 2016-07-20 22:37:09 UTC (rev
37557)
@@ -30,6 +30,7 @@
#include "gnunet_util_lib.h"
#include "gnunet_protocols.h"
#include "gnunet_datastore_service.h"
+#include "gnunet_datastore_plugin.h"
#include "gnunet_testing_lib.h"
@@ -651,6 +652,66 @@
/**
+ * Function invoked to notify service of disk utilization
+ * changes.
+ *
+ * @param cls closure
+ * @param delta change in disk utilization,
+ * 0 for "reset to empty"
+ */
+static void
+duc_dummy (void *cls,
+ int delta)
+{
+ /* intentionally empty */
+}
+
+
+/**
+ * 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;
+ env.duc = &duc_dummy;
+ 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;
+}
+
+
+/**
* Entry point into the test. Determines which configuration / plugin
* we are running with based on the name of the binary and starts
* the peer.
@@ -664,12 +725,17 @@
char *argv[])
{
char cfg_name[128];
-
+ int ret;
+
plugin_name = GNUNET_TESTING_get_testname_from_underscore (argv[0]);
GNUNET_snprintf (cfg_name,
sizeof (cfg_name),
"test_datastore_api_data_%s.conf",
plugin_name);
+ ret = test_plugin (cfg_name);
+ if (0 != ret)
+ return ret;
+ /* run actual test */
if (0 !=
GNUNET_TESTING_peer_run ("test-gnunet-datastore",
cfg_name,
Modified: gnunet/src/datastore/test_datastore_api_management.c
===================================================================
--- gnunet/src/datastore/test_datastore_api_management.c 2016-07-20
17:13:26 UTC (rev 37556)
+++ gnunet/src/datastore/test_datastore_api_management.c 2016-07-20
22:37:09 UTC (rev 37557)
@@ -26,6 +26,7 @@
#include "gnunet_util_lib.h"
#include "gnunet_protocols.h"
#include "gnunet_datastore_service.h"
+#include "gnunet_datastore_plugin.h"
#include "gnunet_testing_lib.h"
@@ -296,14 +297,63 @@
}
+/**
+ * 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;
+}
+
+
int
main (int argc, char *argv[])
{
char cfg_name[128];
+ int ret;
plugin_name = GNUNET_TESTING_get_testname_from_underscore (argv[0]);
- GNUNET_snprintf (cfg_name, sizeof (cfg_name),
- "test_datastore_api_data_%s.conf", plugin_name);
+ GNUNET_snprintf (cfg_name,
+ sizeof (cfg_name),
+ "test_datastore_api_data_%s.conf",
+ plugin_name);
+ ret = test_plugin (cfg_name);
+ if (0 != ret)
+ return ret;
if (0 !=
GNUNET_TESTING_peer_run ("test-gnunet-datastore-management",
cfg_name,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r37557 - gnunet/src/datastore,
gnunet <=