blob: 555beba46b60fcde936917ed816efd289533fb75 [file] [log] [blame]
#!/bin/bash
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
BIN_DIR=$SCRIPT_DIR/../../release/examples
BIN=./private_join_and_compute
cd $BIN_DIR
USER1=Bank_A
TOKEN1=token1
USER2=Bank_B
TOKEN2=token2
USER3=Bank_C
TOKEN3=token3
USER4=Bank_D
TOKEN4=token4
DATA1=$SCRIPT_DIR/four_party_data/bank_a.txt
DATA2=$SCRIPT_DIR/four_party_data/bank_b.txt
DATA3=$SCRIPT_DIR/four_party_data/bank_c.txt
DATA4=$SCRIPT_DIR/four_party_data/bank_d.txt
# check ports
for port in 5554 5555 3444 6016 5065 5066; do
if ! lsof -i :$port > /dev/null; then
echo "[-] port $port is not open"
echo "[-] please run service.sh start|restart to launch services"
exit 1
fi
done
assert_eq() {
if [ "`echo $1`" != "`echo $2`" ]; then
echo "Result mismatch:"
diff <(echo "$1") <(echo $2)
exit 1
else
echo "$1"
fi
}
$BIN create_task $USER1 $TOKEN1 $DATA1 "$USER2|$USER3|$USER4" 2>&1 | tee create.log
TASK_ID=`cat create.log | grep "Task_id:" | awk -F': ' '{print $2}' | sed 's/\n//'`
time `$BIN approve_task $USER2 $TOKEN2 $TASK_ID $USER1 $DATA2 > /dev/null`
time `$BIN approve_task $USER3 $TOKEN3 $TASK_ID $USER1 $DATA3 > /dev/null`
time `$BIN approve_task $USER4 $TOKEN4 $TASK_ID $USER1 $DATA4 > /dev/null`
time `$BIN launch_task $USER2 $TOKEN2 $TASK_ID > /dev/null`
time `$BIN get_result $USER1 $TOKEN1 $TASK_ID > /dev/null `
time `$BIN get_result $USER2 $TOKEN2 $TASK_ID > /dev/null `
time `$BIN get_result $USER3 $TOKEN3 $TASK_ID > /dev/null `
time `$BIN get_result $USER4 $TOKEN4 $TASK_ID > /dev/null `