aboutsummaryrefslogtreecommitdiff
path: root/src/contrib/service/scalarproduct/test_scalarproduct_negative.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/contrib/service/scalarproduct/test_scalarproduct_negative.sh')
-rwxr-xr-xsrc/contrib/service/scalarproduct/test_scalarproduct_negative.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/contrib/service/scalarproduct/test_scalarproduct_negative.sh b/src/contrib/service/scalarproduct/test_scalarproduct_negative.sh
new file mode 100755
index 000000000..459406836
--- /dev/null
+++ b/src/contrib/service/scalarproduct/test_scalarproduct_negative.sh
@@ -0,0 +1,49 @@
1#!/bin/bash
2# compute a simple scalar product
3# payload for this test:
4INPUTALICE="-k CCC -e 'AB,10;RO,-3;FL,-3;LOL,1;'"
5INPUTBOB="-k CCC -e 'BC,-20000;RO,1000;FL,100;LOL,24;'"
6
7# necessary to make the testing prefix deterministic, so we can access the config files
8unset XDG_DATA_HOME
9unset XDG_CONFIG_HOME
10
11PREFIX=/tmp/test-scalarproduct`date +%H%M%S`
12
13# where can we find the peers config files?
14CFGALICE="-c $PREFIX/0/config"
15CFGBOB="-c $PREFIX/1/config"
16
17which timeout >/dev/null 2>&1 && DO_TIMEOUT="timeout 15"
18
19# launch two peers in line topology non-interactively
20#
21# interactive mode would terminate the test immediately
22# because the rest of the script is already in stdin,
23# thus redirecting stdin does not suffice)
24#GNUNET_LOG='scalarproduct;;;;DEBUG'
25GNUNET_TESTING_PREFIX=$PREFIX ../testbed/gnunet-testbed-profiler -n -c test_scalarproduct.conf -p 2 &
26PID=$!
27# sleep 1 is too short on most systems, 2 works on most, 5 seems to be safe
28sleep 5
29
30# get bob's peer ID, necessary for alice
31PEERIDBOB=`${DO_TIMEOUT} gnunet-peerinfo -qs $CFGBOB`
32
33#GNUNET_LOG=';;;;DEBUG'
34${DO_TIMEOUT} gnunet-scalarproduct $CFGBOB $INPUTBOB &
35#RESULT=`GNUNET_LOG=';;;;DEBUG'
36RESULT=`${DO_TIMEOUT} gnunet-scalarproduct $CFGALICE $INPUTALICE -p $PEERIDBOB`
37
38# terminate the testbed
39kill $PID
40
41EXPECTED="-0CCC"
42if [ "$RESULT" = "$EXPECTED" ]
43then
44 echo "OK"
45 exit 0
46else
47 echo "Result $RESULT, expected $EXPECTED NOTOK"
48 exit 1
49fi