Mercurial > hgrepos > DevTools > mercurial-extensions
changeset 251:e19782e7b21c
Add unit-tests for the "revinfo" extension
| author | Franz Glasner <hg@dom66.de> |
|---|---|
| date | Sun, 06 Jan 2019 23:53:34 +0100 |
| parents | 9a3dacfc3be6 |
| children | b8fc7f0990e7 |
| files | tests/lib-test-revinfo.sh tests/test-revinfo.t |
| diffstat | 2 files changed, 136 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/lib-test-revinfo.sh Sun Jan 06 23:53:34 2019 +0100 @@ -0,0 +1,62 @@ +#!/bin/sh + +# +# Preconditions for a manual setup: +# +# - cd tests +# - . ./lib-test-revinfo.sh +# - TESTDIR=`pwd`; export TESTDIR +# + +# +# Prepare a "canonical" repository for testing the kwarchive extension +# +# prepare_repo REPO +# +prepare_repo() { + if [ -z "$TESTDIR" ]; then + echo "TESTDIR is not set" + return 1 + else + if [ ! -f "$TESTDIR/../extensions/kwarchive.py" ]; then + echo "Wrong TESTDIR setup" + return 1 + fi + LOCAL_TESTDIR="$TESTDIR" + fi + if [ -z "$HGRCPATH" ]; then + # + # Check whether we are running in the context of Mercurial's + # run-tests.py + # + if [ "$TESTTMP" = "$HOME" ]; then + echo "HGRCPATH is not set" + return 1 + else + # Path after changing wd into $1 + LOCAL_HGRCPATH=".hg/hgrc" + fi + else + LOCAL_HGRCPATH="$HGRCPATH" + fi + hg init "$1" + cd "$1" + cat >>$LOCAL_HGRCPATH <<EOF +[extensions] +revinfo=$LOCAL_TESTDIR/../extensions/revinfo.py +[ui] +username=First Second <first.second@example.com> +[paths] +default=https://theuser:thepass@hg.example.com:4443/repo.hg +EOF + unset HGUSER + unset EMAIL + + cat >>test.txt <<EOF +Test content +EOF + hg add test.txt + hg ci -m 'Some files' + + cd .. +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-revinfo.t Sun Jan 06 23:53:34 2019 +0100 @@ -0,0 +1,74 @@ +Setup + + $ . $TESTDIR/lib-test-revinfo.sh + +Test revinfo with "default" path + + $ prepare_repo "repo1" + $ cd "repo1" + $ hg revinfo + repo: 22e1fd6cfd36fa64746bd27c0d0bab66d9d89bec + node: 22e1fd6cfd36fa64746bd27c0d0bab66d9d89bec + branch: default + latesttag: null + latesttagdistance: 1 + changessincelatesttag: 1 + path: https://theuser:***@hg.example.com:4443/repo.hg + +Test revinfo with current workspace + + $ hg revinfo --path=. + repo: 22e1fd6cfd36fa64746bd27c0d0bab66d9d89bec + node: 22e1fd6cfd36fa64746bd27c0d0bab66d9d89bec + branch: default + latesttag: null + latesttagdistance: 1 + changessincelatesttag: 1 + path: $TESTTMP/repo1 + +Now tag and do the very same tests with the tag defined + + $ hg tag TestTag + $ hg tags + tip +1:c21a4e088547 (re) + TestTag +0:22e1fd6cfd36 (re) + +Now test again with "default" path + + $ hg revinfo + repo: 22e1fd6cfd36fa64746bd27c0d0bab66d9d89bec + node: c21a4e08854737b6fcbf6f4fa69d0e6c9b1b8767 + branch: default + latesttag: TestTag + latesttagdistance: 1 + changessincelatesttag: 1 + path: https://theuser:***@hg.example.com:4443/repo.hg + + +Now test again with current workspace + + $ hg revinfo -p . + repo: 22e1fd6cfd36fa64746bd27c0d0bab66d9d89bec + node: c21a4e08854737b6fcbf6f4fa69d0e6c9b1b8767 + branch: default + latesttag: TestTag + latesttagdistance: 1 + changessincelatesttag: 1 + path: $TESTTMP/repo1 + +Now test amending and keywords + + $ hg revinfo -p . >revinfo.txt + $ hg revinfo --amend -p default revinfo.txt + $ hg revinfo --amend --data key1=val1 --data 'key2=val2 with space' revinfo.txt + $ cat revinfo.txt + repo: 22e1fd6cfd36fa64746bd27c0d0bab66d9d89bec + node: c21a4e08854737b6fcbf6f4fa69d0e6c9b1b8767 + branch: default + latesttag: TestTag + latesttagdistance: 1 + changessincelatesttag: 1 + path: $TESTTMP/repo1 + path: https://theuser:***@hg.example.com:4443/repo.hg + key1: val1 + key2: val2 with space
