diff -r f3b3a09ba312 -r a6af6919888d tests/_exc-util.sh --- a/tests/_exc-util.sh Mon Mar 03 13:27:53 2014 -0800 +++ b/tests/_exc-util.sh Mon Mar 03 14:03:41 2014 -0800 @@ -38,3 +38,58 @@ hg clone -q main pulldest echo 'cd into `main` and proceed with env setup' } + +dotest() { +# dotest TESTNAME [TARGETNODE] + + testcase=$1 + target="$2" + targetnode="" + desccall="" + cd $testcase + echo "## Running testcase $testcase" + if [ -n "$target" ]; then + desccall="desc("\'"$target"\'")" + targetnode="`hg -R main id -qr \"$desccall\"`" + echo "# testing echange of \"$target\" ($targetnode)" + fi + echo "## initial state" + echo "# obstore: main" + hg -R main debugobsolete + echo "# obstore: pushdest" + hg -R pushdest debugobsolete + echo "# obstore: pulldest" + hg -R pulldest debugobsolete + + if [ -n "$target" ]; then + echo "## pushing \"$target\"" from main to pushdest + hg -R main push -r "$desccall" pushdest + else + echo "## pushing from main to pushdest" + hg -R main push pushdest + fi + echo "## post push state" + echo "# obstore: main" + hg -R main debugobsolete + echo "# obstore: pushdest" + hg -R pushdest debugobsolete + echo "# obstore: pulldest" + hg -R pulldest debugobsolete + if [ -n "$target" ]; then + echo "## pulling \"$targetnode\"" from main into pulldest + hg -R pulldest pull -r $targetnode main + else + echo "## pulling from main into pulldest" + hg -R pulldest pull main + fi + echo "## post pull state" + echo "# obstore: main" + hg -R main debugobsolete + echo "# obstore: pushdest" + hg -R pushdest debugobsolete + echo "# obstore: pulldest" + hg -R pulldest debugobsolete + + cd .. + +}