run-tests: redefine --with-hg so it takes the 'hg' script to run.
- in parseargs(), check that --with-hg value is valid
- add handy --local option for "--with-hg=../hg"
- ensure that we always set PATH and PYTHONPATH (not just
when doing a temporary install)
- override any existing PYTHONPATH, so test success does not
depend on whatever happens to be in the caller's environment
- give tests a little more control by exporting $PYTHON to the
environment; needed by test-convert and test-mergetool when
they run hg with a stripped-down $PATH
Also, add a big comment explaining all the corner cases to test for the
next person who tries to modify this script.
#!/bin/sh
"$TESTDIR/hghave" no-outer-repo || exit 80
echo % no repo
hg id
echo % create repo
hg init test
cd test
echo a > a
hg ci -Ama
echo % basic id usage
hg id
hg id --debug
hg id -q
hg id -v
echo % with options
hg id -r.
hg id -n
hg id -t
hg id -b
hg id -i
hg id -n -t -b -i
echo % with modifications
echo b > a
hg id -n -t -b -i
echo % other local repo
cd ..
hg -R test id
hg id test
echo % with remote http repo
cd test
hg serve -p $HGPORT1 -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS
hg id http://localhost:$HGPORT1/
echo % remote with tags?
hg id -t http://localhost:$HGPORT1/
true # ends with util.Abort -> returns 255