tests: replace exit 80 with #require
authorMatt Mackall <mpm@selenic.com>
Wed, 06 Aug 2014 11:43:59 -0500
changeset 22046 7a9cbb315d84
parent 22045 769198c6a62d
child 22047 8fb6844a4ff1
tests: replace exit 80 with #require
tests/test-archive-symlinks.t
tests/test-archive.t
tests/test-bad-pull.t
tests/test-bookmarks-pushpull.t
tests/test-casecollision-merge.t
tests/test-casecollision.t
tests/test-casefolding.t
tests/test-changelog-exec.t
tests/test-clone-cgi.t
tests/test-convert-baz.t
tests/test-convert-bzr-114.t
tests/test-convert-cvs-branch.t
tests/test-convert-cvs-detectmerge.t
tests/test-convert-cvs-synthetic.t
tests/test-convert-cvs.t
tests/test-convert-cvsnt-mergepoints.t
tests/test-convert-darcs.t
tests/test-convert-git.t
tests/test-convert-hg-svn.t
tests/test-convert-mtn.t
tests/test-convert-p4-filetypes.t
tests/test-convert-p4.t
tests/test-convert-svn-branches.t
tests/test-convert-svn-encoding.t
tests/test-convert-svn-move.t
tests/test-convert-svn-sink.t
tests/test-convert-svn-source.t
tests/test-convert-svn-startrev.t
tests/test-convert-svn-tags.t
tests/test-convert-tagsbranch-topology.t
tests/test-convert-tla.t
tests/test-diff-upgrade.t
tests/test-eolfilename.t
tests/test-execute-bit.t
tests/test-fetch.t
tests/test-flags.t
tests/test-gendoc.t
tests/test-getbundle.t
tests/test-gpg.t
tests/test-hardlinks.t
tests/test-hgweb-commands.t
tests/test-hgweb-descend-empties.t
tests/test-hgweb-diffs.t
tests/test-hgweb-empty.t
tests/test-hgweb-filelog.t
tests/test-hgweb-raw.t
tests/test-hgweb-removed.t
tests/test-hgweb.t
tests/test-hgwebdir.t
tests/test-hgwebdirsym.t
tests/test-highlight.t
tests/test-http-branchmap.t
tests/test-http-clone-r.t
tests/test-http-proxy.t
tests/test-http.t
tests/test-https.t
tests/test-hup.t
tests/test-i18n.t
tests/test-identify.t
tests/test-incoming-outgoing.t
tests/test-inherit-mode.t
tests/test-issue1438.t
tests/test-issue1802.t
tests/test-known.t
tests/test-merge-types.t
tests/test-mq-qclone-http.t
tests/test-mq-qimport.t
tests/test-mq-subrepo-svn.t
tests/test-mq-symlinks.t
tests/test-newcgi.t
tests/test-newercgi.t
tests/test-no-symlinks.t
tests/test-oldcgi.t
tests/test-phases-exchange.t
tests/test-pull-http.t
tests/test-pull.t
tests/test-push-cgi.t
tests/test-push-http.t
tests/test-relink.t
tests/test-revert-flags.t
tests/test-schemes.t
tests/test-serve.t
tests/test-share.t
tests/test-static-http.t
tests/test-subrepo-git.t
tests/test-subrepo-relative-path.t
tests/test-subrepo-svn.t
tests/test-symlink-placeholder.t
tests/test-symlinks.t
tests/test-transplant.t
tests/test-treediscovery-legacy.t
tests/test-treediscovery.t
tests/test-unbundlehash.t
tests/test-update-issue1456.t
tests/test-websub.t
tests/test-wireproto.t
--- a/tests/test-archive-symlinks.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-archive-symlinks.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" symlink || exit 80
+#require symlink
 
   $ origdir=`pwd`
 
--- a/tests/test-archive.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-archive.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hg init test
   $ cd test
--- a/tests/test-bad-pull.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-bad-pull.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 #if windows
   $ hg clone http://localhost:$HGPORT/ copy
--- a/tests/test-bookmarks-pushpull.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-bookmarks-pushpull.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ cat << EOF >> $HGRCPATH
   > [ui]
--- a/tests/test-casecollision-merge.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-casecollision-merge.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,4 @@
-run only on case-insensitive filesystems
-
-  $ "$TESTDIR/hghave" icasefs || exit 80
+#require icasefs
 
 ################################
 test for branch merging
