Mercurial > evolve
view tests/_exc-util.sh @ 832:46e81a5d2d94
exchange: add test case for A.3
Allow arbitrary arguments to dotest. This allow to push --force when the push
creates more heads.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 03 Mar 2014 14:59:43 -0800 |
parents | a6af6919888d |
children | 001f8508910a |
line wrap: on
line source
#!/bin/sh cat >> $HGRCPATH <<EOF [web] push_ssl = false allow_push = * [ui] logtemplate ="{node|short} ({phase}): {desc}\n" [phases] publish=False [extensions] hgext.rebase= EOF echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH mkcommit() { echo "$1" > "$1" hg add "$1" hg ci -m "$1" } getid() { hg id --hidden --debug -ir "$1" } setuprepos() { echo creating test repo for test case $1 mkdir $1 cd $1 echo - pulldest hg init pushdest cd pushdest mkcommit O hg phase --public . cd .. echo - main hg clone -q pushdest main echo - pushdest hg clone -q main pulldest echo 'cd into `main` and proceed with env setup' } dotest() { # dotest TESTNAME [TARGETNODE] testcase=$1 shift target="$1" if [ $# -gt 0 ]; then shift fi 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 .. }