clean up for configs
[oweals/gnunet.git] / src / scalarproduct / test_scalarproduct.sh
1 #!/bin/bash
2 # compute a simple scalar product
3 # payload for this test:
4 INPUTALICE="-k CCC -e 3,3,-1"
5 INPUTBOB="-k CCC -e 1000,100,24"
6
7 # necessary to make the testing prefix deterministic, so we can access the config files
8 PREFIX=/tmp/test-scalarproduct`date +%H%M%S`
9
10 # where can we find the peers config files?
11 CFGALICE="-c $PREFIX/0/config"
12 CFGBOB="-c $PREFIX/1/config"
13
14 # launch two peers in line topology non-interactively
15 #
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' GNUNET_TESTING_PREFIX=$PREFIX ../testbed/gnunet-testbed-profiler -n -c test_scalarproduct.conf -p 2 &
20 PID=$!
21 # sleep 1 is too short on most systems, 2 works on most, 5 seems to be safe
22 sleep 5
23
24 # get bob's peer ID, necessary for alice
25 PEERIDBOB=`gnunet-peerinfo -qs $CFGBOB`
26
27 GNUNET_LOG=';;;;DEBUG' gnunet-scalarproduct $CFGBOB $INPUTBOB &
28 RESULT=`GNUNET_LOG=';;;;DEBUG' gnunet-scalarproduct $CFGALICE $INPUTALICE -p $PEERIDBOB`
29
30 # terminate the testbed
31 kill $PID 
32
33 EXPECTED="0CCC"
34 if [ "$RESULT" == "$EXPECTED" ]
35 then
36         echo "OK"
37         exit 0
38 else
39         echo "Result $RESULT NOTOK"
40         exit 1
41 fi
42