fixing the GNS multirecord multipeer test
authorChristian Grothoff <christian@grothoff.org>
Wed, 19 Feb 2020 20:52:43 +0000 (21:52 +0100)
committerChristian Grothoff <christian@grothoff.org>
Wed, 19 Feb 2020 20:52:54 +0000 (21:52 +0100)
src/gns/test_gns_lookup_peer1.conf
src/gns/test_gns_lookup_peer2.conf
src/gns/test_gns_multiple_record_lookup.sh

index 3b034f8d51b2547fa9004d8378965e32ae0372c0..1cf0ba62867896016e74c7317fe0b9baf9cb674f 100644 (file)
@@ -5,6 +5,8 @@ DISABLE = YES
 
 [PATHS]
 GNUNET_TEST_HOME = $GNUNET_TMP/test-gnunet-gns-peer-1/
+GNUNET_RUNTIME_DIR = $GNUNET_TMP/test-gnunet-gns-peer-1-system-runtime/
+GNUNET_USER_RUNTIME_DIR = $GNUNET_TMP/test-gnunet-gns-peer-1-user-runtime/
 
 [dht]
 START_ON_DEMAND = YES
@@ -42,12 +44,17 @@ WAN_QUOTA_IN = 1 GB
 WAN_QUOTA_OUT = 1 GB
 
 [transport]
-plugins = tcp
+plugins = unix
 NEIGHBOUR_LIMIT = 50
 PORT = 2091
 
-[transport-tcp]
-TIMEOUT = 300 s
+[transport-unix]
+UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-transport-plugin-unix1.sock
+
+[hostlist]
+SERVERS = http://localhost:9999/
+OPTIONS = -b
+IMMEDIATE_START = YES
 
 [nat]
 DISABLEV6 = YES
index d64fdcda365f1d8d2b9900767ed9a2b323e1d4eb..2e861ff0a2a4aa8e5bbcfebbe6f60348ac0198a6 100644 (file)
@@ -5,6 +5,8 @@ DISABLE = YES
 
 [PATHS]
 GNUNET_TEST_HOME = $GNUNET_TMP/test-gnunet-gns-peer-2/
+GNUNET_RUNTIME_DIR = $GNUNET_TMP/test-gnunet-gns-peer-2-runtime/
+GNUNET_USER_RUNTIME_DIR = $GNUNET_TMP/test-gnunet-gns-peer-2-user-runtime/
 
 [dht]
 START_ON_DEMAND = YES
@@ -42,17 +44,23 @@ AUTOCONNECT = YES
 FRIENDS-ONLY = NO
 MINIMUM-FRIENDS = 0
 
+[hostlist]
+SERVERS =
+HTTPPORT = 9999
+OPTIONS = -p
+IMMEDIATE_START = YES
+
+
 [ats]
 WAN_QUOTA_IN = 1 GB
 WAN_QUOTA_OUT = 1 GB
 
 [transport]
-plugins = tcp
+plugins = unix
 NEIGHBOUR_LIMIT = 50
-PORT = 2092
 
-[transport-tcp]
-TIMEOUT = 300 s
+[transport-unix]
+UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-transport-plugin-unix2.sock
 
 [nat]
 DISABLEV6 = YES
index fbd9a6b13b7cb31206d78f5aa19b43e6c0f82bda..2d00945d661e4e87adb5fa182fd7b0c66d124446 100755 (executable)
@@ -4,6 +4,10 @@ trap "gnunet-arm -e -c test_gns_lookup_peer1.conf" INT
 trap "gnunet-arm -e -c test_gns_lookup_peer2.conf" INT
 which timeout > /dev/null 2>&1 && DO_TIMEOUT="timeout 5"
 
+unset XDG_DATA_HOME
+unset XDG_CONFIG_HOME
+unset XDG_CACHE_HOME
+
 LOCATION=$(which gnunet-config)
 if [ -z $LOCATION ]
 then
@@ -27,18 +31,40 @@ LABEL="fnord"
 
 gnunet-arm -s -c test_gns_lookup_peer2.conf
 PKEY=`$DO_TIMEOUT gnunet-identity -V -C $OTHER_EGO -c test_gns_lookup_peer2.conf`
+
+# Note: if zonemaster is kept running, it MAY publish the "A" record in the
+# DHT immediately and then _LATER_ also the "AAAA" record. But as then there
+# will be TWO valid blocks in the DHT (one with only A and one with A and
+# AAAA), the subsequent GET for both may fail and only return the result with
+# just the "A" record).
+# If we _waited_ until the original block with just "A" expired, everything
+# would be fine, but we don't want to do that for the test, so we
+# simply pause publishing to the DHT until all records are defined.
+# In the future, it would be good to have an enhanced gnunet-namestore command
+# that would read a series of changes to be made to a record set from
+# stdin and do them _all_ *atomically*. Then we would not need to do this.
+
+gnunet-arm -c test_gns_lookup_peer2.conf -k zonemaster
+gnunet-arm -c test_gns_lookup_peer2.conf -k zonemaster-monitor
+
 gnunet-namestore -p -z $OTHER_EGO -a -n $LABEL -t A -V $TEST_IP -e 3600s -c test_gns_lookup_peer2.conf
 gnunet-namestore -p -z $OTHER_EGO -a -n $LABEL -t AAAA -V $TEST_IPV6 -e 3600s -c test_gns_lookup_peer2.conf
 gnunet-namestore -D -z $OTHER_EGO -n $LABEL
-gnunet-arm -e -c test_gns_lookup_peer2.conf
 
-echo "Second peer"
+gnunet-arm -c test_gns_lookup_peer2.conf -i zonemaster
+gnunet-arm -c test_gns_lookup_peer2.conf -i zonemaster-monitor
+
+
 gnunet-arm -s -c test_gns_lookup_peer1.conf
-echo "Second peer started"
+
+
 RESP=`$DO_TIMEOUT gnunet-gns --raw -u $LABEL.$PKEY -t ANY -c test_gns_lookup_peer1.conf`
 RESP1=`$DO_TIMEOUT gnunet-gns --raw -u $LABEL.$PKEY -t A -c test_gns_lookup_peer1.conf`
 RESP2=`$DO_TIMEOUT gnunet-gns --raw -u $LABEL.$PKEY -t AAAA -c test_gns_lookup_peer1.conf`
+
+
 gnunet-arm -e -c test_gns_lookup_peer1.conf
+gnunet-arm -e -c test_gns_lookup_peer2.conf
 
 rm -rf `gnunet-config -c test_gns_lookup_peer1.conf -f -s paths -o GNUNET_TEST_HOME`
 rm -rf `gnunet-config -c test_gns_lookup_peer2.conf -f -s paths -o GNUNET_TEST_HOME`