#!/usr/bin/env bash
|
|
#
|
|
# This is a convenience script that takes a list of testnet manifests
|
|
# as arguments and runs each one of them sequentially. If a testnet
|
|
# fails, the container logs are dumped to stdout along with the testnet
|
|
# manifest.
|
|
#
|
|
# This is mostly used to run generated networks in nightly CI jobs.
|
|
#
|
|
|
|
# Don't set -e, since we explicitly check status codes ourselves.
|
|
set -u
|
|
|
|
if [[ $# == 0 ]]; then
|
|
echo "Usage: $0 [MANIFEST...]" >&2
|
|
exit 1
|
|
fi
|
|
|
|
for MANIFEST in "$@"; do
|
|
START=$SECONDS
|
|
echo "==> Running testnet $MANIFEST..."
|
|
./build/runner -f "$MANIFEST"
|
|
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "==> Testnet $MANIFEST failed, dumping manifest..."
|
|
cat "$MANIFEST"
|
|
|
|
echo "==> Dumping container logs for $MANIFEST..."
|
|
./build/runner -f "$MANIFEST" logs
|
|
exit 1
|
|
fi
|
|
|
|
echo "==> Completed testnet $MANIFEST in $(( SECONDS - START ))s"
|
|
echo ""
|
|
done
|