From dbde4bf3121a02a8d2694fcccb0f293dc05eb767 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 10 Jun 2012 13:08:08 +0000 Subject: [PATCH] -starting with namestore test cleanup --- src/namestore/Makefile.am | 5 +- src/namestore/test_namestore_api.c | 84 +++++++++++--------------- src/namestore/test_namestore_api_put.c | 48 ++++++--------- src/namestore/test_plugin_namestore.c | 22 +------ 4 files changed, 57 insertions(+), 102 deletions(-) diff --git a/src/namestore/Makefile.am b/src/namestore/Makefile.am index 2ab1942ee..fce9838c6 100644 --- a/src/namestore/Makefile.am +++ b/src/namestore/Makefile.am @@ -175,13 +175,13 @@ test_namestore_api_zone_iteration_SOURCES = \ test_namestore_api_zone_iteration_LDADD = \ $(top_builddir)/src/util/libgnunetutil.la \ $(top_builddir)/src/namestore/libgnunetnamestore.la - + test_namestore_api_zone_iteration_specific_zone_SOURCES = \ test_namestore_api_zone_iteration_specific_zone.c test_namestore_api_zone_iteration_specific_zone_LDADD = \ $(top_builddir)/src/util/libgnunetutil.la \ $(top_builddir)/src/namestore/libgnunetnamestore.la - + test_namestore_api_zone_iteration_stop_SOURCES = \ test_namestore_api_zone_iteration_stop.c test_namestore_api_zone_iteration_stop_LDADD = \ @@ -205,4 +205,5 @@ EXTRA_DIST = \ test_plugin_namestore_sqlite_SOURCES = \ test_plugin_namestore.c test_plugin_namestore_sqlite_LDADD = \ + $(top_builddir)/src/testing/libgnunettesting.la \ $(top_builddir)/src/util/libgnunetutil.la diff --git a/src/namestore/test_namestore_api.c b/src/namestore/test_namestore_api.c index 039f1b9d7..565c27909 100644 --- a/src/namestore/test_namestore_api.c +++ b/src/namestore/test_namestore_api.c @@ -25,39 +25,36 @@ #include "gnunet_common.h" #include "gnunet_namestore_service.h" -#define VERBOSE GNUNET_NO +#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; + static struct GNUNET_CRYPTO_ShortHashCode zone; static int res; -#define TEST_RECORD_TYPE 1234 -#define TEST_RECORD_DATALEN 123 -#define TEST_RECORD_DATA 'a' - 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 () { @@ -71,6 +68,7 @@ stop_arm () } } + /** * Re-establish the connection to the service. * @@ -120,29 +118,36 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) } -void name_lookup_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 +name_lookup_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) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Namestore lookup result %p `%s' %i %p %p\n", zone_key, name, rd_count, rd, signature); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Namestore lookup result %p `%s' %i %p %p\n", + zone_key, name, rd_count, rd, signature); res = 0; GNUNET_SCHEDULER_add_now(&end, NULL); } -void put_cont (void *cls, int32_t success, const char *emsg) + +static 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"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Name store added record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); GNUNET_NAMESTORE_lookup_record (nsh, &zone, name, 0, &name_lookup_proc, NULL); } -void + +static void delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg) { char *afsdir; @@ -157,17 +162,21 @@ delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg) 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, const struct GNUNET_CONFIGURATION_Handle *cfg) { + struct GNUNET_CRYPTO_RsaSignature signature; + struct GNUNET_NAMESTORE_RecordData rd; + char *hostkey_file; + const char * name = "dummy.dummy.gnunet"; + delete_existing_db(cfg); endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL); - 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); @@ -175,44 +184,30 @@ run (void *cls, char *const *args, const char *cfgfile, GNUNET_free (hostkey_file); GNUNET_assert (privkey != NULL); GNUNET_CRYPTO_rsa_key_get_public(privkey, &pubkey); - GNUNET_CRYPTO_short_hash (&pubkey, sizeof (pubkey), &zone); - - - struct GNUNET_CRYPTO_RsaSignature signature; memset (&signature, '\0', sizeof (signature)); - struct GNUNET_NAMESTORE_RecordData rd; - rd.expiration = GNUNET_TIME_absolute_get(); rd.record_type = TEST_RECORD_TYPE; rd.data_size = TEST_RECORD_DATALEN; rd.data = GNUNET_malloc(TEST_RECORD_DATALEN); memset ((char *) rd.data, 'a', TEST_RECORD_DATALEN); - char * name = "dummy.dummy.gnunet"; - start_arm (cfgfile); GNUNET_assert (arm != NULL); - nsh = GNUNET_NAMESTORE_connect (cfg); GNUNET_break (NULL != nsh); - GNUNET_NAMESTORE_record_put (nsh, &pubkey, name, GNUNET_TIME_UNIT_FOREVER_ABS, 1, &rd, &signature, put_cont, name); - GNUNET_free ((void *)rd.data); - } -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[] = { @@ -225,14 +220,5 @@ check () return res; } -int -main (int argc, char *argv[]) -{ - int ret; - - ret = check (); - - return ret; -} /* end of test_namestore_api.c */ diff --git a/src/namestore/test_namestore_api_put.c b/src/namestore/test_namestore_api_put.c index 9315fd3b5..7409ff5d5 100644 --- a/src/namestore/test_namestore_api_put.c +++ b/src/namestore/test_namestore_api_put.c @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - (C) 2009 Christian Grothoff (and other contributing authors) + (C) 2009, 2012 Christian Grothoff (and other contributing authors) GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -26,8 +26,6 @@ #include "gnunet_namestore_service.h" #include "namestore.h" -#define VERBOSE GNUNET_NO - #define RECORDS 5 #define TEST_RECORD_TYPE 1234 #define TEST_RECORD_DATALEN 123 @@ -43,20 +41,16 @@ static struct GNUNET_OS_Process *arm; static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; -struct GNUNET_NAMESTORE_RecordData *s_rd; +static struct GNUNET_NAMESTORE_RecordData *s_rd; 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); } @@ -117,7 +111,8 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) stop_arm(); } -void + +static void put_cont (void *cls, int32_t success, const char *emsg) { char * name = cls; @@ -131,6 +126,7 @@ put_cont (void *cls, int32_t success, const char *emsg) GNUNET_SCHEDULER_add_now(&end, NULL); } + static struct GNUNET_NAMESTORE_RecordData * create_record (int count) { @@ -149,7 +145,8 @@ create_record (int count) return rd; } -void + +static void delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg) { char *afsdir; @@ -166,10 +163,15 @@ delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg) } } + static void run (void *cls, char *const *args, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) { + struct GNUNET_CRYPTO_RsaSignature *signature; + const char * s_name = "dummy.dummy.gnunet"; + int c; + delete_existing_db(cfg); endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT,endbadly, NULL); @@ -185,8 +187,6 @@ run (void *cls, char *const *args, const char *cfgfile, /* get public key */ GNUNET_CRYPTO_rsa_key_get_public(privkey, &pubkey); - struct GNUNET_CRYPTO_RsaSignature *signature; - start_arm (cfgfile); GNUNET_assert (arm != NULL); @@ -194,7 +194,6 @@ run (void *cls, char *const *args, const char *cfgfile, GNUNET_break (NULL != nsh); /* create record */ - char * s_name = "dummy.dummy.gnunet"; s_rd = create_record (RECORDS); signature = GNUNET_NAMESTORE_create_signature(privkey, s_rd[0].expiration, s_name, s_rd, RECORDS); @@ -208,22 +207,19 @@ run (void *cls, char *const *args, const char *cfgfile, GNUNET_free (signature); - int c; for (c = 0; c < RECORDS; c++) GNUNET_free_non_null((void *) s_rd[c].data); GNUNET_free (s_rd); } -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[] = { @@ -236,14 +232,4 @@ check () return res; } -int -main (int argc, char *argv[]) -{ - int ret; - - ret = check (); - - return ret; -} - -/* end of test_namestore_api.c */ +/* end of test_namestore_api_put.c */ diff --git a/src/namestore/test_plugin_namestore.c b/src/namestore/test_plugin_namestore.c index 3e93d73b2..5b8a8aa8e 100644 --- a/src/namestore/test_plugin_namestore.c +++ b/src/namestore/test_plugin_namestore.c @@ -25,8 +25,8 @@ #include "platform.h" #include "gnunet_util_lib.h" #include "gnunet_namestore_plugin.h" +#include "gnunet_testing_lib.h" -#define VERBOSE GNUNET_NO #define ASSERT(x) do { if (! (x)) { printf("Error at %s:%d\n", __FILE__, __LINE__); goto FAILURE;} } while (0) @@ -196,23 +196,17 @@ run (void *cls, char *const *args, const char *cfgfile, GNUNET_CRYPTO_short_hash (&zone_key, sizeof (zone_key), &zone); nsp->delete_zone (nsp->cls, &zone); unload_plugin (nsp); - } int main (int argc, char *argv[]) { - char *pos; char cfg_name[128]; - char *const xargv[] = { "test-plugin-namestore", "-c", cfg_name, -#if VERBOSE - "-L", "DEBUG", -#endif NULL }; struct GNUNET_GETOPT_CommandLineOption options[] = { @@ -221,21 +215,9 @@ main (int argc, char *argv[]) GNUNET_DISK_directory_remove ("/tmp/gnunet-test-plugin-namestore-sqlite"); GNUNET_log_setup ("test-plugin-namestore", -#if VERBOSE - "DEBUG", -#else "WARNING", -#endif NULL); - /* determine name of plugin to use */ - plugin_name = argv[0]; - while (NULL != (pos = strstr (plugin_name, "_"))) - plugin_name = pos + 1; - if (NULL != (pos = strstr (plugin_name, "."))) - pos[0] = 0; - else - pos = (char *) plugin_name; - + plugin_name = GNUNET_TESTING_get_testname_from_underscore (argv[0]); GNUNET_snprintf (cfg_name, sizeof (cfg_name), "test_plugin_namestore_%s.conf", plugin_name); GNUNET_PROGRAM_run ((sizeof (xargv) / sizeof (char *)) - 1, xargv, -- 2.25.1