-fixing IO-error bug in namestore tests on buildbots, simplifying testcases by using...
authorChristian Grothoff <christian@grothoff.org>
Tue, 19 Jun 2012 13:33:19 +0000 (13:33 +0000)
committerChristian Grothoff <christian@grothoff.org>
Tue, 19 Jun 2012 13:33:19 +0000 (13:33 +0000)
14 files changed:
src/namestore/test_namestore_api.c
src/namestore/test_namestore_api_create.c
src/namestore/test_namestore_api_create_update.c
src/namestore/test_namestore_api_lookup.c
src/namestore/test_namestore_api_lookup_specific_type.c
src/namestore/test_namestore_api_put.c
src/namestore/test_namestore_api_remove.c
src/namestore/test_namestore_api_remove_not_existing_record.c
src/namestore/test_namestore_api_sign_verify.c
src/namestore/test_namestore_api_zone_iteration.c
src/namestore/test_namestore_api_zone_iteration_specific_zone.c
src/namestore/test_namestore_api_zone_iteration_stop.c
src/namestore/test_namestore_api_zone_to_name.c
src/namestore/test_namestore_record_serialization.c

index 55601390a3249174d40873104acc313ce82e040d..9e56e569dacf96b9875145d0d4d3e08c0558b819 100644 (file)
 #include "gnunet_testing_lib-new.h"
 
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle *nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
@@ -117,24 +120,6 @@ put_cont (void *cls, int32_t success, const char *emsg)
 }
 
 
-static void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-}
-
-
 static void
 run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
