42 lines
1.0 KiB
Bash
42 lines
1.0 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Check arguments
|
|
if [ "$#" -lt 1 ]; then
|
|
echo "Usage: $0 protocol1[=filter] [protocol2 ...] or \"$0 'protocol1[=filter] protocol2'\""
|
|
exit 1
|
|
fi
|
|
if [ "$#" -eq 1 ] && [[ "$1" == *" "* ]]; then
|
|
IFS=' ' read -r -a args <<< "$1"
|
|
else
|
|
args=("$@")
|
|
fi
|
|
|
|
# Check required binaries
|
|
errors=()
|
|
for bin in tycho-indexer tycho-protocol-sdk substreams forge cast; do
|
|
if command -v "$bin" >/dev/null 2>&1; then
|
|
"$bin" --version || echo "$bin does not support --version"
|
|
else
|
|
errors+=("Binary '$bin' not found in PATH")
|
|
fi
|
|
done
|
|
if [ "${#errors[@]}" -ne 0 ]; then
|
|
for err in "${errors[@]}"; do
|
|
echo "$err"
|
|
done
|
|
exit 1
|
|
fi
|
|
|
|
# Run tests
|
|
for test in "${args[@]}"; do
|
|
protocol="${test%%=*}"
|
|
filter="${test#*=}"
|
|
echo "Running tests for protocol: $protocol with filter: $filter"
|
|
if [[ "$test" == *"="* ]]; then
|
|
tycho-protocol-sdk --package "$protocol" --db-url "$DATABASE_URL" --match-test "$filter"
|
|
else
|
|
tycho-protocol-sdk --package "$protocol" --db-url "$DATABASE_URL"
|
|
fi
|
|
done
|