gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r16660 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r16660 - gnunet/src/transport
Date: Wed, 31 Aug 2011 17:45:08 +0200

Author: wachs
Date: 2011-08-31 17:45:07 +0200 (Wed, 31 Aug 2011)
New Revision: 16660

Modified:
   gnunet/src/transport/test_transport_api_reliability.c
   gnunet/src/transport/transport-testing.c
   gnunet/src/transport/transport-testing.h
Log:
utility functions


Modified: gnunet/src/transport/test_transport_api_reliability.c
===================================================================
--- gnunet/src/transport/test_transport_api_reliability.c       2011-08-31 
15:22:59 UTC (rev 16659)
+++ gnunet/src/transport/test_transport_api_reliability.c       2011-08-31 
15:45:07 UTC (rev 16660)
@@ -83,6 +83,7 @@
 };
 
 static char *test_name;
+static char *test_plugin;
 
 static int msg_scheduled;
 static int msg_sent;
@@ -118,7 +119,7 @@
   delta = GNUNET_TIME_absolute_get_duration (start_time).rel_value;
   fprintf (stderr, "\nThroughput was %llu kb/s\n",
            total_bytes * 1000 / 1024 / delta);
-  GNUNET_asprintf (&value_name, "reliable_%s", test_name);
+  GNUNET_asprintf (&value_name, "reliable_%s", test_plugin);
   GAUGER ("TRANSPORT", value_name, (int) (total_bytes * 1000 / 1024 / delta),
           "kb/s");
   GNUNET_free (value_name);
