-simplify to use new namestore API to skip initial iteration, document now passing...
[oweals/gnunet.git] / src / gns / test_gns_quickupdate.sh
1 #!/bin/bash
2 trap "gnunet-arm -e -c test_gns_lookup.conf" SIGINT
3 rm -r `gnunet-config -c test_gns_lookup.conf -s PATHS -o GNUNET_HOME -f`
4 which timeout &> /dev/null && DO_TIMEOUT="timeout 5"
5 TEST_IP="127.0.0.1"
6 gnunet-arm -s -c test_gns_lookup.conf
7 gnunet-identity -C testego -c test_gns_lookup.conf
8 gnunet-identity -C delegatedego -c test_gns_lookup.conf
9 DELEGATED_PKEY=$(gnunet-identity -d -c test_gns_lookup.conf | grep delegatedego | awk '{print $3}')
10 gnunet-arm -i gns -c test_gns_lookup.conf
11 gnunet-namestore -p -z testego -a -n b -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_lookup.conf
12 # Give GNS/namestore time to fully start and finish initial iteration
13 sleep 2
14 # Performing namestore update
15 gnunet-namestore -p -z delegatedego -a -n www -t A -V $TEST_IP -e never -c test_gns_lookup.conf
16 # Give GNS chance to observe store event via monitor
17 sleep 1
18 gnunet-namestore -z delegatedego -d -n www -t A -V $TEST_IP  -e never -c test_gns_lookup.conf
19 # give GNS chance to process monitor event
20 sleep 1
21 # stop everything and restart to check that DHT PUT did happen
22 gnunet-arm -k gns -c test_gns_lookup.conf
23 gnunet-arm -k namestore -c test_gns_lookup.conf
24 gnunet-arm -k namecache -c test_gns_lookup.conf
25 # Purge nameacache, as we might otherwise fetch from there
26 rm -r `gnunet-config -c test_gns_lookup.conf -s namecache-sqlite -o FILENAME`
27 gnunet-arm -i namestore -c test_gns_lookup.conf
28 gnunet-arm -i namecache -c test_gns_lookup.conf
29 gnunet-arm -i gns -c test_gns_lookup.conf
30 RES_IP=`$DO_TIMEOUT gnunet-gns --raw -z testego -u www.b.gnu -t A -c test_gns_lookup.conf`
31 gnunet-namestore -z testego -d -n b -t PKEY -V $DELEGATED_PKEY  -e never -c test_gns_lookup.conf
32 gnunet-identity -D testego -c test_gns_lookup.conf
33 gnunet-identity -D delegatedego -c test_gns_lookup.conf
34 gnunet-arm -e -c test_gns_lookup.conf
35
36 if [ "$RES_IP" == "$TEST_IP" ]
37 then
38   exit 0
39 else
40   echo "Failed to properly resolve IP, got $RES_IP."
41   exit 1
42 fi