aboutsummaryrefslogtreecommitdiff
path: root/src/dht/test_dht_tools.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/dht/test_dht_tools.sh')
-rwxr-xr-xsrc/dht/test_dht_tools.sh73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/dht/test_dht_tools.sh b/src/dht/test_dht_tools.sh
new file mode 100755
index 0000000..f83c26a
--- /dev/null
+++ b/src/dht/test_dht_tools.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+
+out=`mktemp /tmp/test-gnunet-dht-logXXXXXXXX`
+tempcfg=`mktemp /tmp/test_dht_api_peer1.XXXXXXXX`
+checkout="check.out"
+armexe="gnunet-arm -c $tempcfg "
+putexe="gnunet-dht-put -c $tempcfg "
+getexe="gnunet-dht-get -c $tempcfg "
+peerinfo="gnunet-peerinfo -c $tempcfg -sq"
+stop_arm()
+{
+ if ! $armexe $DEBUG -e -d > $out ; then
+ echo "FAIL: error running $armexe"
+ echo "Command output was:"
+ cat $out
+ rm -f $out $tempcfg
+ exit 1
+ fi
+ rm -f $out $tempcfg
+}
+
+cp test_dht_api_peer1.conf $tempcfg
+
+echo -n "TEST: Generating hostkey..."
+if ! $peerinfo > $out ; then
+ echo "FAIL: error running $peerinfo"
+ echo "Command output was:"
+ cat $out
+ exit 1
+fi
+echo "PASS"
+
+echo -n "TEST: Starting ARM..."
+if ! $armexe $DEBUG -s > $out ; then
+ echo "FAIL: error running $armexe"
+ echo "Command output was:"
+ cat $out
+ stop_arm
+ exit 1
+fi
+echo "PASS"
+sleep 1
+
+echo -n "TEST: Testing put..."
+if ! $putexe -k testkey -d testdata -t 8 > $out ; then
+ echo "FAIL: error running $putexe"
+ echo "Command output was:"
+ cat $out
+ stop_arm
+ exit 1
+fi
+echo "PASS"
+sleep 1
+
+echo -n "TEST: Testing get..."
+echo "Result 0, type 8:" > $checkout
+echo "testdata" >> $checkout
+
+if ! $getexe -k testkey -T 5 -t 8 > $out ; then
+ echo "FAIL: error running $putexe"
+ echo "Command output was:"
+ cat $out
+ stop_arm
+ exit 1
+fi
+
+if ! diff --strip-trailing-cr -q $out $checkout ; then
+ echo "FAIL: $out and $checkout differ"
+ stop_arm
+ exit 1
+fi
+echo "PASS"
+stop_arm