From e270c55f02ce8839a6a2f4fbc316b213e4eaa9d1 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 3 May 2015 12:02:42 +0100 Subject: Tests: New tests/adhoc helper; document tests/using-intree too --- tests/adhoc | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 tests/adhoc (limited to 'tests/adhoc') diff --git a/tests/adhoc b/tests/adhoc new file mode 100755 index 0000000..f252602 --- /dev/null +++ b/tests/adhoc @@ -0,0 +1,49 @@ +#!/bin/bash +# +# usage: +# after tests/tests/some-test has been run (and maybe failed) +# cd tests/tmp/some-test/blah +# ../../adhoc ../../../dgit some options +# or +# after tests/tests/some-test has been run (and maybe failed) +# cd tests/tmp/some-test/blah +# ../../adhoc some rune run by some piece of infrastructure +# +# effects: +# directly sets the env variables which arrange to use +# progrmas etc. from the working tree + +ourname=adhoc + +case $0 in +*/$ourname) + : ${DGIT_TEST_INTREE:=$(realpath "${0%/$ourname}/..")} + ;; +*) + echo >&2 "$ourname must be invoked as .../$ourname not $0" + exit 127 + ;; +esac + +export DGIT_TEST_INTREE + +. $DGIT_TEST_INTREE/tests/lib-core + +t-set-intree + +pwd=$(realpath "$(pwd)") +basis=$DGIT_TEST_INTREE/tests/tmp +case "$pwd" in +"$basis" | "$basis"/*) + testname=${pwd/"$basis/"/} + testname=${testname%%/*} + tmp="$basis/$testname" + ;; +*) + fail "$ourname pwd must be inside some test (in $basis), not $pwd" + ;; +esac + +export ADTTMP=$tmp HOME=$tmp DGIT_TEST_DUMMY_DIR=$tmp DGIT_TEST_TMP=$tmp + +exec "$@" -- cgit v1.2.3