run-tests: detect when hghave fails to check for a feature and fail test
hghave exitcode != 0 might mean that hghave failed to check for feature
avaibility. Detect those cases, and fail the test, instead of skipping it.
#!/bin/sh -e
# test of hg diff --change
set -e
ec() {
echo "invoking $@:"
"$@"
}
hg init a
cd a
echo "first" > file.txt
hg add file.txt
hg commit -m 'first commit' # 0
echo "second" > file.txt
hg commit -m 'second commit' # 1
echo "third" > file.txt
hg commit -m 'third commit' # 2
ec hg diff --nodates --change 1
echo
#rev=$(hg log -r 1 --template '{node|short}')
rev=e9b286083166
ec hg diff --nodates --change "$rev"
##
# Testing diff -c when merge
for i in 1 2 3 4 5 6 7 8 9 10; do
echo $i >> file.txt
done
hg commit -m "lots of text" # 3
sed -e 's,^2$,x,' file.txt > file.txt.tmp
mv file.txt.tmp file.txt
hg commit -m "changed 2 to x" # 4
hg up -r 3 > /dev/null 2>&1 # updated, merged, removed, unresolved
sed -e 's,^8$,y,' file.txt > file.txt.tmp
mv file.txt.tmp file.txt
hg commit -m "change 8 to y" > /dev/null 2>&1 # 5 # created new head
hg up -C -r 4 > /dev/null 2>&1 # updated, merged, removed, unresolved
hg merge -r 5 > /dev/null 2>&1 # updated, merged, removed, unresolved
hg commit -m "merging 8 to y" # 6
echo
ec hg diff --nodates --change 6 # must be similar to hg diff --nodates --change 5
#echo
#hg log
echo
echo "EOF"
# vim: set ts=4 sw=4 et: