Mercurial > hg > hg-git
changeset 580:6cc99298b69e
tests: avoid changing the current directory
Mercurial allows specifying which repository to use via the -R/--repository
option. Git allows a similar function using the --git-dir option. By using
these options, in many cases we can avoid checking the current directory.
This makes tests easier to understand, as you don't need to remember which
directory you're in to understand what's going on. It also makes tests easier
to write, as you don't need to remember to cd out of a directory when you're
done doing things there.
Thanks to Felipe Contreras for the patch which this was based on.
author | David M. Carr <david@carrclan.us> |
---|---|
date | Sat, 03 Nov 2012 19:12:08 -0400 |
parents | 675f19af79ca |
children | 52461f71a782 |
files | tests/test-clone.t tests/test-conflict-1.t tests/test-conflict-2.t tests/test-convergedmerge.t tests/test-empty-working-tree.t tests/test-encoding.t tests/test-file-removal.t tests/test-git-clone.t tests/test-git-submodules.t tests/test-hg-author.t tests/test-hg-branch.t tests/test-hg-tags.t tests/test-incoming.t tests/test-merge.t tests/test-octopus.t tests/test-pull-after-strip.t tests/test-tree-decomposition.t |
diffstat | 17 files changed, 33 insertions(+), 85 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-clone.t +++ b/tests/test-clone.t @@ -23,8 +23,7 @@ $ hg clone -r alpha gitrepo hgrepo-a | grep -v '^updating' importing git objects into hg 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo-a - $ hg log --graph | egrep -v ': *(beta|master)' + $ hg -R hgrepo-a log --graph | egrep -v ': *(beta|master)' @ changeset: 0:3442585be8a6 tag: alpha tag: default/master @@ -33,15 +32,12 @@ date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha - - $ cd .. $ echo % clone a branch % clone a branch $ hg clone -r beta gitrepo hgrepo-b | grep -v '^updating' importing git objects into hg 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo-b - $ hg log --graph | egrep -v ': *(beta|master)' + $ hg -R hgrepo-b log --graph | egrep -v ': *(beta|master)' @ changeset: 1:7bcd915dc873 | tag: default/beta | tag: tip @@ -56,6 +52,3 @@ date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha - - - $ cd ..
--- a/tests/test-conflict-1.t +++ b/tests/test-conflict-1.t @@ -55,10 +55,9 @@ $ hg clone gitrepo hgrepo2 | grep -v '^updating' importing git objects into hg 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo2 $ echo % expect the same revision ids as above % expect the same revision ids as above - $ hg log --graph --style compact | sed 's/\[.*\]//g' + $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' @ 3:1,2 6c53bc0f062f 1970-01-01 00:00 +0000 test |\ merge to C | | @@ -71,5 +70,3 @@ o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test origin - - $ cd ..
--- a/tests/test-conflict-2.t +++ b/tests/test-conflict-2.t @@ -55,10 +55,9 @@ $ hg clone gitrepo hgrepo2 | grep -v '^updating' importing git objects into hg 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo2 $ echo % expect the same revision ids as above % expect the same revision ids as above - $ hg log --graph --style compact | sed 's/\[.*\]//g' + $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' @ 3:1,2 120385945d08 1970-01-01 00:00 +0000 test |\ merge to B | | @@ -71,5 +70,3 @@ o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test origin - - $ cd ..
--- a/tests/test-convergedmerge.t +++ b/tests/test-convergedmerge.t @@ -56,10 +56,9 @@ $ hg clone gitrepo hgrepo2 | grep -v '^updating' importing git objects into hg 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo2 $ echo % expect the same revision ids as above % expect the same revision ids as above - $ hg log --graph --style compact | sed 's/\[.*\]//g' + $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' @ 4:1,3 eaa21d002113 1970-01-01 00:00 +0000 test |\ merge | | @@ -75,5 +74,3 @@ o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test origin - - $ cd ..
--- a/tests/test-empty-working-tree.t +++ b/tests/test-empty-working-tree.t @@ -22,13 +22,10 @@ $ hg push ../gitrepo2 pushing to ../gitrepo2 searching for changes - - $ cd ../gitrepo2 - $ git log --pretty=medium + $ cd .. + $ git --git-dir=gitrepo2 log --pretty=medium commit 678256865a8c85ae925bf834369264193c88f8de Author: test <test@example.org> Date: Mon Jan 1 00:00:00 2007 +0000 empty - - $ cd ..
--- a/tests/test-encoding.t +++ b/tests/test-encoding.t @@ -112,8 +112,8 @@ pushing to ../gitrepo2 searching for changes - $ cd ../gitrepo2 - $ git log --pretty=medium + $ cd .. + $ git --git-dir=gitrepo2 log --pretty=medium commit da0edb01d4f3d1abf08b1be298379b0b2960e680 Author: t\xe9st \xe8nc\xf6d\xeeng <test@example.org> (esc) Date: Mon Jan 1 00:00:13 2007 +0000 @@ -137,5 +137,3 @@ Date: Mon Jan 1 00:00:10 2007 +0000 add älphà - - $ cd ..
--- a/tests/test-file-removal.t +++ b/tests/test-file-removal.t @@ -83,8 +83,8 @@ pushing to ../gitrepo2 searching for changes - $ cd ../gitrepo2 - $ git log --pretty=medium + $ cd .. + $ git --git-dir=gitrepo2 log --pretty=medium commit b991de8952c482a7cd51162674ffff8474862218 Author: test <test@example.org> Date: Mon Jan 1 00:00:14 2007 +0000 @@ -114,5 +114,3 @@ Date: Mon Jan 1 00:00:10 2007 +0000 add alpha - - $ cd ..
--- a/tests/test-git-clone.t +++ b/tests/test-git-clone.t @@ -16,8 +16,7 @@ $ hg clone gitrepo hgrepo | grep -v '^updating' importing git objects into hg 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo - $ hg log --graph | grep -v ': *master' + $ hg -R hgrepo log --graph | grep -v ': *master' @ changeset: 1:7bcd915dc873 | tag: default/master | tag: tip @@ -33,5 +32,5 @@ $ echo % we should have some bookmarks % we should have some bookmarks - $ hg book + $ hg -R hgrepo book * master 1:7bcd915dc873
--- a/tests/test-git-submodules.t +++ b/tests/test-git-submodules.t @@ -52,8 +52,7 @@ $ hg clone gitrepo2 hgrepo | grep -v '^updating' importing git objects into hg 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo - $ hg log --graph | grep -v ': *master' + $ hg -R hgrepo log --graph | grep -v ': *master' @ changeset: 2:76fda365fbbb | tag: default/master | tag: tip @@ -74,5 +73,5 @@ $ echo % we should have some bookmarks % we should have some bookmarks - $ hg book + $ hg -R hgrepo book * master 2:76fda365fbbb
--- a/tests/test-hg-author.t +++ b/tests/test-hg-author.t @@ -127,8 +127,7 @@ $ hg clone gitrepo hgrepo2 | grep -v '^updating' importing git objects into hg 8 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo2 - $ hg log --graph | egrep -v ': *(not-master|master)' + $ hg -R hgrepo2 log --graph | egrep -v ': *(not-master|master)' @ changeset: 8:efec0270e295 | tag: default/master | tag: tip @@ -177,10 +176,7 @@ date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha - - $ cd .. - $ cd gitrepo - $ git log --pretty=medium master + $ git --git-dir=gitrepo/.git log --pretty=medium master commit 1e03e913eca571b86ee06d3c1ddd795dde9ca917 Author: test ?test@example.com <test ?test@example.com> Date: Mon Jan 1 00:00:18 2007 +0000 @@ -234,5 +230,3 @@ Date: Mon Jan 1 00:00:10 2007 +0000 add alpha - - $ cd ..
--- a/tests/test-hg-branch.t +++ b/tests/test-hg-branch.t @@ -60,8 +60,7 @@ $ hg clone gitrepo hgrepo2 | grep -v '^updating' importing git objects into hg 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo2 - $ hg log --graph | $filterhash | egrep -v ': *(not-master|master)' + $ hg -R hgrepo2 log --graph | $filterhash | egrep -v ': *(not-master|master)' o changeset: 2:05aed681ccb3 | branch: gamma | tag: default/master @@ -81,5 +80,3 @@ date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha - - $ cd ..
--- a/tests/test-hg-tags.t +++ b/tests/test-hg-tags.t @@ -50,8 +50,7 @@ $ hg clone gitrepo hgrepo2 | grep -v '^updating' importing git objects into hg 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo2 - $ hg log --graph | egrep -v ': *(not-master|master)' + $ hg -R hgrepo2 log --graph | egrep -v ': *(not-master|master)' @ changeset: 1:d529e9229f6d | tag: default/master | tag: tip @@ -69,7 +68,5 @@ $ echo % the tag should be in .hgtags % the tag should be in .hgtags - $ cat .hgtags + $ cat hgrepo2/.hgtags 3442585be8a60c6cd476bbc4e45755339f2a23ef alpha - - $ cd ..
--- a/tests/test-incoming.t +++ b/tests/test-incoming.t @@ -17,17 +17,16 @@ importing git objects into hg 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo - $ hg incoming | grep -v 'no changes found' | grep -v 'bookmark:' + $ hg -R hgrepo incoming | grep -v 'no changes found' | grep -v 'bookmark:' comparing with $TESTTMP/gitrepo - $ cd ../gitrepo + $ cd gitrepo $ echo beta > beta $ git add beta $ fn_git_commit -m 'add beta' + $ cd .. - $ cd ../hgrepo - $ hg incoming | grep -v 'no changes found' | grep -v 'bookmark:' + $ hg -R hgrepo incoming | grep -v 'no changes found' | grep -v 'bookmark:' comparing with $TESTTMP/gitrepo changeset: 1:9497a4ee62e1 user: test <test@example.org> @@ -35,7 +34,7 @@ summary: add beta - $ cd ../gitrepo + $ cd gitrepo $ git checkout -b b1 HEAD^ Switched to a new branch 'b1' $ mkdir d @@ -47,7 +46,6 @@ $ echo gamma 2 >> d/gamma $ git add d/gamma $ fn_git_commit -m'add d/gamma line 2' - $ cd ../hgrepo $ hg incoming -p | grep -v 'no changes found' | grep -v 'bookmark:' comparing with $TESTTMP/gitrepo
--- a/tests/test-merge.t +++ b/tests/test-merge.t @@ -45,10 +45,9 @@ searching for changes $ cd .. - $ cd gitrepo2 $ echo % git log in repo pushed from hg % git log in repo pushed from hg - $ git log --pretty=medium master | sed 's/\.\.\.//g' + $ git --git-dir=gitrepo2 log --pretty=medium master | sed 's/\.\.\.//g' commit 5806851511aaf3bfe813ae3a86c5027165fa9b96 Merge: e5023f9 9497a4e Author: test <test@example.org> @@ -73,7 +72,7 @@ Date: Mon Jan 1 00:00:10 2007 +0000 add alpha - $ git log --pretty=medium beta | sed 's/\.\.\.//g' + $ git --git-dir=gitrepo2 log --pretty=medium beta | sed 's/\.\.\.//g' commit 9497a4ee62e16ee641860d7677cdb2589ea15554 Author: test <test@example.org> Date: Mon Jan 1 00:00:11 2007 +0000 @@ -85,5 +84,3 @@ Date: Mon Jan 1 00:00:10 2007 +0000 add alpha - - $ cd ..
--- a/tests/test-octopus.t +++ b/tests/test-octopus.t @@ -69,9 +69,9 @@ $ hg push ../gitrepo2 pushing to ../gitrepo2 searching for changes + $ cd .. - $ cd ../gitrepo2 - $ git log --pretty=medium | sed s/\\.\\.\\.//g + $ git --git-dir=gitrepo2 log --pretty=medium | sed s/\\.\\.\\.//g commit f0c7ec180419a130636d0c333fc34c1462cab4b5 Merge: d8e22dd 9497a4e e5023f9 Author: test <test@example.org> @@ -102,5 +102,3 @@ Date: Mon Jan 1 00:00:10 2007 +0000 add alpha - - $ cd ..
--- a/tests/test-pull-after-strip.t +++ b/tests/test-pull-after-strip.t @@ -34,8 +34,7 @@ $ hg clone -r alpha gitrepo hgrepo-a | grep -v '^updating' importing git objects into hg 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo-a - $ hg log --graph | egrep -v ': *(beta|master)' + $ hg -R hgrepo-a log --graph | egrep -v ': *(beta|master)' @ changeset: 0:3442585be8a6 tag: alpha tag: default/master @@ -44,15 +43,12 @@ date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha - - $ cd .. $ echo % clone a branch % clone a branch $ hg clone -r beta gitrepo hgrepo-b | grep -v '^updating' importing git objects into hg 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cd hgrepo-b - $ hg log --graph | egrep -v ': *(beta|master)' + $ hg -R hgrepo-b log --graph | egrep -v ': *(beta|master)' @ changeset: 1:7bcd915dc873 | tag: default/beta | tag: tip @@ -67,8 +63,6 @@ date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha - $ cd .. - $ cd gitrepo $ echo beta line 2 >> beta $ git add beta
--- a/tests/test-tree-decomposition.t +++ b/tests/test-tree-decomposition.t @@ -41,9 +41,9 @@ $ hg push ../gitrepo2 pushing to ../gitrepo2 searching for changes + $ cd .. - $ cd ../gitrepo2 - $ git log --pretty=medium + $ git --git-dir=gitrepo2 log --pretty=medium commit 6e0dbd8cd92ed4823c69cb48d8a2b81f904e6e69 Author: test <test@example.org> Date: Mon Jan 1 00:00:12 2007 +0000 @@ -61,5 +61,3 @@ Date: Mon Jan 1 00:00:10 2007 +0000 initial - - $ cd ..