--- a/tests/test-casecollision.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-casecollision.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,4 @@
-run only on case-sensitive filesystems
-
-  $ "$TESTDIR/hghave" no-icasefs || exit 80
+#require no-icasefs
 
 test file addition with colliding case
 
--- a/tests/test-casefolding.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-casefolding.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" icasefs || exit 80
+#require icasefs
 
   $ hg debugfs | grep 'case-sensitive:'
   case-sensitive: no
--- a/tests/test-changelog-exec.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-changelog-exec.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,9 +1,9 @@
+#require execbit
+
 b51a8138292a introduced a regression where we would mention in the
 changelog executable files added by the second parent of a merge. Test
 that that doesn't happen anymore
 
-  $ "$TESTDIR/hghave" execbit || exit 80
-
   $ hg init repo
   $ cd repo
   $ echo foo > foo
--- a/tests/test-clone-cgi.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-clone-cgi.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths
+#require no-msys # MSYS will translate web paths as if they were file paths
 
 This is a test of the wire protocol over CGI-based hgweb.
 initialize repository
--- a/tests/test-convert-baz.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-baz.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" baz symlink || exit 80
+#require baz symlink
 
   $ baz my-id "mercurial <mercurial@selenic.com>"
 
--- a/tests/test-convert-bzr-114.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-bzr-114.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require bzr114
 
-  $ "$TESTDIR/hghave" bzr114 || exit 80
   $ . "$TESTDIR/bzr-definitions"
 
 The file/directory replacement can only be reproduced on
--- a/tests/test-convert-cvs-branch.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-cvs-branch.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,7 +1,8 @@
+#require cvs
+
 This is http://mercurial.selenic.com/bts/issue1148
 and http://mercurial.selenic.com/bts/issue1447
 
