#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 ()
{
}
}
+
/**
* Re-establish the connection to the service.
*
}
-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;
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);
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[] = {
return res;
}
-int
-main (int argc, char *argv[])
-{
- int ret;
-
- ret = check ();
-
- return ret;
-}
/* end of test_namestore_api.c */
/*
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
#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
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);
}
stop_arm();
}
-void
+
+static void
put_cont (void *cls, int32_t success, const char *emsg)
{
char * name = cls;
GNUNET_SCHEDULER_add_now(&end, NULL);
}
+
static struct GNUNET_NAMESTORE_RecordData *
create_record (int count)
{
return rd;
}
-void
+
+static void
delete_existing_db (const struct GNUNET_CONFIGURATION_Handle *cfg)
{
char *afsdir;
}
}
+
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);
/* get public key */
GNUNET_CRYPTO_rsa_key_get_public(privkey, &pubkey);
- struct GNUNET_CRYPTO_RsaSignature *signature;
-
start_arm (cfgfile);
GNUNET_assert (arm != NULL);
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);
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[] = {
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 */
#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)
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[] = {
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,