2022-05-21 08:24:49 -04:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
FIXTURE_DIR=$(readlink -f "$(dirname "$0")")
|
|
|
|
PROJECT_DIR="$FIXTURE_DIR/.."
|
|
|
|
GREEN='\033[0;32m'
|
|
|
|
RED='\033[0;31m'
|
|
|
|
NC='\033[0m'
|
|
|
|
|
|
|
|
run_fixture() {
|
|
|
|
cd "$FIXTURE_DIR/$1" || exit 1
|
|
|
|
source "test.sh"
|
|
|
|
NO_COLOR=1 CONFIG=config.toml "$PROJECT_DIR/target/debug/rustypaste" &
|
|
|
|
SERVER_PID=$!
|
|
|
|
trap 'kill -9 "$SERVER_PID" && wait "$SERVER_PID" 2> /dev/null' RETURN
|
|
|
|
sleep 1
|
2022-05-21 10:52:47 -04:00
|
|
|
( set -e;
|
|
|
|
setup
|
|
|
|
run_test
|
|
|
|
teardown
|
|
|
|
)
|
2022-05-21 08:24:49 -04:00
|
|
|
result=$?
|
|
|
|
return "$result"
|
|
|
|
}
|
|
|
|
|
|
|
|
main() {
|
|
|
|
find * -maxdepth 0 -type d -print0 | while IFS= read -r -d '' fixture; do
|
|
|
|
run_fixture "$fixture"
|
|
|
|
exit_status=$?
|
|
|
|
if [ "$exit_status" -eq 0 ]; then
|
|
|
|
echo -e "[${GREEN}ok${NC}] $fixture"
|
|
|
|
else
|
|
|
|
echo -e "[${RED}fail${NC}] $fixture"
|
|
|
|
exit "$exit_status"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
[ "$DEBUG" == 'true' ] && set -x && export RUST_LOG=debug
|
|
|
|
main
|