Changed Namestore API, changed error handling, changed gns record json
[oweals/gnunet.git] / src / gns / test_gns_lookup.sh
1 #!/bin/bash
2 trap "gnunet-arm -e -c test_gns_lookup.conf" SIGINT
3
4 LOCATION=$(which gnunet-config)
5 if [ -z $LOCATION ]
6 then
7   LOCATION="gnunet-config"
8 fi
9 $LOCATION --version 1> /dev/null
10 if test $? != 0
11 then
12         echo "GNUnet command line tools cannot be found, check environmental variables PATH and GNUNET_PREFIX"
13         exit 77
14 fi
15
16 rm -rf `gnunet-config -c test_gns_lookup.conf -s PATHS -o GNUNET_HOME -f`
17 which timeout &> /dev/null && DO_TIMEOUT="timeout 30"
18 TEST_IP="127.0.0.1"
19 MY_EGO="myego"
20 LABEL="www"
21 gnunet-arm -s -c test_gns_lookup.conf
22 gnunet-identity -C $MY_EGO -c test_gns_lookup.conf
23 gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t A -V $TEST_IP -e never -c test_gns_lookup.conf
24 RES_IP=`$DO_TIMEOUT gnunet-gns --raw -u $LABEL.$MY_EGO -t A -c test_gns_lookup.conf`
25 gnunet-namestore -z $MY_EGO -d -n $LABEL -t A -V $TEST_IP -e never -c test_gns_lookup.conf
26 gnunet-identity -D $MY_EGO -c test_gns_lookup.conf
27 gnunet-arm -e -c test_gns_lookup.conf
28
29 if [ "$RES_IP" == "$TEST_IP" ]
30 then
31   exit 0
32 else
33   echo "FAIL: Failed to resolve to proper IP, got $RES_IP."
34   exit 1
35 fi