-  $ "$TESTDIR/hghave" cvs || exit 80
   $ cvscall()
   > {
   >     cvs -f "$@" > /dev/null
--- a/tests/test-convert-cvs-detectmerge.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-cvs-detectmerge.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,8 +1,9 @@
+#require cvs
+
 Test config convert.cvsps.mergefrom config setting.
 (Should test similar mergeto feature, but I don't understand it yet.)
 Requires builtin cvsps.
 
-  $ "$TESTDIR/hghave" cvs || exit 80
   $ CVSROOT=`pwd`/cvsrepo
   $ export CVSROOT
 
--- a/tests/test-convert-cvs-synthetic.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-cvs-synthetic.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,7 @@
+#require cvs112
+
 This feature requires use of builtin cvsps!
 
-  $ "$TESTDIR/hghave" cvs112 || exit 80
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "convert = " >> $HGRCPATH
 
--- a/tests/test-convert-cvs.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-cvs.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require cvs
 
-  $ "$TESTDIR/hghave" cvs || exit 80
   $ cvscall()
   > {
   >     cvs -f "$@"
--- a/tests/test-convert-cvsnt-mergepoints.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-cvsnt-mergepoints.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require cvs
 
-  $ "$TESTDIR/hghave" cvs || exit 80
   $ filterpath()
   > {
   >     eval "$@" | sed "s:$CVSROOT:*REPO*:g"
--- a/tests/test-convert-darcs.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-darcs.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require darcs
 
-  $ "$TESTDIR/hghave" darcs || exit 80
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "convert=" >> $HGRCPATH
   $ DARCS_EMAIL='test@example.org'; export DARCS_EMAIL
--- a/tests/test-convert-git.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-git.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require git
 
-  $ "$TESTDIR/hghave" git || exit 80
   $ echo "[core]" >> $HOME/.gitconfig
   $ echo "autocrlf = false" >> $HOME/.gitconfig
   $ echo "[core]" >> $HOME/.gitconfig
--- a/tests/test-convert-hg-svn.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-hg-svn.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require svn svn-bindings
 
-  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "convert = " >> $HGRCPATH
   $ echo "mq = " >> $HGRCPATH
--- a/tests/test-convert-mtn.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-mtn.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,4 @@
-
-  $ "$TESTDIR/hghave" mtn || exit 80
+#require mtn
 
 Monotone directory is called .monotone on *nix and monotone
 on Windows.
--- a/tests/test-convert-p4-filetypes.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-p4-filetypes.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" p4 execbit symlink || exit 80
+#require p4 execbit symlink
 
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "convert = " >> $HGRCPATH
--- a/tests/test-convert-p4.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-p4.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" p4 || exit 80
+#require p4
 
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "convert = " >> $HGRCPATH
--- a/tests/test-convert-svn-branches.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-svn-branches.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,4 @@
-
-  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
+#require svn svn-bindings
 
   $ cat >> $HGRCPATH <<EOF
   > [extensions]
--- a/tests/test-convert-svn-encoding.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-svn-encoding.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,4 @@
-
-  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
+#require svn svn-bindings
 
   $ cat >> $HGRCPATH <<EOF
   > [extensions]
--- a/tests/test-convert-svn-move.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-svn-move.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,4 @@
-
-  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
+#require svn svn-bindings
 
   $ cat >> $HGRCPATH <<EOF
   > [extensions]
--- a/tests/test-convert-svn-sink.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-svn-sink.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" svn13 || exit 80
+#require svn13
 
   $ svnupanddisplay()
   > {
--- a/tests/test-convert-svn-source.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-svn-source.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,4 @@
-
-  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
+#require svn svn-bindings
 
   $ cat >> $HGRCPATH <<EOF
   > [extensions]
--- a/tests/test-convert-svn-startrev.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-svn-startrev.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,4 @@
-
-  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
+#require svn svn-bindings
 
   $ cat >> $HGRCPATH <<EOF
   > [extensions]
--- a/tests/test-convert-svn-tags.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-svn-tags.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,4 @@
-
-  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
+#require svn svn-bindings
 
   $ cat >> $HGRCPATH <<EOF
   > [extensions]
--- a/tests/test-convert-tagsbranch-topology.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-tagsbranch-topology.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require git
 
-  $ "$TESTDIR/hghave" git || exit 80
   $ echo "[core]" >> $HOME/.gitconfig
   $ echo "autocrlf = false" >> $HOME/.gitconfig
   $ echo "[core]" >> $HOME/.gitconfig
--- a/tests/test-convert-tla.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-convert-tla.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require tla symlink
 
-  $ "$TESTDIR/hghave" tla symlink || exit 80
   $ tla my-id "mercurial <mercurial@selenic.com>"
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "convert=" >> $HGRCPATH
--- a/tests/test-diff-upgrade.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-diff-upgrade.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" execbit || exit 80
+#require execbit
 
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "autodiff=$TESTDIR/autodiff.py" >> $HGRCPATH
--- a/tests/test-eolfilename.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-eolfilename.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,6 @@
-http://mercurial.selenic.com/bts/issue352
+#require eol-in-paths
 
-  $ "$TESTDIR/hghave" eol-in-paths || exit 80
+http://mercurial.selenic.com/bts/issue352
 
 test issue352
 
--- a/tests/test-execute-bit.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-execute-bit.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" execbit || exit 80
+#require execbit
 
   $ hg init
   $ echo a > a
--- a/tests/test-fetch.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-fetch.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "fetch=" >> $HGRCPATH
--- a/tests/test-flags.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-flags.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" execbit || exit 80
+#require execbit
 
   $ umask 027
 
--- a/tests/test-gendoc.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-gendoc.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,7 @@
+#require docutils
+
 Test document extraction
 
-  $ "$TESTDIR/hghave" docutils || exit 80
   $ HGENCODING=UTF-8
   $ export HGENCODING
   $ { echo C; ls "$TESTDIR/../i18n"/*.po | sort; } | while read PO; do
--- a/tests/test-getbundle.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-getbundle.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 = Test the getbundle() protocol function =
 
--- a/tests/test-gpg.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-gpg.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,7 @@
+#require gpg
+
 Test the GPG extension
 
-  $ "$TESTDIR/hghave" gpg || exit 80
   $ cat <<EOF >> $HGRCPATH
   > [extensions]
   > gpg=
--- a/tests/test-hardlinks.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hardlinks.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" hardlink || exit 80
+#require hardlink
 
   $ cat > nlinks.py <<EOF
   > import sys
--- a/tests/test-hgweb-commands.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb-commands.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 An attempt at more fully testing the hgweb web interface.
 The following things are tested elsewhere and are therefore omitted:
--- a/tests/test-hgweb-descend-empties.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb-descend-empties.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 Test chains of near empty directories, terminating 3 different ways:
 - a1: file at level 4 (deepest)
--- a/tests/test-hgweb-diffs.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb-diffs.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 setting up repo
 
--- a/tests/test-hgweb-empty.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb-empty.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 Some tests for hgweb in an empty repository
 
--- a/tests/test-hgweb-filelog.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb-filelog.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hg init test
   $ cd test
--- a/tests/test-hgweb-raw.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb-raw.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 Test raw style of hgweb
 
--- a/tests/test-hgweb-removed.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb-removed.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 setting up repo
 
--- a/tests/test-hgweb.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgweb.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 Some tests for hgweb. Tests static files, plain files and different 404's.
 
--- a/tests/test-hgwebdir.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgwebdir.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 hide outer repo and work in dir without '.hg'
   $ hg init
--- a/tests/test-hgwebdirsym.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hgwebdirsym.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,6 @@
-Tests whether or not hgwebdir properly handles various symlink topologies.
+#require serve symlink
 
-  $ "$TESTDIR/hghave" serve symlink || exit 80
+Tests whether or not hgwebdir properly handles various symlink topologies.
 
 hide outer repo
   $ hg init
--- a/tests/test-highlight.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-highlight.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,5 +1,5 @@
+#require pygments serve
 
-  $ "$TESTDIR/hghave" pygments serve || exit 80
   $ cat <<EOF >> $HGRCPATH
   > [extensions]
   > highlight =
--- a/tests/test-http-branchmap.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-http-branchmap.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
   $ hgserve() {
   >     hg serve -a localhost -p $HGPORT1 -d --pid-file=hg.pid \
--- a/tests/test-http-clone-r.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-http-clone-r.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 creating 'remote
 
--- a/tests/test-http-proxy.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-http-proxy.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hg init a
   $ cd a
--- a/tests/test-http.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-http.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hg init test
   $ cd test
--- a/tests/test-https.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-https.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,6 @@
-Proper https client requires the built-in ssl from Python 2.6.
+#require serve ssl
 
-  $ "$TESTDIR/hghave" serve ssl || exit 80
+Proper https client requires the built-in ssl from Python 2.6.
 
 Certificates created with:
  printf '.\n.\n.\n.\n.\nlocalhost\nhg@localhost\n' | \
--- a/tests/test-hup.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-hup.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,7 @@
+#require serve fifo
+
 Test hangup signal in the middle of transaction
 
-  $ "$TESTDIR/hghave" serve fifo || exit 80
   $ hg init
   $ mkfifo p
   $ hg serve --stdio < p 1>out 2>&1 &
--- a/tests/test-i18n.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-i18n.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,6 @@
-Translations are optional:
+#require gettext
 
-  $ "$TESTDIR/hghave" gettext || exit 80
+(Translations are optional)
 
 #if no-outer-repo
 
--- a/tests/test-identify.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-identify.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
 #if no-outer-repo
 
--- a/tests/test-incoming-outgoing.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-incoming-outgoing.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hg init test
   $ cd test
--- a/tests/test-inherit-mode.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-inherit-mode.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,7 +1,6 @@
-test that new files created in .hg inherit the permissions from .hg/store
+#require unix-permissions
 
-
-  $ "$TESTDIR/hghave" unix-permissions || exit 80
+test that new files created in .hg inherit the permissions from .hg/store
 
   $ mkdir dir
 
--- a/tests/test-issue1438.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-issue1438.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,6 +1,6 @@
-http://mercurial.selenic.com/bts/issue1438
+#require symlink
 
-  $ "$TESTDIR/hghave" symlink || exit 80
+http://mercurial.selenic.com/bts/issue1438
 
   $ hg init
 
--- a/tests/test-issue1802.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-issue1802.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" execbit || exit 80
+#require execbit
 
 Create extension that can disable exec checks:
 
--- a/tests/test-known.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-known.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 = Test the known() protocol function =
 
--- a/tests/test-merge-types.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-merge-types.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" symlink execbit || exit 80
+#require symlink execbit
 
   $ tellmeabout() {
   > if [ -h $1 ]; then
--- a/tests/test-mq-qclone-http.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-mq-qclone-http.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 hide outer repo
   $ hg init
--- a/tests/test-mq-qimport.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-mq-qimport.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
   $ cat > writelines.py <<EOF
   > import sys
--- a/tests/test-mq-subrepo-svn.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-mq-subrepo-svn.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" svn13 || exit 80
+#require svn13
 
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "mq=" >> $HGRCPATH
--- a/tests/test-mq-symlinks.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-mq-symlinks.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" symlink || exit 80
+#require symlink
 
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "mq=" >> $HGRCPATH
--- a/tests/test-newcgi.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-newcgi.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths
+#require no-msys # MSYS will translate web paths as if they were file paths
 
 This tests if CGI files from after d0db3462d568 but
 before d74fc8dec2b4 still work.
--- a/tests/test-newercgi.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-newercgi.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths
+#require no-msys # MSYS will translate web paths as if they were file paths
 
 This is a rudimentary test of the CGI files as of d74fc8dec2b4.
 
--- a/tests/test-no-symlinks.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-no-symlinks.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" no-symlink || exit 80
+#require no-symlink
 
 # The following script was used to create the bundle:
 #
--- a/tests/test-oldcgi.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-oldcgi.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths
+#require no-msys # MSYS will translate web paths as if they were file paths
 
 This tests if CGI files from before d0db3462d568 still work.
 
--- a/tests/test-phases-exchange.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-phases-exchange.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
   $ hgph() { hg log -G --template "{rev} {phase} {desc} - {node|short}\n" $*; }
 
--- a/tests/test-pull-http.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-pull-http.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
   $ hg init test
   $ cd test
--- a/tests/test-pull.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-pull.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hg init test
   $ cd test
--- a/tests/test-push-cgi.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-push-cgi.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths
+#require no-msys # MSYS will translate web paths as if they were file paths
 
 This is a test of the push wire protocol over CGI-based hgweb.
 
--- a/tests/test-push-http.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-push-http.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
   $ hg init test
   $ cd test
--- a/tests/test-relink.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-relink.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" hardlink || exit 80
+#require hardlink
 
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "relink=" >> $HGRCPATH
--- a/tests/test-revert-flags.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-revert-flags.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" execbit || exit 80
+#require execbit
 
   $ hg init repo
   $ cd repo
--- a/tests/test-schemes.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-schemes.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ cat <<EOF >> $HGRCPATH
   > [extensions]
--- a/tests/test-serve.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-serve.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hgserve()
   > {
--- a/tests/test-share.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-share.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
   $ echo "[extensions]"      >> $HGRCPATH
   $ echo "share = "          >> $HGRCPATH
--- a/tests/test-static-http.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-static-http.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 #if windows
   $ hg clone http://localhost:$HGPORT/ copy
--- a/tests/test-subrepo-git.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-subrepo-git.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" git || exit 80
+#require git
 
 make git commits repeatable
 
--- a/tests/test-subrepo-relative-path.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-subrepo-relative-path.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 Preparing the subrepository 'sub'
 
--- a/tests/test-subrepo-svn.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-subrepo-svn.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" svn15 || exit 80
+#require svn15
 
   $ SVNREPOPATH=`pwd`/svn-repo
 #if windows
--- a/tests/test-symlink-placeholder.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-symlink-placeholder.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" symlink || exit 80
+#require symlink
 
 Create extension that can disable symlink support:
 
--- a/tests/test-symlinks.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-symlinks.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" symlink || exit 80
+#require symlink
 
 == tests added in 0.7 ==
 
--- a/tests/test-transplant.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-transplant.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
   $ cat <<EOF >> $HGRCPATH
   > [extensions]
--- a/tests/test-treediscovery-legacy.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-treediscovery-legacy.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 Tests discovery against servers without getbundle support:
 
--- a/tests/test-treediscovery.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-treediscovery.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 Tests discovery against servers without getbundle support:
 
--- a/tests/test-unbundlehash.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-unbundlehash.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 Test wire protocol unbundle with hashed heads (capability: unbundlehash)
 
--- a/tests/test-update-issue1456.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-update-issue1456.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" execbit || exit 80
+#require execbit
 
   $ rm -rf a
   $ hg init a
--- a/tests/test-websub.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-websub.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" serve || exit 80
+#require serve
 
   $ hg init test
   $ cd test
--- a/tests/test-wireproto.t	Wed Aug 06 10:34:54 2014 -0500
+++ b/tests/test-wireproto.t	Wed Aug 06 11:43:59 2014 -0500
@@ -1,4 +1,4 @@
-  $ "$TESTDIR/hghave" killdaemons || exit 80
+#require killdaemons
 
 Test wire protocol argument passing