# HG changeset patch # User Franz Glasner # Date 1546815214 -3600 # Node ID e19782e7b21c87cb525509eaf7362b3e55daaf95 # Parent 9a3dacfc3be6c7f74c574c31ec551251d7a125dc Add unit-tests for the "revinfo" extension diff -r 9a3dacfc3be6 -r e19782e7b21c tests/lib-test-revinfo.sh --- /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 < +[paths] +default=https://theuser:thepass@hg.example.com:4443/repo.hg +EOF + unset HGUSER + unset EMAIL + + cat >>test.txt <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