b0c9144c2c95449fcb168d030d90d3c6c1c51f6b
[oweals/gnunet.git] / src / gns / test_gns_txt_lookup.sh
1 #!/bin/sh
2 # This file is in the public domain.
3 trap "gnunet-arm -e -c test_gns_lookup.conf" SIGINT
4
5 LOCATION=$(which gnunet-config)
6 if [ -z $LOCATION ]
7 then
8   LOCATION="gnunet-config"
9 fi
10 $LOCATION --version 1> /dev/null
11 if test $? != 0
12 then
13         echo "GNUnet command line tools cannot be found, check environmental variables PATH and GNUNET_PREFIX"
14         exit 77
15 fi
16
17 rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME`
18 which timeout > /dev/null 2>&1 && DO_TIMEOUT="timeout 30"
19 TEST_TXT="GNS powered txt record data"
20 MY_EGO="myego"
21 LABEL="testtxt"
22 gnunet-arm -s -c test_gns_lookup.conf
23 gnunet-identity -C $MY_EGO -c test_gns_lookup.conf
24 gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t TXT -V "$TEST_TXT" -e never -c test_gns_lookup.conf
25 RES_TXT=`$DO_TIMEOUT gnunet-gns --raw -u $LABEL.$MY_EGO -t TXT -c test_gns_lookup.conf`
26 gnunet-namestore -z $MY_EGO -d -n $LABEL -t TXT -V "$TEST_TXT" -e never -c test_gns_lookup.conf
27 gnunet-identity -D $MY_EGO -c test_gns_lookup.conf
28 gnunet-arm -e -c test_gns_lookup.conf
29 rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME`
30
31 if [ "$RES_TXT" = "$TEST_TXT" ]
32 then
33   exit 0
34 else
35   echo "Failed to resolve to proper TXT, got '$RES_TXT'."
36   exit 1
37 fi