aiken/examples/acceptance_tests/run-all-script-contexts

32 lines
689 B
Bash
Executable File

#!/usr/bin/env bash
AIKEN=${1:-"cargo run -r --quiet --"}
TESTS=()
for lang in $(ls script_context); do
for interaction in $(find script_context/$lang/validators -type f); do
title=$(basename $interaction)
title="${title%.*}"
cd script_context/$lang
./test.sh $title "$AIKEN" &
TESTS+=("$title,$lang,$!")
cd - 1>/dev/null
done
done
for args in ${TESTS[@]}; do
IFS=',' read title lang pid <<< "${args}"
wait $pid
code=("$?")
log="script_context/$lang/$title.log"
if [ $code -ne 0 ]; then
echo "=== $title ❌ (code=$code)"
cat $log && rm -f $log
exit $code
else
echo "=== $title"
cat $log && rm -f $log
fi
echo ""
done