X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fscalarproduct%2Ftest_scalarproduct.sh;h=eed9de30fe41cedf3c8d5559da1708917353a978;hb=cea95af17bb3bfaf65224d0ecd2db2308e333764;hp=ee828e4aae4b457a342f4ebb5e5052d647bc0a5b;hpb=d08487cfb5cd5854cd44c6d79dcfbb312fb83504;p=oweals%2Fgnunet.git diff --git a/src/scalarproduct/test_scalarproduct.sh b/src/scalarproduct/test_scalarproduct.sh index ee828e4aa..eed9de30f 100755 --- a/src/scalarproduct/test_scalarproduct.sh +++ b/src/scalarproduct/test_scalarproduct.sh @@ -1,33 +1,45 @@ #!/bin/bash - -#necessary to make the testing prefix deterministic, so we can access the config files -GNUNET_TESTING_PREFIX=/tmp/test-scalarproduct1337 -CFGA="-c ./test_scalarproduct_alice.conf" -CFGB="-c ./test_scalarproduct_bob.conf" - #can't use ` directly -SESSIONDATA="-k AAAA -e 10,10,10" -EXPECTED="2C0" - -gnunet-arm -s $CFGA -sleep 2 -gnunet-arm -s $CFGB -sleep 2 - -IDB=`gnunet-peerinfo -s $CFGB | awk -F "\x60" '{print $2}' | awk -F "'" '{print $1}'` - -gnunet-scalarproduct $CFGB $SESSIONDATA - -RESULT=`gnunet-scalarproduct $CFGA $SESSIONDATA -p $IDB` - -gnunet-arm -e $CFGA & -gnunet-arm -e $CFGB & - +# compute a simple scalar product +# payload for this test: +INPUTALICE="-k CCC -e 'AB,10;RO,3;FL,3;LOL,-1;'" +INPUTBOB="-k CCC -e 'BC,-20000;RO,1000;FL,100;LOL,24;'" + +# necessary to make the testing prefix deterministic, so we can access the config files +PREFIX=/tmp/test-scalarproduct`date +%H%M%S` + +# where can we find the peers config files? +CFGALICE="-c $PREFIX/0/config" +CFGBOB="-c $PREFIX/1/config" + +# launch two peers in line topology non-interactively +# +# interactive mode would terminate the test immediately +# because the rest of the script is already in stdin, +# thus redirecting stdin does not suffice) +#GNUNET_LOG='scalarproduct;;;;DEBUG' +GNUNET_TESTING_PREFIX=$PREFIX ../testbed/gnunet-testbed-profiler -n -c test_scalarproduct.conf -p 2 & +PID=$! +# sleep 1 is too short on most systems, 2 works on most, 5 seems to be safe +sleep 5 + +# get bob's peer ID, necessary for alice +PEERIDBOB=`gnunet-peerinfo -qs $CFGBOB` + +#GNUNET_LOG=';;;;DEBUG' +gnunet-scalarproduct $CFGBOB $INPUTBOB & +GNUNET_LOG=';;;;DEBUG' +RESULT=`gnunet-scalarproduct $CFGALICE $INPUTALICE -p $PEERIDBOB` + +# terminate the testbed +kill $PID + +EXPECTED="0CCC" if [ "$RESULT" == "$EXPECTED" ] then - echo "OK" - exit 0 + echo "OK" + exit 0 else - echo "Result $RESULT NOTOK" - exit 1 + echo "Result $RESULT NOTOK" + exit 1 fi