@@ -379,7 +380,7 @@
 static int
 check ()
 {
-  static char *const argv[] = { "test-transport-api-reliability",
+  static char * argv[] = { "SDSD",
     "-c",
     "test_transport_api_data.conf",
 #if VERBOSE
@@ -396,7 +397,7 @@
 #endif
   ok = 1;
   GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv,
-                      "test-transport-api-reliability", "nohelp", options, 
&run,
+                      test_name, "nohelp", options, &run,
                       &ok);
 
   return ok;
@@ -407,8 +408,12 @@
 {
   int ret;
   int nat_res;
+  //char * test_exec;
 
-  GNUNET_log_setup ("test-transport-api-reliability",
+  GNUNET_TRANSPORT_TESTING_get_test_sourcename (__FILE__, &test_name);
+
+
+  GNUNET_log_setup (test_name,
 #if VERBOSE
                     "DEBUG",
 #else
@@ -416,38 +421,8 @@
 #endif
                     NULL);
 
-  char *pch = strdup (argv[0]);
-  char *backup = pch;
-  char *filename = NULL;
-  char *dotexe;
-  char *src_name = strdup (__FILE__);
-  char *split = NULL;
+  GNUNET_TRANSPORT_TESTING_get_test_plugin (argv[0], test_name, &test_plugin);
 
-  /* get executable filename */
-  pch = strtok (pch, "/");
-  while (pch != NULL)
-  {
-    pch = strtok (NULL, "/");
-    if (pch != NULL)
-      filename = pch;
-  }
-  /* remove "lt-" */
-  filename = strstr (filename, "tes");
-  if (NULL != (dotexe = strstr (filename, ".exe")))
-    dotexe[0] = '\0';
-
-  split = strstr (src_name, ".");
-  if (split != NULL)
-  {
-    split[0] = '\0';
-    test_name = strdup (&filename[strlen (src_name) + 1]);
-  }
-  else
-    test_name = NULL;
-
-  GNUNET_free (src_name);
-  GNUNET_free (backup);
-
   if ((strstr (argv[0], "tcp_nat") != NULL) ||
       (strstr (argv[0], "udp_nat") != NULL))
   {
@@ -466,6 +441,7 @@
     }
   }
 
+
   GNUNET_TRANSPORT_TESTING_get_config_name (argv[0], &cfg_file_p1, 1);
   GNUNET_TRANSPORT_TESTING_get_config_name (argv[0], &cfg_file_p2, 2);
 
@@ -474,7 +450,8 @@
   GNUNET_free (cfg_file_p1);
   GNUNET_free (cfg_file_p2);
 
-  GNUNET_free_non_null (test_name);
+  GNUNET_free (test_name);
+  GNUNET_free (test_plugin);
 
   return ret;
 }

Modified: gnunet/src/transport/transport-testing.c
===================================================================
--- gnunet/src/transport/transport-testing.c    2011-08-31 15:22:59 UTC (rev 
16659)
+++ gnunet/src/transport/transport-testing.c    2011-08-31 15:45:07 UTC (rev 
16660)
@@ -345,6 +345,92 @@
  * Some utility functions
  */
 
+char *
+extract_filename (const char * file)
+{
+  char *pch = strdup (file);
+  char *backup = pch;
+  char *filename = NULL;
+  char *res;
+
+
+  /* get executable filename */
+  if (NULL != strstr (pch, "/"))
+  {
+    pch = strtok (pch, "/");
+    while (pch != NULL)
+    {
+      pch = strtok (NULL, "/");
+      if (pch != NULL)
+        {
+        filename = pch;
+        }
+    }
+  }
+  else
+    filename = pch;
+  res = strdup(filename);
+  GNUNET_free (backup);
+
+  return res;
+}
+
+void
+GNUNET_TRANSPORT_TESTING_get_test_sourcename (const char * file, char 
**testname)
+{
+  char * src = extract_filename (file);
+  char * split;
+
+  split = strstr (src, ".");
+  if (split != NULL)
+  {
+    split[0] = '\0';
+  }
+  GNUNET_asprintf(testname, "%s", src);
+  GNUNET_free (src);
+}
+
+void
+GNUNET_TRANSPORT_TESTING_get_test_plugin (const char * executable, const char 
* testname, char **pluginname)
+{
+  char *exec = extract_filename (executable);
+  char *test = extract_filename (testname);
+
+  char *backup_t = test;
+  char *filename = NULL;
+  char *dotexe;
+
+  if (exec == NULL)
+    goto fail;
+
+  /* remove "lt-" */
+  filename = strstr (exec, "tes");
+  if (filename == NULL)
+    goto fail;
+
+  /* remove ".exe" */
+  if (NULL != (dotexe = strstr (filename, ".exe")))
+      dotexe[0] = '\0';
+
+  /* find last _ */
+  filename = strstr (filename, test);
+  if (filename == NULL)
+    goto fail;
+
+  /* copy plugin */
+  filename += strlen (test);
+  filename++;
+  GNUNET_asprintf (pluginname, "%s", filename);
+  goto suc;
+
+fail:
+  (*pluginname) = NULL;
+suc:
+  GNUNET_free (backup_t);
+  GNUNET_free (exec);
+
+}
+
 /**
  * this function takes the filename (e.g. argv[0), removes a "lt-"-prefix and
  * if existing ".exe"-prefix and adds the peer-number
@@ -356,30 +442,39 @@
 GNUNET_TRANSPORT_TESTING_get_config_name (const char *file, char **cfgname,
                                           int count)
 {
-  char *pch = strdup (file);
-  char *backup = pch;
-  char *filename = NULL;
+  char *filename = extract_filename (file);
+  char *backup = filename;
   char *dotexe;
 
 
-  /* get executable filename */
-  pch = strtok (pch, "/");
-  while (pch != NULL)
-  {
-    pch = strtok (NULL, "/");
-    if (pch != NULL)
-      filename = pch;
-  }
+  if (filename == NULL)
+    goto fail;
+
   /* remove "lt-" */
   filename = strstr (filename, "tes");
+  if (filename == NULL)
+    goto fail;
+
+  /* remove ".exe" */
   if (NULL != (dotexe = strstr (filename, ".exe")))
-    dotexe[0] = '\0';
+      dotexe[0] = '\0';
 
+  if (filename == NULL)
+    goto fail;
+
+  /* copy plugin */
+  goto suc;
+
+fail:
+   (*cfgname) = NULL;
+   return;
+
+suc:
   /* create cfg filename */
   GNUNET_asprintf (cfgname, "%s_peer%u.conf", filename, count);
-
   GNUNET_free (backup);
 }
 
 
+
 /* end of transport_testing.h */

Modified: gnunet/src/transport/transport-testing.h
===================================================================
--- gnunet/src/transport/transport-testing.h    2011-08-31 15:22:59 UTC (rev 
16659)
+++ gnunet/src/transport/transport-testing.h    2011-08-31 15:45:07 UTC (rev 
16660)
@@ -133,4 +133,10 @@
 GNUNET_TRANSPORT_TESTING_get_config_name (const char *file, char **cfgname,
                                           int count);
 
+void
+GNUNET_TRANSPORT_TESTING_get_test_plugin (const char * executable, const char 
* testname, char **pluginname);
+
+void
+GNUNET_TRANSPORT_TESTING_get_test_sourcename (const char * file, char 
**testname);
+
 /* end of transport_testing.h */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]