Something went wrong. Try again.
Commit patches to Git, Darcs, Mercurial, Bazaar, Monotone, Subversion, or CVS
Something went wrong. Try again.
1.2 kB · 62 lines
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#!/bin/bashset -eif [ "$1" == "-v" -o "$1" == "--verbose" ]; then shift set -x export V=--verbose export V_SH=-xfiTESTDIR=$(dirname $0)TESTDIR_ABS=$(cd $TESTDIR && pwd)export COMMIT_PATCH="$TESTDIR_ABS/../commit-patch $V"VCSes=$((cd "$TESTDIR/vcs" && ls -1 *.sh) | sed -e 's/\(.*\)\.sh/\1/')Tests=$(cd "$TESTDIR" && ls -1 *.test)usage () { set +x echo "Usage:" echo " $0 [-v|--verbose] <VC>" echo "" echo " Where <VC> is one of: $(echo $VCSes)" exit 1;}VCs=${1:-$VCSes}[ "$VCs" == "--help" -o "$VCs" == "-h" ] && usagefor vc in "$TESTDIR/vcs/"*.sh; do source "$vc"donerun_test () { export VC=$1 TEST=$2 [ -d "$TESTDIR/tmp" ] || mkdir "$TESTDIR/tmp" WD=$(mktemp -d "$TESTDIR_ABS/tmp/wd.XXXXXXX") REPO=$(mktemp -d "$TESTDIR_ABS/tmp/repo.XXXXXXX") ${VC}_init "$WD" "$REPO" if ! (cd "$WD" && sh $V_SH -e "$TESTDIR_ABS/$TEST"); then echo "$VC / $TEST: Test failed." exit 1; fi ${VC}_cleanup "$WD" "$REPO" rm -rf "$WD" rm -rf "$REPO"}for vc in $VCs; do for t in $Tests; do run_test $vc $t donedoneecho "All tests appear to pass."