# HG changeset patch # User sietse.brouwer # Date 1446043159 -3600 # Wed Oct 28 15:39:19 2015 +0100 # Node ID 58f5e63dbe2fae7e2ff3695102f91b6c71723b4c # Parent ccadbea327046d166eeced3a55fc779a567701a1 grsummary: augment the test with a guest 'gr-hggit' The grsummary command's code path is slightly different for hggit guests, so it needs to be tested on an hggit guest as well as on a plain hg guest. diff --git a/tests/test-summary-legacy.t b/tests/test-summary-legacy.t --- a/tests/test-summary-legacy.t +++ b/tests/test-summary-legacy.t @@ -26,64 +26,114 @@ $ . $TESTDIR/helper.sh $ TEST_TMPDIR=`pwd` -Make a host and a plain guest repo +Install hggit + $ OLD_HGRCPATH=$HGRCPATH + $ HGRCPATH=$(mktemp) + $ cp $OLD_HGRCPATH $HGRCPATH -f + $ echo 'hggit =' >> $HGRCPATH + $ pip install hg-git > /dev/null 2> /dev/null + +Make one guest repo with Mercurial, and one with Git. + $ git init gr-hggit --quiet + $ cd gr-hggit + $ echo c0 > f + $ git add f + $ git commit -m 0 --quiet + + $ cd .. $ hg init gr-plain $ cd gr-plain $ echo c0 > f $ hg add f $ hg commit -m 0 - +Create a host and add the guest repos $ cd $TEST_TMPDIR $ hg init host $ cd host + + $ echo mygr-hggit = mygr-hggit-name default >> .hgguestrepo + $ echo mygr-hggit-name = `test_readlink ../gr-hggit` >> .hggrmapping + $ echo mygr-plain = mygr-plain-name default >> .hgguestrepo $ echo mygr-plain-name = `test_readlink ../gr-plain` >> .hggrmapping + $ hg add .hgguestrepo .hggrmapping $ hg commit -m 0 Sync and test summary $ hg grupdate + cloning mygr-hggit + importing git objects into hg + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved cloning mygr-plain updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg grsummary + mygr-hggit (default) default/master/tip master *master mygr-plain (default) tip Add some bookmarks + $ hg bookmark mark -R $TEST_TMPDIR/host/mygr-hggit + $ hg bookmark currentmark -R $TEST_TMPDIR/host/mygr-hggit + $ hg bookmark mark -R $TEST_TMPDIR/host/mygr-plain $ hg bookmark currentmark -R $TEST_TMPDIR/host/mygr-plain + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark mygr-plain (default) tip currentmark/mark *currentmark Make a change $ echo c1 > $TEST_TMPDIR/host/mygr-plain/f + + $ echo c1 > $TEST_TMPDIR/host/mygr-hggit/f + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark * mygr-plain (default) tip currentmark/mark *currentmark * Validate -i option - $ ID=$(echo $(hg -R mygr-plain id -i) | sed -r -e 's/\+$//') - $ SUMMARY=$(hg grsummary -i) - $ EXPECTED="mygr-plain (default) $ID tip currentmark/mark *currentmark *" - $ bash -c "[ \"$EXPECTED\" == \"$SUMMARY\" ]" + $ ID_plain=$(echo $(hg -R mygr-plain id -i) | sed -r -e 's/\+$//') + $ SUMMARY_plain=$(hg grsummary -i | grep gr-plain) + $ EXPECTED_plain="mygr-plain (default) $ID_plain tip currentmark/mark *currentmark *" + $ bash -c "[ \"$EXPECTED_plain\" == \"$SUMMARY_plain\" ]" + + $ ID_hggit=$(echo $(hg -R mygr-hggit id -i) | sed -r -e 's/\+$//') + $ SUMMARY_hggit=$(hg grsummary -i | grep gr-hggit) + $ EXPECTED_hggit="mygr-hggit (default) $ID_hggit default/master/tip currentmark/mark/master *currentmark *" + $ bash -c "[ \"$EXPECTED_hggit\" == \"$SUMMARY_hggit\" ]" Test --phase option - $ hg grsummary --phase + mygr-hggit (default) draft default/master/tip currentmark/mark/master *currentmark * mygr-plain (default) public tip currentmark/mark *currentmark * Test JSON $ hg grsummary --json - [{"current_bookmark": "currentmark", "tags": "tip", "changed": true, "branch": "default", "path": "mygr-plain", "bookmarks": "currentmark/mark", "remote_name": "mygr-plain-name", "id": "*"}] (glob) + [{"current_bookmark": "currentmark", "tags": "default/master/tip", "changed": true, "branch": "default", "path": "mygr-hggit", "bookmarks": "currentmark/mark/master", "remote_name": "mygr-hggit-name", "id": "*"}, {"current_bookmark": "currentmark", "tags": "tip", "changed": true, "branch": "default", "path": "mygr-plain", "bookmarks": "currentmark/mark", "remote_name": "mygr-plain-name", "id": "*"}] (glob) Test summary with unknown file - $ hg -R mygr-plain revert --all --no-backup reverting mygr-plain/f + $ hg -R mygr-hggit revert --all --no-backup + reverting mygr-hggit/f + + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark + mygr-plain (default) tip currentmark/mark *currentmark + $ echo 'Babar' > mygr-plain/jungle $ hg -R mygr-plain status ? jungle + + $ echo 'Babar' > mygr-hggit/jungle + $ hg -R mygr-hggit status + ? jungle + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark * mygr-plain (default) tip currentmark/mark *currentmark * diff --git a/tests/test-summary.t b/tests/test-summary.t --- a/tests/test-summary.t +++ b/tests/test-summary.t @@ -26,63 +26,110 @@ $ . $TESTDIR/helper.sh $ TEST_TMPDIR=`pwd` -Make a host and a plain guest repo +Install hggit + $ OLD_HGRCPATH=$HGRCPATH + $ HGRCPATH=$(mktemp) + $ cp $OLD_HGRCPATH $HGRCPATH -f + $ echo 'hggit =' >> $HGRCPATH + $ pip install hg-git > /dev/null 2> /dev/null + +Make one guest repo with Mercurial, and one with Git. + $ git init gr-hggit --quiet + $ cd gr-hggit + $ echo c0 > f + $ git add f + $ git commit -m 0 --quiet + + $ cd .. $ hg init gr-plain $ cd gr-plain $ echo c0 > f $ hg add f $ hg commit -m 0 - +Create a host and add the guest repos $ cd $TEST_TMPDIR $ hg init host $ cd host + + $ grinit mygr-hggit-name mygr-hggit ../gr-hggit default $ grinit mygr-plain-name mygr-plain ../gr-plain default + $ hg add .hggrconf .hggrsnap $ hg commit -m 0 Sync and test summary $ hg grupdate + cloning mygr-hggit + importing git objects into hg + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved cloning mygr-plain updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg grsummary + mygr-hggit (default) default/master/tip master *master mygr-plain (default) tip Add some bookmarks + $ hg bookmark mark -R $TEST_TMPDIR/host/mygr-hggit + $ hg bookmark currentmark -R $TEST_TMPDIR/host/mygr-hggit + $ hg bookmark mark -R $TEST_TMPDIR/host/mygr-plain $ hg bookmark currentmark -R $TEST_TMPDIR/host/mygr-plain + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark mygr-plain (default) tip currentmark/mark *currentmark Make a change $ echo c1 > $TEST_TMPDIR/host/mygr-plain/f + + $ echo c1 > $TEST_TMPDIR/host/mygr-hggit/f + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark * mygr-plain (default) tip currentmark/mark *currentmark * Validate -i option - $ ID=$(echo $(hg -R mygr-plain id -i) | sed -r -e 's/\+$//') - $ SUMMARY=$(hg grsummary -i) - $ EXPECTED="mygr-plain (default) $ID tip currentmark/mark *currentmark *" - $ bash -c "[ \"$EXPECTED\" == \"$SUMMARY\" ]" + $ ID_plain=$(echo $(hg -R mygr-plain id -i) | sed -r -e 's/\+$//') + $ SUMMARY_plain=$(hg grsummary -i | grep gr-plain) + $ EXPECTED_plain="mygr-plain (default) $ID_plain tip currentmark/mark *currentmark *" + $ bash -c "[ \"$EXPECTED_plain\" == \"$SUMMARY_plain\" ]" + + $ ID_hggit=$(echo $(hg -R mygr-hggit id -i) | sed -r -e 's/\+$//') + $ SUMMARY_hggit=$(hg grsummary -i | grep gr-hggit) + $ EXPECTED_hggit="mygr-hggit (default) $ID_hggit default/master/tip currentmark/mark/master *currentmark *" + $ bash -c "[ \"$EXPECTED_hggit\" == \"$SUMMARY_hggit\" ]" Test --phase option - $ hg grsummary --phase + mygr-hggit (default) draft default/master/tip currentmark/mark/master *currentmark * mygr-plain (default) public tip currentmark/mark *currentmark * Test JSON $ hg grsummary --json - [{"current_bookmark": "currentmark", "tags": "tip", "changed": true, "branch": "default", "path": "mygr-plain", "bookmarks": "currentmark/mark", "remote_name": "mygr-plain-name", "id": "*"}] (glob) + [{"current_bookmark": "currentmark", "tags": "default/master/tip", "changed": true, "branch": "default", "path": "mygr-hggit", "bookmarks": "currentmark/mark/master", "remote_name": "mygr-hggit-name", "id": "*"}, {"current_bookmark": "currentmark", "tags": "tip", "changed": true, "branch": "default", "path": "mygr-plain", "bookmarks": "currentmark/mark", "remote_name": "mygr-plain-name", "id": "*"}] (glob) Test summary with unknown file - $ hg -R mygr-plain revert --all --no-backup reverting mygr-plain/f + $ hg -R mygr-hggit revert --all --no-backup + reverting mygr-hggit/f + + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark + mygr-plain (default) tip currentmark/mark *currentmark + $ echo 'Babar' > mygr-plain/jungle $ hg -R mygr-plain status ? jungle + + $ echo 'Babar' > mygr-hggit/jungle + $ hg -R mygr-hggit status + ? jungle + $ hg grsummary + mygr-hggit (default) default/master/tip currentmark/mark/master *currentmark * mygr-plain (default) tip currentmark/mark *currentmark * -