#!/bin/bash # Cursory tests that things are set up docker run --name "tp-analysis-test" --rm -d -i tp-analysis:latest || exit 1 # Check that dependencies are installed docker exec tp-analysis-test sh -c "cd /home/analysis/belarus-2020-2021 && command -v curl && command -v python3 && ./scripts/check-python-deps.py" || exit 1 # Check that we can compile LaTeX cp parsing-results/table-header.tex test-table.tex && \ cat parsing-results/troll-patrol-table-header.tex >> test-table.tex && \ echo '1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\' >> test-table.tex && \ cat parsing-results/table-footer.tex >> test-table.tex && \ docker cp test-table.tex tp-analysis-test:/home/analysis/parsing-results/test-table.tex && \ docker exec tp-analysis-test sh -c "cd /home/analysis/parsing-results && while pdflatex test-table.tex && grep -q 'Rerun to get' test-table.log; do true; done" && \ docker cp tp-analysis-test:/home/analysis/parsing-results/test-table.pdf test-table.pdf || exit 1 docker stop tp-analysis-test # Unit tests for the three versions of Lox allpassed=true docker run --name "lox-old-test" --rm -d -i lox-old:latest || exit 1 for i in open_invite trust_promotion level0_migration level_up issue_invite redeem_invite mark_unreachable blockage_migration; do result=$(docker exec lox-old-test cargo test --release --features fast test_$i 2> /dev/null | grep "$i") echo "$result" if [[ "$result" != *" ... ok" ]]; then allpassed=false fi done docker stop lox-old-test docker run --name "lox-new-test" --rm -d -i lox-new:latest || exit 1 for i in check_blockage issue_invite redeem_invite trust_migration update_cred level_up blockage_migration open_invitation update_invite trust_promotion; do result=$(docker exec lox-new-test cargo test --release --features bridgeauth,test,fast test_$i 2> /dev/null | grep "$i") echo "$result" if [[ "$result" != *" ... ok" ]]; then allpassed=false fi done docker stop lox-new-test docker run --name "troll-patrol-test" --rm -d -i troll-patrol:latest || exit 1 for i in check_blockage issue_invite redeem_invite trust_migration update_cred level_up blockage_migration open_invitation update_invite trust_promotion report_protocols; do result=$(docker exec troll-patrol-test cargo test --release --features bridgeauth,test,fast test_$i 2> /dev/null | grep "$i") echo "$result" if [[ "$result" != *" ... ok" ]]; then allpassed=false fi done docker stop troll-patrol-test if [ "$allpassed" == "true" ]; then echo "Everything seems to be set up correctly!" else echo "Some tests failed." fi