2 # compute a simple scalar product
3 # payload for this test:
4 INPUTALICE="-k CCC -e 'AB,10;RO,-1;FL,1;LOL,1;'"
5 INPUTBOB="-k CCC -e 'BC,20;RO,1;FL,1;LOL,0;'"
7 # necessary to make the testing prefix deterministic, so we can access the config files
8 PREFIX=/tmp/test-scalarproduct`date +%H%M%S`
10 # where can we find the peers config files?
11 CFGALICE="-c $PREFIX/0/config"
12 CFGBOB="-c $PREFIX/1/config"
14 # launch two peers in line topology non-interactively
16 # interactive mode would terminate the test immediately
17 # because the rest of the script is already in stdin,
18 # thus redirecting stdin does not suffice)
19 # GNUNET_LOG='scalarproduct;;;;DEBUG'
20 GNUNET_TESTING_PREFIX=$PREFIX ../testbed/gnunet-testbed-profiler -n -c test_scalarproduct.conf -p 2 &
22 # sleep 1 is too short on most systems, 2 works on most, 5 seems to be safe
25 which timeout &> /dev/null && DO_TIMEOUT="timeout 15"
27 # get bob's peer ID, necessary for alice
28 PEERIDBOB=`${DO_TIMEOUT} gnunet-peerinfo -qs $CFGBOB`
30 #GNUNET_LOG=';;;;DEBUG'
31 ${DO_TIMEOUT} gnunet-scalarproduct $CFGBOB $INPUTBOB &
32 #GNUNET_LOG=';;;;DEBUG'
33 RESULT=`${DO_TIMEOUT} gnunet-scalarproduct $CFGALICE $INPUTALICE -p $PEERIDBOB`
35 # terminate the testbed
39 if [ "$RESULT" == "$EXPECTED" ]
44 echo "Result $RESULT NOTOK"