# HG changeset patch # User Pierre-Yves David # Date 1490088312 -3600 # Node ID d0bc98161794e6b85f98ce814c6fca49a4ef8372 # Parent e9d5f54765a27e09d35f48dda23db7e6f5b8320a tests: move exchange utility in testlib We have a testlib directory now lets use it. diff -r e9d5f54765a2 -r d0bc98161794 tests/_exc-util.sh --- a/tests/_exc-util.sh Tue Mar 14 16:56:48 2017 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -#!/bin/sh - -cat >> $HGRCPATH <> $HGRCPATH - -mkcommit() { - echo "$1" > "$1" - hg add "$1" - hg ci -m "$1" -} -getid() { - hg log --hidden --template '{node}\n' --rev "$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 | sort - echo "# obstore: pushdest" - hg -R pushdest debugobsolete | sort - echo "# obstore: pulldest" - hg -R pulldest debugobsolete | sort - - 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 | sort - echo "# obstore: pushdest" - hg -R pushdest debugobsolete | sort - echo "# obstore: pulldest" - hg -R pulldest debugobsolete | sort - 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 | sort - echo "# obstore: pushdest" - hg -R pushdest debugobsolete | sort - echo "# obstore: pulldest" - hg -R pulldest debugobsolete | sort - - cd .. - -} diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-A1.t --- a/tests/test-exchange-A1.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-A1.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh ==== A.1.1 pushing a single head ==== .. diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-A2.t --- a/tests/test-exchange-A2.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-A2.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === A.2 Two heads === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-A3.t --- a/tests/test-exchange-A3.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-A3.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === A.3 new branch created === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-A4.t --- a/tests/test-exchange-A4.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-A4.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === A.4 Push in the middle of the obsolescence chain === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-A5.t --- a/tests/test-exchange-A5.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-A5.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === A.5 partial reordering === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-A6.t --- a/tests/test-exchange-A6.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-A6.t Tue Mar 21 10:25:12 2017 +0100 @@ -3,7 +3,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === A.6 between existing changeset === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-A7.t --- a/tests/test-exchange-A7.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-A7.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === A.7 Non targeted common changeset === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-B1.t --- a/tests/test-exchange-B1.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-B1.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === B.1 Prune on non-targeted common changeset === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-B2.t --- a/tests/test-exchange-B2.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-B2.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === B.2 Pruned changeset on head: nothing pushed === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-B3.t --- a/tests/test-exchange-B3.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-B3.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === B.3 Pruned changeset on non-pushed part of the history === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-B4.t --- a/tests/test-exchange-B4.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-B4.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === B.4 Pruned changeset on common part of history === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-B5.t --- a/tests/test-exchange-B5.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-B5.t Tue Mar 21 10:25:12 2017 +0100 @@ -3,7 +3,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === B.5 Push of a children of changeset which successors is pruned === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-B6.t --- a/tests/test-exchange-B6.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-B6.t Tue Mar 21 10:25:12 2017 +0100 @@ -4,7 +4,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh == B.6 Pruned changeset with ancestors not in pushed set === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-B7.t --- a/tests/test-exchange-B7.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-B7.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === B.7 Prune on non-targeted common changeset === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-C1.t --- a/tests/test-exchange-C1.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-C1.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === C.1 Multiple pruned changeset atop each other === .. diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-C2.t --- a/tests/test-exchange-C2.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-C2.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === C.2 Pruned changeset on precursors === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-C3.t --- a/tests/test-exchange-C3.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-C3.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === C.3 Pruned changeset on precursors of another pruned one === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-C4.t --- a/tests/test-exchange-C4.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-C4.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === C.4 multiple successors, one is pruned === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-D1.t --- a/tests/test-exchange-D1.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-D1.t Tue Mar 21 10:25:12 2017 +0100 @@ -1,7 +1,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === D.1 Pruned changeset based on missing precursor of something not present === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-D2.t --- a/tests/test-exchange-D2.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-D2.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === D.2 missing prune target (prune in "pushed set") === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-D3.t --- a/tests/test-exchange-D3.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-D3.t Tue Mar 21 10:25:12 2017 +0100 @@ -3,7 +3,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === D.2 missing prune target (prune in "pushed set") === diff -r e9d5f54765a2 -r d0bc98161794 tests/test-exchange-D4.t --- a/tests/test-exchange-D4.t Tue Mar 14 16:56:48 2017 -0700 +++ b/tests/test-exchange-D4.t Tue Mar 21 10:25:12 2017 +0100 @@ -2,7 +2,7 @@ Initial setup - $ . $TESTDIR/_exc-util.sh + $ . $TESTDIR/testlib/exchange-util.sh === D.4 Unknown changeset in between known one === diff -r e9d5f54765a2 -r d0bc98161794 tests/testlib/exchange-util.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/testlib/exchange-util.sh Tue Mar 21 10:25:12 2017 +0100 @@ -0,0 +1,110 @@ +#!/bin/sh + +cat >> $HGRCPATH <> $HGRCPATH + +mkcommit() { + echo "$1" > "$1" + hg add "$1" + hg ci -m "$1" +} +getid() { + hg log --hidden --template '{node}\n' --rev "$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 | sort + echo "# obstore: pushdest" + hg -R pushdest debugobsolete | sort + echo "# obstore: pulldest" + hg -R pulldest debugobsolete | sort + + 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 | sort + echo "# obstore: pushdest" + hg -R pushdest debugobsolete | sort + echo "# obstore: pulldest" + hg -R pulldest debugobsolete | sort + 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 | sort + echo "# obstore: pushdest" + hg -R pushdest debugobsolete | sort + echo "# obstore: pulldest" + hg -R pulldest debugobsolete | sort + + cd .. + +}