#!/bin/bash

DISPERSY=$1
if [ ! -f "$DISPERSY/tool/main.py" ]; then
    echo "usage: $0 dispersy_trunk"
    exit 1
fi

echo "================================================================================"
echo "Testcases in __debug__ mode"
echo "================================================================================"

rm -f sqlite/dispersy.db*
rm -f dispersy.log

python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyBatchScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyBootstrapServers || exit 1
# python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyBootstrapServersStresstest || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyClassificationScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyCryptoScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyDestroyCommunityScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyDynamicSettings || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyIdenticalPayloadScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyMemberTagScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyMissingMessageScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersySignatureScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersySyncScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyTimelineScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyUndoScript || exit 1
python -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.tool.callbackscript.DispersyCallbackScript || exit 1

echo "================================================================================"
echo "Testcases in optimized mode"
echo "================================================================================"

rm -f sqlite/dispersy.db*
rm -f dispersy.log

python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyBatchScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyBootstrapServers || exit 1
# python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyBootstrapServersStresstest || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyClassificationScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyCryptoScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyDestroyCommunityScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyDynamicSettings || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyIdenticalPayloadScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyMemberTagScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyMissingMessageScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersySignatureScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersySyncScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyTimelineScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.script.DispersyUndoScript || exit 1
python -O -c "from $DISPERSY.tool.main import main; main()" --script $DISPERSY.tool.callbackscript.DispersyCallbackScript || exit 1

echo "================================================================================"
echo "Finished testcases successfully"
echo "================================================================================"
