Discard large metadata items first
[oweals/gnunet.git] / src / gns / test_gns_simple_srv_lookup.c
index 51e819aad264b05e581d5e3cf985f3016d47aaf2..40e5aec8d66468b58185ad3cbf7ba8414e8a59b2 100644 (file)
@@ -23,7 +23,7 @@
  *
  */
 #include "platform.h"
-#include "gnunet_testing_lib-new.h"
+#include "gnunet_testing_lib.h"
 #include "gnunet_core_service.h"
 #include "block_dns.h"
 #include "gnunet_signatures.h"
 #include "gns_protocol.h"
 #include "gnunet_gns_service.h"
 
-/* DEFINES */
-#define VERBOSE GNUNET_YES
-
 /* Timeout for entire testcase */
 #define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 20)
 
-/* If number of peers not in config file, use this number */
-#define DEFAULT_NUM_PEERS 2
-
 /* test records to resolve */
-#define TEST_DOMAIN "_sip._tcp.bob.gnunet"
+#define TEST_DOMAIN "_sip._tcp.bob.gads"
 #define TEST_IP "127.0.0.1"
 #define TEST_RECORD_NAME "sipserver"
 #define TEST_RECORD_NAME_SRV "_sip._tcp"
 #define TEST_SRV_NAME "sipserver.+"
-#define TEST_EXPECTED_SRV "sipserver.bob.gnunet"
+#define TEST_EXPECTED_SRV "sipserver.bob.gads"
 
 #define TEST_AUTHORITY_NAME "bob"
 
@@ -76,6 +70,7 @@ const struct GNUNET_CONFIGURATION_Handle *cfg;
 static void
 end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  die_task = GNUNET_SCHEDULER_NO_TASK;
   if (NULL != gns_handle)
   {
     GNUNET_GNS_disconnect(gns_handle);
@@ -99,6 +94,14 @@ end_badly_now ()
   die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
 }
 
+static void shutdown_task (void *cls,
+                           const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  GNUNET_GNS_disconnect(gns_handle);
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Shutting down peer!\n");
+  GNUNET_SCHEDULER_shutdown ();
+}
+
 static void
 on_lookup_result(void *cls, uint32_t rd_count,
                  const struct GNUNET_NAMESTORE_RecordData *rd)
@@ -145,9 +148,8 @@ on_lookup_result(void *cls, uint32_t rd_count,
     }
   }
 
-  GNUNET_GNS_disconnect(gns_handle);
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Shutting down peer!\n");
-  GNUNET_SCHEDULER_shutdown ();
+  GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
+
 }
 
 
@@ -259,6 +261,7 @@ do_check (void *cls,
                                sig,
                                NULL,
                                NULL);
+  GNUNET_free (sig);
   
   rd.data_size = sizeof (struct srv_data)+strlen(TEST_SRV_NAME)+1;
   srv_data->port = srv_port;
@@ -281,28 +284,24 @@ do_check (void *cls,
                                sig,
                                &commence_testing,
                                NULL);
-  GNUNET_free(srv_data);
-  GNUNET_free(sipserver);
-  GNUNET_free(sig);
-  GNUNET_CRYPTO_rsa_key_free(bob_key);
-  GNUNET_CRYPTO_rsa_key_free(alice_key);
+  GNUNET_free (alice_keyfile);
+  GNUNET_free (srv_data);
+  GNUNET_free (sipserver);
+  GNUNET_free (sig);
+  GNUNET_CRYPTO_rsa_key_free (bob_key);
+  GNUNET_CRYPTO_rsa_key_free (alice_key);
 }
 
 
-
 int
 main (int argc, char *argv[])
 {
   ok = 1;
-
   GNUNET_log_setup ("test-gns-simple-srv-lookup",
-#if VERBOSE
-                    "DEBUG",
-#else
                     "WARNING",
-#endif
                     NULL);
   GNUNET_TESTING_peer_run ("test-gns-simple-srv-lookup", "test_gns_simple_lookup.conf", &do_check, NULL);
+  GNUNET_DISK_directory_remove ("test-gns-simple-srv-lookup");
   return ok;
 }