@@ -144,7 +129,6 @@ run (void *cls,
   char *hostkey_file;
   const char * name = "dummy.dummy.gnunet";
 
-  delete_existing_db(cfg);
   endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
 
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
index 131c934cb8adfc02c6f11a9c6fe817d1034054ce..9161687380d9aadda4a05b3fc202d5909879317d 100644 (file)
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
-#define VERBOSE GNUNET_NO
 
 #define RECORDS 1
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TEST_CREATE_RECORD_TYPE 4321
+
 #define TEST_CREATE_RECORD_DATALEN 255
+
 #define TEST_CREATE_RECORD_DATA 'b'
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
-struct GNUNET_CRYPTO_RsaSignature *s_signature;
-struct GNUNET_CRYPTO_RsaSignature *s_signature_updated;
+
+static struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
+static struct GNUNET_CRYPTO_RsaSignature *s_signature_updated;
+
 static struct GNUNET_CRYPTO_ShortHashCode s_zone;
-struct GNUNET_NAMESTORE_RecordData *s_first_record;
-struct GNUNET_NAMESTORE_RecordData *s_second_record;
-static char *s_name;
 
+static struct GNUNET_NAMESTORE_RecordData *s_first_record;
 
+static struct GNUNET_NAMESTORE_RecordData *s_second_record;
+
+static char *s_name;
 
 static int res;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
-
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -96,14 +81,9 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -116,30 +96,26 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
   GNUNET_free ((void *) s_first_record->data);
   GNUNET_free (s_first_record);
   GNUNET_free_non_null (s_second_record);
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void name_lookup_second_proc (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void 
+name_lookup_second_proc (void *cls,
+                        const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+                        struct GNUNET_TIME_Absolute expire,
+                        const char *n,
+                        unsigned int rd_count,
+                        const struct GNUNET_NAMESTORE_RecordData *rd,
+                        const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   static int found = GNUNET_NO;
   int failed = GNUNET_NO;
@@ -219,10 +195,11 @@ void name_lookup_second_proc (void *cls,
 }
 
 
-void
+static void
 create_second_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
+
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Create second record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL");
   if (success == GNUNET_OK)
   {
@@ -235,16 +212,17 @@ create_second_cont (void *cls, int32_t success, const char *emsg)
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to put records for name `%s'\n", name);
     GNUNET_SCHEDULER_add_now(&end, NULL);
   }
-
 }
 
-void name_lookup_initial_proc (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void 
+name_lookup_initial_proc (void *cls,
+                         const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+                         struct GNUNET_TIME_Absolute expire,
+                         const char *n,
+                         unsigned int rd_count,
+                         const struct GNUNET_NAMESTORE_RecordData *rd,
+                         const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   char * name = cls;
   static int found = GNUNET_NO;
@@ -323,7 +301,8 @@ void name_lookup_initial_proc (void *cls,
   }
 }
 
-void
+
+static void
 create_first_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -340,25 +319,8 @@ create_first_cont (void *cls, int32_t success, const char *emsg)
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to put records for name `%s'\n", name);
     GNUNET_SCHEDULER_add_now(&end, NULL);
   }
-
 }
 
-void
-put_cont (void *cls, int32_t success, const char *emsg)
-{
-  char *name = cls;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name store added record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL");
-  if (success == GNUNET_OK)
-  {
-
-  }
-  else
-  {
-    res = 1;
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to put records for name `%s'\n", name);
-    GNUNET_SCHEDULER_add_now(&end, NULL);
-  }
-}
 
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
@@ -379,35 +341,16 @@ create_record (int count)
   return rd;
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
   size_t rd_ser_len;
+  char *hostkey_file;
 
+  endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT,endbadly, NULL);
   /* load privat key */
-  char *hostkey_file;
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
@@ -430,10 +373,6 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_CRYPTO_short_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name: `%s' Zone: `%s' \n", s_name, GNUNET_short_h2s (&s_zone));
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
 
@@ -444,35 +383,20 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_NAMESTORE_record_create (nsh, privkey, s_name, s_first_record, &create_first_cont, s_name);
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test-namestore-api",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-create",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
   GNUNET_free (s_signature);
-  return ret;
+  return res;
 }
 
-/* end of test_namestore_api.c */
+/* end of test_namestore_api_create.c */
index 93570e45807845666f636d4c7b0051dcc85ee472..e898a30504f62539f31b4f4aaf1ce4e2969637cf 100644 (file)
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
-#define VERBOSE GNUNET_NO
 
 #define RECORDS 1
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TEST_CREATE_RECORD_TYPE 4321
+
 #define TEST_CREATE_RECORD_DATALEN 255
+
 #define TEST_CREATE_RECORD_DATA 'b'
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
-struct GNUNET_CRYPTO_RsaSignature *s_signature;
-struct GNUNET_CRYPTO_RsaSignature *s_signature_updated;
+
+static struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
 static struct GNUNET_CRYPTO_ShortHashCode s_zone;
-struct GNUNET_NAMESTORE_RecordData *s_first_record;
-struct GNUNET_NAMESTORE_RecordData *s_second_record;
-static char *s_name;
 
+static struct GNUNET_NAMESTORE_RecordData *s_first_record;
 
+static struct GNUNET_NAMESTORE_RecordData *s_second_record;
 
-static int res;
+static char *s_name;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
+static int res;
 
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -96,14 +79,9 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -116,208 +94,19 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
   GNUNET_free ((void *) s_first_record->data);
   GNUNET_free (s_first_record);
   GNUNET_free_non_null (s_second_record);
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void name_lookup_second_proc (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
-{
-  static int found = GNUNET_NO;
-  int failed = GNUNET_NO;
-  int c;
-
-  if (n != NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Checking returned results\n");
-    if (0 != memcmp (zone_key, &pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    if (0 != strcmp(n, s_name))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    if (2 != rd_count)
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    for (c = 0; c < rd_count; c++)
-    {
-      if ((GNUNET_NO == GNUNET_NAMESTORE_records_cmp(&rd[c], s_first_record)) &&
-          (GNUNET_NO == GNUNET_NAMESTORE_records_cmp(&rd[c], s_second_record)))
-      {
-        GNUNET_break (0);
-        failed = GNUNET_YES;
-      }
-    }
-
-    if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire, n, rd_count, rd, signature))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    struct GNUNET_NAMESTORE_RecordData rd_new[2];
-    rd_new[0] = *s_first_record;
-    rd_new[1] = *s_second_record;
-    s_signature_updated = GNUNET_NAMESTORE_create_signature(privkey, expire, s_name, rd_new, 2);
-
-    if (0 != memcmp (s_signature_updated, signature, sizeof (struct GNUNET_CRYPTO_RsaSignature)))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    found = GNUNET_YES;
-    if (failed == GNUNET_NO)
-      res = 0;
-    else
-      res = 1;
-  }
-  else
-  {
-    if (found != GNUNET_YES)
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to lookup records for name `%s'\n", s_name);
-      res = 1;
-    }
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Lookup done for name %s'\n", s_name);
-  }
-  GNUNET_SCHEDULER_add_now(&end, NULL);
-}
-
-
-void
-create_second_cont (void *cls, int32_t success, const char *emsg)
-{
-  char *name = cls;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Create second record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL");
-  if (success == GNUNET_OK)
-  {
-    res = 0;
-    GNUNET_NAMESTORE_lookup_record (nsh, &s_zone, name, 0, &name_lookup_second_proc, name);
-  }
-  else
-  {
-    res = 1;
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to put records for name `%s'\n", name);
-    GNUNET_SCHEDULER_add_now(&end, NULL);
-  }
 
-}
-
-void name_lookup_initial_proc (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
-{
-  char * name = cls;
-  static int found = GNUNET_NO;
-  int failed = GNUNET_NO;
-  int c;
-
-  if (n != NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Checking returned results\n");
-    if (0 != memcmp (zone_key, &pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded)))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    if (0 != strcmp(n, s_name))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    if (RECORDS != rd_count)
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    for (c = 0; c < RECORDS; c++)
-    {
-      if (GNUNET_NO == GNUNET_NAMESTORE_records_cmp(&rd[c], &s_first_record[c]))
-      {
-        GNUNET_break (0);
-        failed = GNUNET_YES;
-      }
-    }
-
-    if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, expire, n, rd_count, rd, signature))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    if (0 != memcmp (s_signature, signature, sizeof (struct GNUNET_CRYPTO_RsaSignature)))
-    {
-      GNUNET_break (0);
-      failed = GNUNET_YES;
-    }
-
-    found = GNUNET_YES;
-    if (failed == GNUNET_NO)
-      res = 0;
-    else
-      res = 1;
-
-    /* create a second record */
-    s_second_record = GNUNET_malloc(sizeof (struct GNUNET_NAMESTORE_RecordData) + TEST_CREATE_RECORD_DATALEN);
-    s_second_record->expiration = GNUNET_TIME_UNIT_FOREVER_ABS;
-    s_second_record->record_type = TEST_CREATE_RECORD_TYPE;
-    s_second_record->flags = GNUNET_NAMESTORE_RF_AUTHORITY;
-    s_second_record->data = &s_second_record[1];
-    s_second_record->data_size = TEST_CREATE_RECORD_DATALEN;
-    memset ((char *) s_second_record->data, TEST_CREATE_RECORD_DATA, TEST_CREATE_RECORD_DATALEN);
-
-    GNUNET_NAMESTORE_record_create (nsh, privkey, name, s_second_record, &create_second_cont, name);
-
-  }
-  else
-  {
-    if (found != GNUNET_YES)
-    {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to lookup records for name `%s'\n", s_name);
-      res = 1;
-    }
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Lookup done for name %s'\n", s_name);
-    GNUNET_SCHEDULER_add_now (&end, NULL);
-  }
-}
-
-
-void
+static void
 create_updated_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -340,7 +129,8 @@ create_updated_cont (void *cls, int32_t success, const char *emsg)
   GNUNET_SCHEDULER_add_now(&end, NULL);
 }
 
-void
+
+static void
 create_identical_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -360,7 +150,8 @@ create_identical_cont (void *cls, int32_t success, const char *emsg)
 
 }
 
-void
+
+static void
 create_first_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -380,22 +171,6 @@ create_first_cont (void *cls, int32_t success, const char *emsg)
 
 }
 
-void
-put_cont (void *cls, int32_t success, const char *emsg)
-{
-  char *name = cls;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name store added record for `%s': %s `%s'\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL", emsg);
-  if (success == GNUNET_OK)
-  {
-
-  }
-  else
-  {
-    res = 1;
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to put records for name `%s'\n", name);
-    GNUNET_SCHEDULER_add_now(&end, NULL);
-  }
-}
 
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
@@ -416,41 +191,22 @@ create_record (int count)
   return rd;
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
+  size_t rd_ser_len;
+  char *hostkey_file;
 
   endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
-  size_t rd_ser_len;
 
   /* load privat key */
-  char *hostkey_file;
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
   privkey = GNUNET_CRYPTO_rsa_key_create_from_file(hostkey_file);
   GNUNET_free (hostkey_file);
-
   GNUNET_assert (privkey != NULL);
   /* get public key */
   GNUNET_CRYPTO_rsa_key_get_public(privkey, &pubkey);
@@ -469,10 +225,6 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_CRYPTO_short_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name: `%s' Zone: `%s' \n", s_name, GNUNET_short_h2s (&s_zone));
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
 
@@ -483,35 +235,20 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_NAMESTORE_record_create (nsh, privkey, s_name, s_first_record, &create_first_cont, s_name);
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test-namestore-api",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-  GNUNET_free (s_signature);
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-create-update",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  GNUNET_free_non_null (s_signature);
+  return res;
 }
 
-/* end of test_namestore_api.c */
+/* end of test_namestore_api_create_update.c */
index 818e7108dc80f318d0c29a327f4babe9cba9f3ff..1cf9ec864e933247e6144fc61a7007cb5d11b34c 100644 (file)
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
 #define VERBOSE GNUNET_NO
 
 #define RECORDS 5
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
-struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
+static struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
 static struct GNUNET_CRYPTO_ShortHashCode s_zone;
-struct GNUNET_NAMESTORE_RecordData *s_rd;
-static char *s_name;
 
+static struct GNUNET_NAMESTORE_RecordData *s_rd;
 
+static char *s_name;
 
 static int res;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
-
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -90,14 +72,9 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -105,36 +82,33 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 static void
 end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  int c;
+
   if (endbadly_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
-  int c;
   for (c = 0; c < RECORDS; c++)
     GNUNET_free_non_null((void *) s_rd[c].data);
   GNUNET_free (s_rd);
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void name_lookup_proc (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void
+name_lookup_proc (void *cls,
+                 const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+                 struct GNUNET_TIME_Absolute expire,
+                 const char *n,
+                 unsigned int rd_count,
+                 const struct GNUNET_NAMESTORE_RecordData *rd,
+                 const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   static int found = GNUNET_NO;
   int c;
@@ -146,22 +120,18 @@ void name_lookup_proc (void *cls,
     {
       GNUNET_break (0);
     }
-
     if (0 != memcmp (signature, s_signature, sizeof (struct GNUNET_CRYPTO_RsaSignature)))
     {
       GNUNET_break (0);
     }
-
     if (0 != strcmp(n, s_name))
     {
       GNUNET_break (0);
     }
-
     if (RECORDS != rd_count)
     {
       GNUNET_break (0);
     }
-
     for (c = 0; c < RECORDS; c++)
     {
       if (GNUNET_NO == GNUNET_NAMESTORE_records_cmp (&rd[c], &s_rd[c]))
@@ -184,7 +154,8 @@ void name_lookup_proc (void *cls,
   GNUNET_SCHEDULER_add_now(&end, NULL);
 }
 
-void
+
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   char * name = cls;
@@ -203,6 +174,7 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
@@ -212,43 +184,25 @@ create_record (int count)
 
   for (c = 0; c < RECORDS; c++)
   {
-  rd[c].expiration = GNUNET_TIME_absolute_get();
-  rd[c].record_type = TEST_RECORD_TYPE;
-  rd[c].data_size = TEST_RECORD_DATALEN;
-  rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
-  memset ((char *) rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN);
+    rd[c].expiration = GNUNET_TIME_absolute_get();
+    rd[c].record_type = TEST_RECORD_TYPE;
+    rd[c].data_size = TEST_RECORD_DATALEN;
+    rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
+    memset ((char *) rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN);
   }
 
   return rd;
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
-
   size_t rd_ser_len;
 
+  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
+
   /* load privat key from file not included in zonekey dir */
   privkey = GNUNET_CRYPTO_rsa_key_create_from_file("test_hostkey");
   GNUNET_assert (privkey != NULL);
@@ -268,9 +222,6 @@ run (void *cls, char *const *args, const char *cfgfile,
 
   /* create random zone hash */
   GNUNET_CRYPTO_short_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
 
@@ -283,35 +234,20 @@ run (void *cls, char *const *args, const char *cfgfile,
 }
 
 
-static int
-check ()
+int
+main (int argc, char *argv[])
 {
-  static char *const argv[] = { "test-namestore-api",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
   res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
-                      "nohelp", options, &run, &res);
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-lookup",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  GNUNET_free_non_null (s_signature);
   return res;
 }
 
-int
-main (int argc, char *argv[])
-{
-  int ret;
-
-  ret = check ();
-  GNUNET_free (s_signature);
-  return ret;
-}
 
 /* end of test_namestore_api.c */
index 981e252de77e64bb66524efd5683df028e9e5228..e2ac2588db3b6a97fc62e6fae9c59750937aab1a 100644 (file)
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
-#define VERBOSE GNUNET_NO
 
 #define RECORDS 5
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TEST_RECORD_LOOKUP_TYPE_NOT_EXISTING 11111
+
 #define TEST_RECORD_LOOKUP_TYPE_EXISTING 22222
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
-struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
+static struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
 static struct GNUNET_CRYPTO_ShortHashCode s_zone;
-struct GNUNET_NAMESTORE_RecordData *s_rd;
-static char *s_name;
 
+static struct GNUNET_NAMESTORE_RecordData *s_rd;
 
+static char *s_name;
 
 static int res;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
-
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -93,14 +75,9 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -108,13 +85,13 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 static void
 end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  int c;
+
   if (endbadly_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
-  int c;
   for (c = 0; c < RECORDS; c++)
   {
     GNUNET_free_non_null((void *) s_rd[c].data);
@@ -124,23 +101,20 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
 }
 
 
-void name_lookup_existing_record_type (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
+static void 
+name_lookup_existing_record_type (void *cls,
+                                 const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+                                 struct GNUNET_TIME_Absolute expire,
+                                 const char *n,
+                                 unsigned int rd_count,
+                                 const struct GNUNET_NAMESTORE_RecordData *rd,
+                                 const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   int failed = GNUNET_NO;
 
@@ -171,7 +145,6 @@ void name_lookup_existing_record_type (void *cls,
     GNUNET_break(0);
     failed = GNUNET_YES;
   }
-
   if (failed == GNUNET_YES)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Namestore returned invalid response\n");
@@ -181,18 +154,18 @@ void name_lookup_existing_record_type (void *cls,
   {
    res = 0;
   }
-
   GNUNET_SCHEDULER_add_now(&end, NULL);
 }
 
 
-void name_lookup_non_existing_record_type (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
+static void
+name_lookup_non_existing_record_type (void *cls,
+                                     const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+                                     struct GNUNET_TIME_Absolute expire,
+                                     const char *n,
+                                     unsigned int rd_count,
+                                     const struct GNUNET_NAMESTORE_RecordData *rd,
+                                     const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   int failed = GNUNET_NO;
   /* We expect zone key != NULL, name != NULL, rd_count 0, rd NULL, signature NULL */
@@ -250,7 +223,8 @@ void name_lookup_non_existing_record_type (void *cls,
   }
 }
 
-void
+
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   char * name = cls;
@@ -270,13 +244,14 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
   int c;
   struct GNUNET_NAMESTORE_RecordData * rd;
-  rd = GNUNET_malloc (count * sizeof (struct GNUNET_NAMESTORE_RecordData));
 
+  rd = GNUNET_malloc (count * sizeof (struct GNUNET_NAMESTORE_RecordData));
   for (c = 0; c < RECORDS-1; c++)
   {
     rd[c].expiration = GNUNET_TIME_UNIT_ZERO_ABS;
@@ -285,46 +260,25 @@ create_record (int count)
     rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
     memset ((char *) rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN);
   }
-
   rd[c].expiration = GNUNET_TIME_absolute_get();
   rd[c].record_type = TEST_RECORD_LOOKUP_TYPE_EXISTING;
   rd[c].data_size = TEST_RECORD_DATALEN;
   rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
   memset ((char *) rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN);
 
-
   return rd;
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
-
   size_t rd_ser_len;
+  char *hostkey_file;
 
+  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
   /* load privat key */
-  char *hostkey_file;
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
@@ -339,61 +293,39 @@ run (void *cls, char *const *args, const char *cfgfile,
   s_rd = create_record (RECORDS);
 
   rd_ser_len = GNUNET_NAMESTORE_records_get_size(RECORDS, s_rd);
-  char rd_ser[rd_ser_len];
-  GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser);
-
-  /* sign */
-  s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[RECORDS -1].expiration, s_name, s_rd, RECORDS);
-
-  /* create random zone hash */
-  GNUNET_CRYPTO_short_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
-  nsh = GNUNET_NAMESTORE_connect (cfg);
-  GNUNET_break (NULL != nsh);
-
-  GNUNET_break (s_rd != NULL);
-  GNUNET_break (s_name != NULL);
-
-  GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name,
-                              GNUNET_TIME_UNIT_FOREVER_ABS,
-                              RECORDS, s_rd, s_signature, put_cont, s_name);
-
-
-
+  {
+    char rd_ser[rd_ser_len];
+    GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser);
+
+    /* sign */
+    s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[RECORDS -1].expiration, s_name, s_rd, RECORDS);
+
+    /* create random zone hash */
+    GNUNET_CRYPTO_short_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
+    nsh = GNUNET_NAMESTORE_connect (cfg);
+    GNUNET_break (NULL != nsh);
+    GNUNET_break (s_rd != NULL);
+    GNUNET_break (s_name != NULL);
+    GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name,
+                                GNUNET_TIME_UNIT_FOREVER_ABS,
+                                RECORDS, s_rd, s_signature, put_cont, s_name);
+  }
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test-namestore-api",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-  GNUNET_free (s_signature);
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-lookup-specific-type",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  GNUNET_free_non_null (s_signature);
+  return res;
 }
 
-/* end of test_namestore_api.c */
+/* end of test_namestore_api_lookup_specific_type.c */
index 438c49243e956c49ac41caaec86e31f7d4dd784c..5ad5a87cd2d40656e8a80c8fd28743fe3957eafc 100644 (file)
@@ -131,24 +131,6 @@ create_record (int count)
 }
 
 
-static void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-}
-
-
 static void
 run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
@@ -158,7 +140,6 @@ run (void *cls,
   int c;
   char *hostkey_file;
 
-  delete_existing_db(cfg);
   endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
   /* load privat key */
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
index 57bb4a8224522dd3303df79842e7abf5346b26dc..1d57e70f91e8d558f44ba2652595319ce8f687aa 100644 (file)
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
-#define VERBOSE GNUNET_NO
-
 #define RECORDS 5
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TEST_REMOVE_RECORD_TYPE 4321
+
 #define TEST_REMOVE_RECORD_DATALEN 255
+
 #define TEST_REMOVE_RECORD_DATA 'b'
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
-struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
+static struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
 static struct GNUNET_CRYPTO_ShortHashCode s_zone;
-struct GNUNET_NAMESTORE_RecordData *s_rd;
-static char *s_name;
 
+static struct GNUNET_NAMESTORE_RecordData *s_rd;
 
+static char *s_name;
 
 static int res;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
-
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -94,14 +76,9 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -109,36 +86,33 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 static void
 end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  int c;
+
   if (endbadly_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
-  int c;
   for (c = 0; c < RECORDS; c++)
     GNUNET_free_non_null((void *) s_rd[c].data);
   GNUNET_free (s_rd);
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void name_lookup_proc (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void
+name_lookup_proc (void *cls,
+                 const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+                 struct GNUNET_TIME_Absolute expire,
+                 const char *n,
+                 unsigned int rd_count,
+                 const struct GNUNET_NAMESTORE_RecordData *rd,
+                 const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   static int found = GNUNET_NO;
   int failed = GNUNET_NO;
@@ -197,7 +171,8 @@ void name_lookup_proc (void *cls,
   GNUNET_SCHEDULER_add_now(&end, NULL);
 }
 
-void
+
+static void
 remove_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -216,7 +191,8 @@ remove_cont (void *cls, int32_t success, const char *emsg)
 
 }
 
-void
+
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -236,6 +212,7 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
@@ -261,34 +238,16 @@ create_record (int count)
   return rd;
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
   size_t rd_ser_len;
+  char *hostkey_file;
 
+  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
   /* load privat key */
-  char *hostkey_file;
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
@@ -313,54 +272,29 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_CRYPTO_short_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name: `%s' Zone: `%s' \n", s_name, GNUNET_short_h2s (&s_zone));
-
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
-
   GNUNET_break (s_rd != NULL);
   GNUNET_break (s_name != NULL);
-
   GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name,
                               GNUNET_TIME_UNIT_FOREVER_ABS,
                               RECORDS, s_rd, s_signature, put_cont, s_name);
-
-
-
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test-namestore-api",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-  GNUNET_free (s_signature);
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-remove",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  GNUNET_free_non_null (s_signature);
+  return res;
 }
 
 /* end of test_namestore_api.c */
index 329602d412783d64250b234ef337ca50acda663c..5dfe8e22067bc3d8779c06c0ca72b2ef12362efd 100644 (file)
      Boston, MA 02111-1307, USA.
 */
 /**
- * @file namestore/test_namestore_api.c
+ * @file namestore/test_namestore_api_remove_not_existing_record.c
  * @brief testcase for namestore_api.c
  */
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
-#define VERBOSE GNUNET_NO
-
 #define RECORDS 5
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TEST_REMOVE_RECORD_TYPE 4321
+
 #define TEST_REMOVE_RECORD_DATALEN 255
+
 #define TEST_REMOVE_RECORD_DATA 'b'
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
-struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
+static struct GNUNET_CRYPTO_RsaSignature *s_signature;
+
 static struct GNUNET_HashCode s_zone;
-struct GNUNET_NAMESTORE_RecordData *s_rd;
-static char *s_name;
 
+static struct GNUNET_NAMESTORE_RecordData *s_rd;
 
+static char *s_name;
 
 static int res;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
-
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -94,14 +76,9 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -109,13 +86,13 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 static void
 end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  int c;
+
   if (endbadly_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
-  int c;
   for (c = 0; c < RECORDS; c++)
     GNUNET_free_non_null((void *) s_rd[c].data);
   GNUNET_free (s_rd);
@@ -123,19 +100,17 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void
+
+static void
 remove_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
+
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Remove record for `%s': %s `%s'\n", name, (success == GNUNET_YES) ? "SUCCESS" : "FAIL", emsg);
   if (GNUNET_NO == success)
   {
@@ -149,7 +124,8 @@ remove_cont (void *cls, int32_t success, const char *emsg)
   GNUNET_SCHEDULER_add_now(&end, NULL);
 }
 
-void
+
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -176,53 +152,36 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
   int c;
   struct GNUNET_NAMESTORE_RecordData * rd;
-  rd = GNUNET_malloc (count * sizeof (struct GNUNET_NAMESTORE_RecordData));
 
+  rd = GNUNET_malloc (count * sizeof (struct GNUNET_NAMESTORE_RecordData));
   for (c = 0; c < RECORDS; c++)
   {
-  rd[c].expiration = GNUNET_TIME_absolute_get();
-  rd[c].record_type = TEST_RECORD_TYPE;
-  rd[c].data_size = TEST_RECORD_DATALEN;
-  rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
-  memset ((char *) rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN);
+    rd[c].expiration = GNUNET_TIME_absolute_get();
+    rd[c].record_type = TEST_RECORD_TYPE;
+    rd[c].data_size = TEST_RECORD_DATALEN;
+    rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN);
+    memset ((char *) rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN);
   }
-
   return rd;
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
+  char *hostkey_file;
   size_t rd_ser_len;
 
+  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
+
   /* load privat key */
-  char *hostkey_file;
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
@@ -247,53 +206,29 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone);
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name: `%s' Zone: `%s' \n", s_name, GNUNET_h2s_full(&s_zone));
-
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
-
   GNUNET_break (s_rd != NULL);
   GNUNET_break (s_name != NULL);
-
   GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name,
                               GNUNET_TIME_UNIT_FOREVER_ABS,
                               RECORDS, s_rd, s_signature, put_cont, s_name);
-
-
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test-namestore-api",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-  GNUNET_free (s_signature);
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-remove-not-existing-record",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  GNUNET_free_non_null (s_signature);
+  return res;
 }
 
-/* end of test_namestore_api.c */
+/* end of test_namestore_api_remove_not_existing_record.c */
index 17bfb1effe6f3ebdf1bdc8af0cbd4f44f0b82f02..95d222c6de2532ef741042e89266fe4d739e32b8 100644 (file)
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
-#define VERBOSE GNUNET_NO
-
 #define RECORDS 5
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TEST_REMOVE_RECORD_TYPE 4321
+
 #define TEST_REMOVE_RECORD_DATALEN 255
+
 #define TEST_REMOVE_RECORD_DATA 'b'
 
+
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
-struct GNUNET_CRYPTO_RsaSignature s_signature;
-struct GNUNET_NAMESTORE_RecordData *s_rd;
+
+static struct GNUNET_NAMESTORE_RecordData *s_rd;
+
 static char *s_name;
 
 static int res;
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
@@ -66,7 +73,6 @@ create_record (int count)
 }
 
 
-
 static void
 run (void *cls, char *const *args, const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
@@ -116,15 +122,13 @@ run (void *cls, char *const *args, const char *cfgfile,
 
 }
 
-static int
-check ()
+
+int
+main (int argc, char *argv[])
 {
-  static char *const argv[] = { "test-namestore-api",
+  static char *const argvx[] = { "test-namestore-api",
     "-c",
     "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
     NULL
   };
   static struct GNUNET_GETOPT_CommandLineOption options[] = {
@@ -132,19 +136,9 @@ check ()
   };
 
   res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
+  GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, "test-namestore-api",
                       "nohelp", options, &run, &res);
   return res;
 }
 
-int
-main (int argc, char *argv[])
-{
-  int ret;
-
-  ret = check ();
-
-  return ret;
-}
-
 /* end of test_namestore_api_sign_verify.c */
index f18aad93f937afe8dc12df9041ba874ddb09cce7..9a2c2d0ab9976158ae2048b435209516dec713e9 100644 (file)
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 
-#define VERBOSE GNUNET_NO
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
+
 static GNUNET_SCHEDULER_TaskIdentifier stopiteration_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
+
 static struct GNUNET_HashCode zone;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey2;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey2;
+
 static struct GNUNET_HashCode zone2;
 
 static struct GNUNET_NAMESTORE_ZoneIterator *zi;
+
 static int res;
+
 static int returned_records;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_1;
-char * s_name_1;
-struct GNUNET_NAMESTORE_RecordData *s_rd_1;
+static struct GNUNET_CRYPTO_RsaSignature *sig_1;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_2;
-char * s_name_2;
-struct GNUNET_NAMESTORE_RecordData *s_rd_2;
+static char * s_name_1;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_3;
-char * s_name_3;
-struct GNUNET_NAMESTORE_RecordData *s_rd_3;
+static struct GNUNET_NAMESTORE_RecordData *s_rd_1;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
+static struct GNUNET_CRYPTO_RsaSignature *sig_2;
+
+static char * s_name_2;
+
+static struct GNUNET_NAMESTORE_RecordData *s_rd_2;
+
+static struct GNUNET_CRYPTO_RsaSignature *sig_3;
+
+static char * s_name_3;
+
+static struct GNUNET_NAMESTORE_RecordData *s_rd_3;
 
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -135,10 +123,6 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (privkey2 != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey2);
   privkey2 = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -187,23 +171,20 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_free ((void *)s_rd_3->data);
     GNUNET_free (s_rd_3);
   }
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void zone_proc (void *cls,
-                const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                struct GNUNET_TIME_Absolute expire,
-                const char *name,
-                unsigned int rd_count,
-                const struct GNUNET_NAMESTORE_RecordData *rd,
-                const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void
+zone_proc (void *cls,
+          const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+          struct GNUNET_TIME_Absolute expire,
+          const char *name,
+          unsigned int rd_count,
+          const struct GNUNET_NAMESTORE_RecordData *rd,
+          const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   int failed = GNUNET_NO;
   if ((zone_key == NULL) &&  (name == NULL))
@@ -322,25 +303,8 @@ void zone_proc (void *cls,
   }
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
-void
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   static int c = 0;
@@ -379,6 +343,7 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
@@ -397,14 +362,14 @@ create_record (int count)
   return rd;
 }
 
+
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,&endbadly, NULL);
-
   char *hostkey_file;
+
+  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,&endbadly, NULL);
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
@@ -424,11 +389,6 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_assert (privkey2 != NULL);
   GNUNET_CRYPTO_rsa_key_get_public(privkey2, &pubkey2);
   GNUNET_CRYPTO_hash(&pubkey2, sizeof (pubkey), &zone2);
-
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
 
@@ -455,35 +415,20 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_NAMESTORE_record_put (nsh, &pubkey2, s_name_3, GNUNET_TIME_UNIT_FOREVER_ABS, 1, s_rd_3, sig_3, &put_cont, NULL);
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test_namestore_api_zone_iteration",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test_namestore_api_zone_iteration",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-zone-iteration",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  return res;
 }
 
+
 /* end of test_namestore_api_zone_iteration.c */
index b21c860c82f25c5eee3873d8993a054953be34d6..b76acb4ddb21496c918d940371dbb8c826c60827 100644 (file)
  */
 #include "platform.h"
 #include "gnunet_common.h"
+#include "gnunet_testing_lib-new.h"
 #include "gnunet_namestore_service.h"
 #include "namestore.h"
 
-#define VERBOSE GNUNET_NO
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
+
 static GNUNET_SCHEDULER_TaskIdentifier stopiteration_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
+
 static struct GNUNET_CRYPTO_ShortHashCode zone;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey2;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey2;
+
 static struct GNUNET_CRYPTO_ShortHashCode zone2;
 
 static struct GNUNET_NAMESTORE_ZoneIterator *zi;
+
 static int res;
+
 static int returned_records;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_1;
-char * s_name_1;
-struct GNUNET_NAMESTORE_RecordData *s_rd_1;
+static struct GNUNET_CRYPTO_RsaSignature *sig_1;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_2;
-char * s_name_2;
-struct GNUNET_NAMESTORE_RecordData *s_rd_2;
+static char * s_name_1;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_3;
-char * s_name_3;
-struct GNUNET_NAMESTORE_RecordData *s_rd_3;
+static struct GNUNET_NAMESTORE_RecordData *s_rd_1;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
+static struct GNUNET_CRYPTO_RsaSignature *sig_2;
+
+static char * s_name_2;
+
+static struct GNUNET_NAMESTORE_RecordData *s_rd_2;
+
+static struct GNUNET_CRYPTO_RsaSignature *sig_3;
+
+static char * s_name_3;
+
+static struct GNUNET_NAMESTORE_RecordData *s_rd_3;
 
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -104,14 +92,12 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   GNUNET_free_non_null(sig_1);
   GNUNET_free_non_null(sig_2);
   GNUNET_free_non_null(sig_3);
   GNUNET_free_non_null(s_name_1);
   GNUNET_free_non_null(s_name_2);
   GNUNET_free_non_null(s_name_3);
-
   if (s_rd_1 != NULL)
   {
     GNUNET_free ((void *)s_rd_1->data);
@@ -135,10 +121,6 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (privkey2 != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey2);
   privkey2 = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -151,17 +133,14 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_SCHEDULER_cancel (stopiteration_task);
     stopiteration_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
   if (endbadly_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (privkey2 != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey2);
   privkey2 = NULL;
@@ -187,23 +166,20 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_free ((void *)s_rd_3->data);
     GNUNET_free (s_rd_3);
   }
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void zone_proc (void *cls,
-                const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                struct GNUNET_TIME_Absolute expire,
-                const char *name,
-                unsigned int rd_count,
-                const struct GNUNET_NAMESTORE_RecordData *rd,
-                const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void
+zone_proc (void *cls,
+          const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+          struct GNUNET_TIME_Absolute expire,
+          const char *name,
+          unsigned int rd_count,
+          const struct GNUNET_NAMESTORE_RecordData *rd,
+          const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   int failed = GNUNET_NO;
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Callback for zone `%s'\n", GNUNET_short_h2s (&zone));
@@ -285,25 +261,8 @@ void zone_proc (void *cls,
   }
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
-void
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   static int c = 0;
@@ -343,6 +302,7 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
@@ -361,14 +321,14 @@ create_record (int count)
   return rd;
 }
 
+
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls, 
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,&endbadly, NULL);
-
   char *hostkey_file;
+
+  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,&endbadly, NULL);
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
@@ -386,26 +346,18 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_assert (privkey2 != NULL);
   GNUNET_CRYPTO_rsa_key_get_public(privkey2, &pubkey2);
   GNUNET_CRYPTO_short_hash (&pubkey2, sizeof (pubkey), &zone2);
-
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record 1\n");
-
   GNUNET_asprintf(&s_name_1, "dummy1");
   s_rd_1 = create_record(1);
   sig_1 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_1[0].expiration ,s_name_1, s_rd_1, 1);
   GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_1, s_rd_1, &put_cont, NULL);
 
-
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created record 2 \n");
   GNUNET_asprintf(&s_name_2, "dummy2");
   s_rd_2 = create_record(1);
-
   sig_2 = GNUNET_NAMESTORE_create_signature(privkey, s_rd_2[0].expiration, s_name_2, s_rd_2, 1);
   GNUNET_NAMESTORE_record_create(nsh, privkey, s_name_2, s_rd_2, &put_cont, NULL);
 
@@ -417,35 +369,19 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_NAMESTORE_record_put (nsh, &pubkey2, s_name_3, GNUNET_TIME_UNIT_FOREVER_ABS, 1, s_rd_3, sig_3, &put_cont, NULL);
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test_namestore_api_zone_iteration",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test_namestore_api_zone_iteration",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-zone-iteration-specific-zone",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  return res;
 }
 
 /* end of test_namestore_api_zone_iteration_specific_zone.c */
index 90031edc7a154f0880be1d720d12afc16dfc8335..71ae4336282d6032519fb275e7062c8c6c571055 100644 (file)
  */
 #include "platform.h"
 #include "gnunet_common.h"
+#include "gnunet_testing_lib-new.h"
 #include "gnunet_namestore_service.h"
 #include "namestore.h"
 
-#define VERBOSE GNUNET_NO
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 15)
 
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
+
 static GNUNET_SCHEDULER_TaskIdentifier stopiteration_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
+
 static struct GNUNET_HashCode zone;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey2;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey2;
+
 static struct GNUNET_HashCode zone2;
 
 static struct GNUNET_NAMESTORE_ZoneIterator *zi;
+
 static int res;
+
 static int returned_records;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_1;
-char * s_name_1;
-struct GNUNET_NAMESTORE_RecordData *s_rd_1;
+static struct GNUNET_CRYPTO_RsaSignature *sig_1;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_2;
-char * s_name_2;
-struct GNUNET_NAMESTORE_RecordData *s_rd_2;
+static char * s_name_1;
 
-struct GNUNET_CRYPTO_RsaSignature *sig_3;
-char * s_name_3;
-struct GNUNET_NAMESTORE_RecordData *s_rd_3;
+static struct GNUNET_NAMESTORE_RecordData *s_rd_1;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
+static struct GNUNET_CRYPTO_RsaSignature *sig_2;
+
+static char * s_name_2;
+
+static struct GNUNET_NAMESTORE_RecordData *s_rd_2;
+
+static struct GNUNET_CRYPTO_RsaSignature *sig_3;
+
+static char * s_name_3;
+
+static struct GNUNET_NAMESTORE_RecordData *s_rd_3;
 
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -100,18 +87,15 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_SCHEDULER_cancel (stopiteration_task);
     stopiteration_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   GNUNET_free_non_null(sig_1);
   GNUNET_free_non_null(sig_2);
   GNUNET_free_non_null(sig_3);
   GNUNET_free_non_null(s_name_1);
   GNUNET_free_non_null(s_name_2);
   GNUNET_free_non_null(s_name_3);
-
   if (s_rd_1 != NULL)
   {
     GNUNET_free ((void *)s_rd_1->data);
@@ -127,7 +111,6 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_free ((void *)s_rd_3->data);
     GNUNET_free (s_rd_3);
   }
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
@@ -135,10 +118,6 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (privkey2 != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey2);
   privkey2 = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -157,11 +136,9 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (privkey2 != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey2);
   privkey2 = NULL;
@@ -187,13 +164,9 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_free ((void *)s_rd_3->data);
     GNUNET_free (s_rd_3);
   }
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
   if (returned_records == 1)
     res = 0;
   else
@@ -201,13 +174,15 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 
 }
 
-void zone_proc (void *cls,
-                const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                struct GNUNET_TIME_Absolute expire,
-                const char *name,
-                unsigned int rd_count,
-                const struct GNUNET_NAMESTORE_RecordData *rd,
-                const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void
+zone_proc (void *cls,
+          const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+          struct GNUNET_TIME_Absolute expire,
+          const char *name,
+          unsigned int rd_count,
+          const struct GNUNET_NAMESTORE_RecordData *rd,
+          const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   int failed = GNUNET_NO;
 
@@ -336,25 +311,8 @@ void zone_proc (void *cls,
   }
 }
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
 
-void
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   static int c = 0;
@@ -393,6 +351,7 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static struct GNUNET_NAMESTORE_RecordData *
 create_record (int count)
 {
@@ -411,14 +370,14 @@ create_record (int count)
   return rd;
 }
 
+
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,&endbadly, NULL);
-
   char *hostkey_file;
+
+  endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,&endbadly, NULL);
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
       "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey");
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file);
@@ -437,10 +396,6 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_CRYPTO_rsa_key_get_public(privkey2, &pubkey2);
   GNUNET_CRYPTO_hash(&pubkey2, sizeof (pubkey), &zone2);
 
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
 
@@ -467,35 +422,20 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_NAMESTORE_record_put (nsh, &pubkey2, s_name_3, GNUNET_TIME_UNIT_FOREVER_ABS, 1, s_rd_3, sig_3, &put_cont, NULL);
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test_namestore_api_zone_iteration",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test_namestore_api_zone_iteration",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-zone-iteration-stop",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  return res;
 }
 
-/* end of test_namestore_api_zone_iteration.c */
+
+/* end of test_namestore_api_zone_iteration_stop.c */
index 6efbaf534725ddc9f1a8df805d059131d166153e..e5db28165eb37e9ee12c0eaf79890e08443a5493 100644 (file)
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_namestore_service.h"
+#include "gnunet_testing_lib-new.h"
 #include "namestore.h"
 #include "gnunet_signatures.h"
 
-#define VERBOSE GNUNET_NO
-
 #define RECORDS 5
+
 #define TEST_RECORD_TYPE 1234
+
 #define TEST_RECORD_DATALEN 123
+
 #define TEST_RECORD_DATA 'a'
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
+
 static struct GNUNET_NAMESTORE_Handle * nsh;
 
 static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
-static struct GNUNET_OS_Process *arm;
 
 static struct GNUNET_CRYPTO_RsaPrivateKey * privkey;
+
 static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey;
 
-struct GNUNET_TIME_Absolute expire;
+static struct GNUNET_TIME_Absolute expire;
 
 static struct GNUNET_CRYPTO_ShortHashCode s_zone;
+
 static struct GNUNET_CRYPTO_ShortHashCode s_zone_value;
 
-char * s_name;
+static char * s_name;
 
-struct GNUNET_NAMESTORE_RecordData *s_rd;
-struct GNUNET_CRYPTO_RsaSignature *s_signature;
+static struct GNUNET_CRYPTO_RsaSignature *s_signature;
 
 static int res;
 
-static void
-start_arm (const char *cfgname)
-{
-  arm = GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm",
-                               "gnunet-service-arm", "-c", cfgname,
-#if VERBOSE_PEERS
-                               "-L", "DEBUG",
-#else
-                               "-L", "ERROR",
-#endif
-                               NULL);
-}
-
-static void
-stop_arm ()
-{
-  if (NULL != arm)
-  {
-    if (0 != GNUNET_OS_process_kill (arm, SIGTERM))
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
-    GNUNET_OS_process_wait (arm);
-    GNUNET_OS_process_destroy (arm);
-    arm = NULL;
-  }
-}
 
 /**
  * Re-establish the connection to the service.
@@ -94,14 +72,9 @@ endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
-  if (NULL != arm)
-    stop_arm();
-
   res = 1;
 }
 
@@ -114,26 +87,23 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     GNUNET_SCHEDULER_cancel (endbadly_task);
     endbadly_task = GNUNET_SCHEDULER_NO_TASK;
   }
-
   if (privkey != NULL)
     GNUNET_CRYPTO_rsa_key_free (privkey);
   privkey = NULL;
-
   if (nsh != NULL)
     GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
   nsh = NULL;
-
-  if (NULL != arm)
-    stop_arm();
 }
 
-void zone_to_name_proc (void *cls,
-                            const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
-                            struct GNUNET_TIME_Absolute expire,
-                            const char *n,
-                            unsigned int rd_count,
-                            const struct GNUNET_NAMESTORE_RecordData *rd,
-                            const struct GNUNET_CRYPTO_RsaSignature *signature)
+
+static void
+zone_to_name_proc (void *cls,
+                  const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key,
+                  struct GNUNET_TIME_Absolute expire,
+                  const char *n,
+                  unsigned int rd_count,
+                  const struct GNUNET_NAMESTORE_RecordData *rd,
+                  const struct GNUNET_CRYPTO_RsaSignature *signature)
 {
   int fail = GNUNET_NO;
 
@@ -169,26 +139,7 @@ void zone_to_name_proc (void *cls,
 }
 
 
-void
-delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  char *afsdir;
-
-  if (GNUNET_OK ==
-      GNUNET_CONFIGURATION_get_value_filename (cfg, "namestore-sqlite",
-                                               "FILENAME", &afsdir))
-  {
-    if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-      if (GNUNET_OK == GNUNET_DISK_file_test (afsdir))
-        if (GNUNET_OK == GNUNET_DISK_directory_remove(afsdir))
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Deleted existing database `%s' \n", afsdir);
-   GNUNET_free (afsdir);
-  }
-
-}
-
-
-void
+static void
 put_cont (void *cls, int32_t success, const char *emsg)
 {
   char *name = cls;
@@ -209,16 +160,13 @@ put_cont (void *cls, int32_t success, const char *emsg)
   }
 }
 
+
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  delete_existing_db(cfg);
-
   endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL);
   GNUNET_asprintf(&s_name, "dummy");
-
-
   /* load privat key */
   char *hostkey_file;
   GNUNET_asprintf(&hostkey_file,"zonefiles%s%s",DIR_SEPARATOR_STR,
@@ -241,10 +189,6 @@ run (void *cls, char *const *args, const char *cfgfile,
   rd.data_size = sizeof (struct GNUNET_CRYPTO_ShortHashCode);
   rd.data = GNUNET_malloc(sizeof (struct GNUNET_CRYPTO_ShortHashCode));
   memcpy ((char *) rd.data, &s_zone_value, sizeof (struct GNUNET_CRYPTO_ShortHashCode));
-
-  start_arm (cfgfile);
-  GNUNET_assert (arm != NULL);
-
   nsh = GNUNET_NAMESTORE_connect (cfg);
   GNUNET_break (NULL != nsh);
 
@@ -255,34 +199,20 @@ run (void *cls, char *const *args, const char *cfgfile,
   GNUNET_free ((void *) rd.data);
 }
 
-static int
-check ()
-{
-  static char *const argv[] = { "test-namestore-api",
-    "-c",
-    "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  static struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
 
-  res = 1;
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, "test-namestore-api",
-                      "nohelp", options, &run, &res);
-  return res;
-}
 
 int
 main (int argc, char *argv[])
 {
-  int ret;
-
-  ret = check ();
-  return ret;
+  res = 1;
+  if (0 != 
+      GNUNET_TESTING_service_run ("test-namestore-api-zone-to-name",
+                                 "namestore",
+                                 "test_namestore_api.conf",
+                                 &run,
+                                 NULL))
+    return 1;
+  return res;
 }
 
-/* end of test_namestore_api.c */
+/* end of test_namestore_api_zone_to_name.c */
index 5e952539b177353496ce4c238f1e3c3494c63535..48560aee91975fab5a23358b15008f1f71bc022a 100644 (file)
@@ -32,6 +32,7 @@
 
 static int res;
 
+
 static void
 run (void *cls, char *const *args, const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
@@ -128,9 +129,6 @@ check ()
   static char *const argv[] = { "test_namestore_record_serialization",
     "-c",
     "test_namestore_api.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
     NULL
   };
   static struct GNUNET_GETOPT_CommandLineOption options[] = {