Add hghave utility and run-tests.py support.
hghave detects system features like symlinks availability at run-time. Tests can be skipped by starting them with:
"$TESTDIR/hghave" symlink || exit 80
The 80 exit status triggers hghave output handling by run-tests.py. Also, tests output can be locally patched on the fly to match reference output.
#!/bin/sh
hg init 1
echo '[ui]' >> 1/.hg/hgrc
echo 'timeout = 10' >> 1/.hg/hgrc
echo foo > 1/foo
hg --cwd 1 ci -A -m foo
hg clone 1 2
hg clone 2 3
echo '[hooks]' >> 2/.hg/hgrc
echo 'changegroup.push = hg push -qf ../1' >> 2/.hg/hgrc
echo bar >> 3/foo
hg --cwd 3 ci -m bar
hg --cwd 3 push ../2