tests: require regexes in unified tests to be marked with " (re)"
authorBrodie Rao <brodie@bitheap.org>
Wed, 22 Sep 2010 16:06:00 -0500
changeset 12375 02990e22150b
parent 12374 4e7dd28db0dd
child 12376 97ffc68f71d3
tests: require regexes in unified tests to be marked with " (re)" Consider this test: $ hg glog --template '{rev}:{node|short} "{desc}"\n' @ 2:20c4f79fd7ac "3" | | o 1:38f24201dcab "2" |/ o 0:2a18120dc1c9 "1" Because each line beginning with "|" can be compiled as a regular expression (equivalent to ".*|"), they will match any output. Similarly: $ echo foo The blank output line can be compiled as a regular expression and will also match any output. With this patch, none of the above output lines will be matched as regular expressions. A line must end in " (re)" in order to be matched as one. Lines are still matched literally first, so the following will pass: $ echo 'foo (re)' foo (re)
tests/run-tests.py
tests/test-archive.t
tests/test-audit-path.t
tests/test-bad-extension.t
tests/test-bad-pull.t
tests/test-bookmarks-rebase.t
tests/test-bookmarks-strip.t
tests/test-clone.t
tests/test-committer.t
tests/test-default-push.t
tests/test-globalopts.t
tests/test-help.t
tests/test-hgignore.t
tests/test-hgrc.t
tests/test-hook.t
tests/test-install.t
tests/test-journal-exists.t
tests/test-keyword.t
tests/test-mq-merge.t
tests/test-mq-qfold.t
tests/test-mq-qrefresh.t
tests/test-mq-safety.t
tests/test-mq-strip.t
tests/test-mq.t
tests/test-patchbomb.t
tests/test-paths.t
tests/test-permissions.t
tests/test-push-validation.t
tests/test-relink.t
tests/test-rename.t
tests/test-run-tests.t
tests/test-subrepo-deep-nested-change.t
tests/test-subrepo-paths.t
tests/test-subrepo-recursion.t
tests/test-subrepo-relative-path.t
tests/test-subrepo-svn.t
tests/test-subrepo.t
tests/test-tags.t
tests/test-transplant.t
tests/test-url-rev.t
tests/test-walk.t
--- a/tests/run-tests.py	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/run-tests.py	Wed Sep 22 16:06:00 2010 -0500
@@ -503,9 +503,6 @@
 
     def rematch(el, l):
         try:
-            # hack to deal with graphlog, which looks like bogus regexes
-            if el.startswith('|'):
-                el = '\\' + el
             # ensure that the regex matches to the end of the string
             return re.match(el + r'\Z', l)
         except re.error:
@@ -531,10 +528,10 @@
 
             if el == l: # perfect match (fast)
                 postout.append("  " + l)
-            elif el and el[2:] and rematch(el, l): # fallback regex match
-                postout.append("  " + el)
-            else: # mismatch - let diff deal with it
-                postout.append("  " + l)
+            elif el and el.endswith(" (re)\n") and rematch(el[:-6] + '\n', l):
+                postout.append("  " + el) # fallback regex match
+            else:
+                postout.append("  " + l) # let diff deal with it
 
     if pos in after:
         postout += after.pop(pos)
--- a/tests/test-archive.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-archive.t	Wed Sep 22 16:06:00 2010 -0500
@@ -227,9 +227,9 @@
   $ hg archive ../old.zip
   $ unzip -l ../old.zip
   Archive:  ../old.zip
-  \s*Length.*
-  .*-----.*
-  .*147.*80.*00:00.*old/\.hg_archival\.txt
-  .*0.*80.*00:00.*old/old
-  .*-----.*
-  \s*147\s+2 files
+  \s*Length.* (re)
+  .*-----.* (re)
+  .*147.*80.*00:00.*old/\.hg_archival\.txt (re)
+  .*0.*80.*00:00.*old/old (re)
+  .*-----.* (re)
+  \s*147\s+2 files (re)
--- a/tests/test-audit-path.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-audit-path.t	Wed Sep 22 16:06:00 2010 -0500
@@ -78,5 +78,5 @@
   $ hg manifest -r4
   /tmp/test
   $ hg update -Cr4
-  abort: No such file or directory: .*/test-audit-path\.t/target//tmp/test
+  abort: No such file or directory: .*/test-audit-path\.t/target//tmp/test (re)
   [255]
--- a/tests/test-bad-extension.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-bad-extension.t	Wed Sep 22 16:06:00 2010 -0500
@@ -8,8 +8,8 @@
   $ echo "badext2 =" >> $HGRCPATH
 
   $ hg -q help help
-  \*\*\* failed to import extension badext from .*/badext.py: bit bucket overflow
-  \*\*\* failed to import extension badext2: No module named badext2
+  \*\*\* failed to import extension badext from .*/badext.py: bit bucket overflow (re)
+  *** failed to import extension badext2: No module named badext2
   hg help [TOPIC]
   
   show help for a given topic or a help overview
--- a/tests/test-bad-pull.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-bad-pull.t	Wed Sep 22 16:06:00 2010 -0500
@@ -24,7 +24,7 @@
   $ sleep 1
 
   $ hg clone http://localhost:$HGPORT/foo copy2 2>&1
-  abort: HTTP Error 404: .*
+  abort: HTTP Error 404: .* (re)
   [255]
 
   $ kill $!
--- a/tests/test-bookmarks-rebase.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-bookmarks-rebase.t	Wed Sep 22 16:06:00 2010 -0500
@@ -37,7 +37,7 @@
 rebase
 
   $ hg rebase -s two -d one
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
 
   $ hg log
   changeset:   3:9163974d1cb5
--- a/tests/test-bookmarks-strip.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-bookmarks-strip.t	Wed Sep 22 16:06:00 2010 -0500
@@ -50,7 +50,7 @@
 strip to revision 1
 
   $ hg strip 1
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
 
 list bookmarks
 
--- a/tests/test-clone.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-clone.t	Wed Sep 22 16:06:00 2010 -0500
@@ -80,7 +80,7 @@
 
   $ hg clone -q -U --config 'paths.foobar=a#0' foobar f
   $ hg -R f showconfig paths.default
-  .*/a#0
+  .*/a#0 (re)
 
 Use --pull:
 
--- a/tests/test-committer.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-committer.t	Wed Sep 22 16:06:00 2010 -0500
@@ -53,7 +53,7 @@
   [255]
   $ rm .hg/hgrc
   $ hg commit -m commit-1 2>&1
-  No username found, using '[^']*' instead
+  No username found, using '[^']*' instead (re)
 
   $ echo space > asdf
   $ hg commit -u ' ' -m commit-1
--- a/tests/test-default-push.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-default-push.t	Wed Sep 22 16:06:00 2010 -0500
@@ -18,7 +18,7 @@
 Push should push to 'default' when 'default-push' not set:
 
   $ hg --cwd b push
-  pushing to .*/a
+  pushing to .*/a (re)
   searching for changes
   adding changesets
   adding manifests
@@ -29,7 +29,7 @@
 
   $ echo 'default-push = ../c' >> b/.hg/hgrc
   $ hg --cwd b push
-  pushing to .*/c
+  pushing to .*/c (re)
   searching for changes
   adding changesets
   adding manifests
--- a/tests/test-globalopts.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-globalopts.t	Wed Sep 22 16:06:00 2010 -0500
@@ -240,12 +240,12 @@
 
   $ hg --cwd a --time id
   8580ff50825a tip
-  Time: real .*
+  Time: real .* (re)
 
 Testing --version:
 
   $ hg --version -q
-  Mercurial Distributed SCM .*
+  Mercurial Distributed SCM .* (re)
 
 Testing -h/--help:
 
--- a/tests/test-help.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-help.t	Wed Sep 22 16:06:00 2010 -0500
@@ -189,7 +189,7 @@
 Test short command list with verbose option
 
   $ hg -v help shortlist
-  Mercurial Distributed SCM \(version .*\)
+  Mercurial Distributed SCM \(version .*\) (re)
   
   Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
   This is free software; see the source for copying conditions. There is NO
@@ -341,7 +341,7 @@
 Test help option with version option
 
   $ hg add -h --version
-  Mercurial Distributed SCM \(version .+?\)
+  Mercurial Distributed SCM \(version .+?\) (re)
   
   Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
   This is free software; see the source for copying conditions. There is NO
--- a/tests/test-hgignore.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-hgignore.t	Wed Sep 22 16:06:00 2010 -0500
@@ -44,7 +44,7 @@
 
   $ echo "*.o" > .hgignore
   $ hg status
-  abort: .*/\.hgignore: invalid pattern \(relre\): \*\.o
+  abort: .*/\.hgignore: invalid pattern \(relre\): \*\.o (re)
   [255]
 
   $ echo ".*\.o" > .hgignore
@@ -88,7 +88,7 @@
 
   $ echo "syntax: invalid" > .hgignore
   $ hg status
-  .*/\.hgignore: ignoring invalid syntax 'invalid'
+  .*/\.hgignore: ignoring invalid syntax 'invalid' (re)
   A dir/b.o
   ? .hgignore
   ? a.c
--- a/tests/test-hgrc.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-hgrc.t	Wed Sep 22 16:06:00 2010 -0500
@@ -1,6 +1,6 @@
   $ echo "invalid" > $HGRCPATH
   $ hg version
-  hg: parse error at .*/\.hgrc:1: invalid
+  hg: parse error at .*/\.hgrc:1: invalid (re)
   [255]
   $ echo "" > $HGRCPATH
 
@@ -14,12 +14,12 @@
   $ cd foobar
   $ cat .hg/hgrc
   [paths]
-  default = .*/foo%bar
+  default = .*/foo%bar (re)
   $ hg paths
-  default = .*/foo%bar
+  default = .*/foo%bar (re)
   $ hg showconfig
-  bundle\.mainreporoot=.*/foobar
-  paths\.default=.*/foo%bar
+  bundle\.mainreporoot=.*/foobar (re)
+  paths\.default=.*/foo%bar (re)
   $ cd ..
 
 issue1829: wrong indentation
@@ -27,7 +27,7 @@
   $ echo '[foo]' > $HGRCPATH
   $ echo '  x = y' >> $HGRCPATH
   $ hg version
-  hg: parse error at .*/\.hgrc:2:   x = y
+  hg: parse error at .*/\.hgrc:2:   x = y (re)
   [255]
 
   $ python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
@@ -40,7 +40,7 @@
   $ export FAKEPATH
   $ echo '%include $FAKEPATH/no-such-file' > $HGRCPATH
   $ hg version
-  hg: parse error at .*/\.hgrc:1: cannot include /path/to/nowhere/no-such-file \(No such file or directory\)
+  hg: parse error at .*/\.hgrc:1: cannot include /path/to/nowhere/no-such-file \(No such file or directory\) (re)
   [255]
   $ unset FAKEPATH
 
@@ -90,23 +90,23 @@
 customized hgrc
 
   $ hg showconfig
-  read config from: .*/\.hgrc
-  .*/\.hgrc:13: alias\.log=log -g
-  .*/\.hgrc:11: defaults\.identify=-n
-  .*/\.hgrc:2: ui\.debug=true
-  .*/\.hgrc:3: ui\.fallbackencoding=ASCII
-  .*/\.hgrc:4: ui\.quiet=true
-  .*/\.hgrc:5: ui\.slash=true
-  .*/\.hgrc:6: ui\.traceback=true
-  .*/\.hgrc:7: ui\.verbose=true
-  .*/\.hgrc:8: ui\.style=~/.hgstyle
-  .*/\.hgrc:9: ui\.logtemplate=\{node\}
+  read config from: .*/\.hgrc (re)
+  .*/\.hgrc:13: alias\.log=log -g (re)
+  .*/\.hgrc:11: defaults\.identify=-n (re)
+  .*/\.hgrc:2: ui\.debug=true (re)
+  .*/\.hgrc:3: ui\.fallbackencoding=ASCII (re)
+  .*/\.hgrc:4: ui\.quiet=true (re)
+  .*/\.hgrc:5: ui\.slash=true (re)
+  .*/\.hgrc:6: ui\.traceback=true (re)
+  .*/\.hgrc:7: ui\.verbose=true (re)
+  .*/\.hgrc:8: ui\.style=~/.hgstyle (re)
+  .*/\.hgrc:9: ui\.logtemplate=\{node\} (re)
 
 plain hgrc
 
   $ HGPLAIN=; export HGPLAIN
   $ hg showconfig --config ui.traceback=True --debug
-  read config from: .*/\.hgrc
+  read config from: .*/\.hgrc (re)
   none: ui.traceback=True
   none: ui.verbose=False
   none: ui.debug=True
--- a/tests/test-hook.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-hook.t	Wed Sep 22 16:06:00 2010 -0500
@@ -415,12 +415,12 @@
   $ echo >> foo
   $ hg ci --debug -d '0 0' -m 'change foo'
   foo
-  calling hook commit\.auto: <function autohook at .*>
+  calling hook commit\.auto: <function autohook at .*> (re)
   Automatically installed hook
   committed changeset 1:52998019f6252a2b893452765fcb0a47351a5708
 
   $ hg showconfig hooks
-  hooks\.commit\.auto=<function autohook at .*>
+  hooks\.commit\.auto=<function autohook at .*> (re)
 
 test python hook configured with python:[file]:[hook] syntax
 
--- a/tests/test-install.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-install.t	Wed Sep 22 16:06:00 2010 -0500
@@ -1,7 +1,7 @@
 hg debuginstall
   $ hg debuginstall
   Checking encoding (ascii)...
-  Checking installed modules \(.*/mercurial\)\.\.\.
+  Checking installed modules \(.*/mercurial\)\.\.\. (re)
   Checking templates...
   Checking patch...
   Checking commit editor...
@@ -11,7 +11,7 @@
 hg debuginstall with no username
   $ HGUSER= hg debuginstall
   Checking encoding (ascii)...
-  Checking installed modules \(.*/mercurial\)\.\.\.
+  Checking installed modules \(.*/mercurial\)\.\.\. (re)
   Checking templates...
   Checking patch...
   Checking commit editor...
--- a/tests/test-journal-exists.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-journal-exists.t	Wed Sep 22 16:06:00 2010 -0500
@@ -27,7 +27,7 @@
 
   $ hg -R foo unbundle repo.hg
   adding changesets
-  abort: Permission denied: .*
+  abort: Permission denied: .* (re)
   [255]
 
   $ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi
--- a/tests/test-keyword.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-keyword.t	Wed Sep 22 16:06:00 2010 -0500
@@ -27,13 +27,13 @@
   Revision = {node|short}
   Source = {root}/{file},v
   $Author: test $
-  \$Date: ..../../.. ..:..:.. \$
-  \$Header: .*/demo\.txt,v ............ ..../../.. ..:..:.. test \$
-  \$Id: demo\.txt,v ............ ..../../.. ..:..:.. test \$
+  \$Date: ..../../.. ..:..:.. \$ (re)
+  \$Header: .*/demo\.txt,v ............ ..../../.. ..:..:.. test \$ (re)
+  \$Id: demo\.txt,v ............ ..../../.. ..:..:.. test \$ (re)
   $RCSFile: demo.txt,v $
   $RCSfile: demo.txt,v $
-  \$Revision: ............ \$
-  \$Source: .*/demo\.txt,v \$
+  \$Revision: ............ \$ (re)
+  \$Source: .*/demo.txt,v \$ (re)
 
   $ hg --quiet kwdemo "Branch = {branches}"
   [extensions]
@@ -71,7 +71,7 @@
  hg bundle --base null ../test-keyword.hg
 
   $ hg pull -u "$TESTDIR"/test-keyword.hg
-  pulling from .*test-keyword\.hg
+  pulling from .*test-keyword\.hg (re)
   requesting all changes
   adding changesets
   adding manifests
@@ -150,7 +150,7 @@
   do not process $Id:
   xxx $
   ignore $Id$
-  a.*
+  a.* (re)
 
 Test hook execution
 
@@ -195,15 +195,15 @@
   Content-Type: text/plain; charset="us-ascii"
   MIME-Version: 1.0
   Content-Transfer-Encoding: 7bit
-  Date: .*
-  Subject: changeset in .*
+  Date: .* (re)
+  Subject: changeset in .* (re)
   From: mercurial
   X-Hg-Notification: changeset a2392c293916
-  Message-Id: <hg\.a2392c293916.*>
+  Message-Id: <hg\.a2392c293916.*> (re)
   To: Test
   
-  changeset a2392c293916 in .*
-  details: .*\?cmd=changeset;node=a2392c293916
+  changeset a2392c293916 in .* (re)
+  details: .*\?cmd=changeset;node=a2392c293916 (re)
   description:
   	addsym
   
@@ -218,15 +218,15 @@
   Content-Type: text/plain; charset="us-ascii"
   MIME-Version: 1.0
   Content-Transfer-Encoding: 7bit
-  Date:.*
-  Subject: changeset in.*
+  Date:.* (re)
+  Subject: changeset in.* (re)
   From: User Name <user@example.com>
   X-Hg-Notification: changeset ef63ca68695b
-  Message-Id: <hg\.ef63ca68695b.*>
+  Message-Id: <hg\.ef63ca68695b.*> (re)
   To: Test
   
-  changeset ef63ca68695b in .*
-  details: .*\?cmd=changeset;node=ef63ca68695b
+  changeset ef63ca68695b in .* (re)
+  details: .*\?cmd=changeset;node=ef63ca68695b (re)
   description:
   	absym
   
@@ -335,7 +335,7 @@
   $ hg diff
   diff -r d17e03c92c97 a
   --- a/a	Wed Dec 31 23:59:51 1969 -0000
-  \+\+\+ b/a	.*
+  \+\+\+ b/a	.* (re)
   @@ -2,3 +2,4 @@
    foo
    do not process $Id:
@@ -479,7 +479,7 @@
   $ hg diff --rev 1
   diff -r ef63ca68695b c
   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-  \+\+\+ b/c	.*
+  \+\+\+ b/c	.* (re)
   @@ -0,0 +1,3 @@
   +expand $Id$
   +do not process $Id:
@@ -527,7 +527,7 @@
   do not process $Id:
   xxx $
   ignore $Id$
-  a.*
+  a.* (re)
 
 Write custom keyword and prepare multiline commit message
 
@@ -577,7 +577,7 @@
   xxx $
   $Xinfo: User Name <user@example.com>: firstline $
   ignore $Id$
-  a.*
+  a.* (re)
 
 annotate
 
@@ -648,7 +648,7 @@
   > default = ../Test
   > EOF
   $ hg incoming
-  comparing with .*test-keyword\.t/Test
+  comparing with .*test-keyword\.t/Test (re)
   searching for changes
   changeset:   2:bb948857c743
   tag:         tip
@@ -718,7 +718,7 @@
 kwexpand nonexistent
 
   $ hg kwexpand nonexistent
-  nonexistent:.*
+  nonexistent:.* (re)
 
 
 hg serve
@@ -907,7 +907,7 @@
   xxx $
   $Xinfo: User Name <user@example.com>: firstline $
   ignore $Id$
-  a.*
+  a.* (re)
 
 Now disable keyword expansion
 
@@ -924,4 +924,4 @@
   xxx $
   $Xinfo$
   ignore $Id$
-  a.*
+  a.* (re)
--- a/tests/test-mq-merge.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-mq-merge.t	Wed Sep 22 16:06:00 2010 -0500
@@ -32,7 +32,7 @@
 Save the patch queue so we can merge it later:
 
   $ hg qsave -c -e
-  copy .*/t/\.hg/patches to .*/t/\.hg/patches\.1
+  copy .*/t/\.hg/patches to .*/t/\.hg/patches\.1 (re)
   $ checkundo
 
 Update b and commit in an "update" changeset:
@@ -52,7 +52,7 @@
   b
 
   $ hg qpush -a -m
-  merging with queue at: .*/t/\.hg/patches\.1
+  merging with queue at: .*/t/\.hg/patches\.1 (re)
   applying rm_a
   now at: rm_a
 
@@ -91,14 +91,14 @@
 Create the reference queue:
 
   $ hg qsave -c -e -n refqueue
-  copy .*/t2/\.hg/patches to .*/t2/\.hg/refqueue
+  copy .*/t2/\.hg/patches to .*/t2/\.hg/refqueue (re)
   $ hg up -C 1
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
 Merge:
 
   $ HGMERGE=internal:other hg qpush -a -m -n refqueue
-  merging with queue at: .*/t2/\.hg/refqueue
+  merging with queue at: .*/t2/\.hg/refqueue (re)
   applying patcha
   patching file a
   Hunk #1 FAILED at 0
@@ -138,10 +138,10 @@
 
   $ cat .hg/patches/patcha2
   # HG changeset patch
-  # Parent ........................................
+  # Parent ........................................ (re)
   # Date 0 0
   
-  diff -r ............ -r ............ a
+  diff -r ............ -r ............ a (re)
   --- a/a
   +++ b/a
   @@ -1,2 +1,3 @@
--- a/tests/test-mq-qfold.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-mq-qfold.t	Wed Sep 22 16:06:00 2010 -0500
@@ -59,7 +59,7 @@
   [255]
 
   $ hg diff -c .
-  diff -r 07f494440405 -r ............ a
+  diff -r 07f494440405 -r ............ a (re)
   --- a/a
   +++ b/a
   @@ -1,1 +1,3 @@
@@ -85,7 +85,7 @@
 
   $ cat .hg/patches/regular
   # HG changeset patch
-  # Parent ........................................
+  # Parent ........................................ (re)
   
   diff --git a/a b/a
   --- a/a
@@ -127,7 +127,7 @@
 
   $ cat .hg/patches/git
   # HG changeset patch
-  # Parent ........................................
+  # Parent ........................................ (re)
   
   diff --git a/a b/aa
   copy from a
--- a/tests/test-mq-qrefresh.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-mq-qrefresh.t	Wed Sep 22 16:06:00 2010 -0500
@@ -255,7 +255,7 @@
 diff shows what is not in patch:
 
   $ hg diff
-  diff -r ............ orphanchild
+  diff -r ............ orphanchild (re)
   --- /dev/null
   +++ b/orphanchild
   @@ -0,0 +1,1 @@
--- a/tests/test-mq-safety.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-mq-safety.t	Wed Sep 22 16:06:00 2010 -0500
@@ -39,7 +39,7 @@
   abort: popping would remove a revision not managed by this patch queue
   [255]
   $ hg qpop -n patches
-  using patch queue: .*/repo/\.hg/patches
+  using patch queue: .*/repo/\.hg/patches (re)
   abort: popping would remove a revision not managed by this patch queue
   [255]
   $ hg qrefresh
--- a/tests/test-mq-strip.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-mq-strip.t	Wed Sep 22 16:06:00 2010 -0500
@@ -77,7 +77,7 @@
   summary:     e
   
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   % after update 4, strip 4
   changeset:   3:65bd5f99a4a3
   tag:         tip
@@ -96,7 +96,7 @@
   summary:     e
   
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   % after update 4, strip 3
   changeset:   1:ef3a871183d7
   user:        test
@@ -111,7 +111,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     b
   
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   % after update 1, strip 4
   changeset:   1:ef3a871183d7
   user:        test
@@ -127,7 +127,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     e
   
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   % after update 4, strip 2
   changeset:   3:443431ffac4f
   tag:         tip
@@ -146,7 +146,7 @@
   summary:     c
   
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   % after update 4, strip 1
   changeset:   0:9ab35a2d17cb
   tag:         tip
@@ -157,7 +157,7 @@
   $ teststrip null 4
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   % before update null, strip 4
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   % after update null, strip 4
 
   $ hg log
@@ -212,7 +212,7 @@
   
   $ hg strip 4
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
 
 after strip of merge parent
 
@@ -258,7 +258,7 @@
 2 is parent of 3, only one strip should happen
 
   $ hg strip 2 3
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   $ hg glog
   @  changeset:   2:264128213d29
   |  tag:         tip
@@ -310,8 +310,8 @@
 
   $ hg strip 2 4
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
+  saved backup bundle to .* (re)
   $ hg glog
   @  changeset:   2:65bd5f99a4a3
   |  tag:         tip
@@ -335,14 +335,14 @@
 
   $ hg strip 1 2 4
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   $ restore
 
 
 remove branchy history for qimport tests
 
   $ hg strip 3
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
 
 
 strip of applied mq should cleanup status file
@@ -364,7 +364,7 @@
 
   $ hg strip 3
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
 
 applied patches after stripping rev in queue
 
@@ -375,7 +375,7 @@
 
   $ hg strip 1
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
 
 applied patches after stripping ancestor of queue
 
--- a/tests/test-mq.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-mq.t	Wed Sep 22 16:06:00 2010 -0500
@@ -135,7 +135,7 @@
   guards
   $ cat .hg/patches/series
   $ hg qinit -c
-  abort: repository .* already exists!
+  abort: repository .* already exists! (re)
   [255]
   $ cd ..
 
@@ -237,9 +237,9 @@
   $ cat .hg/patches/test.patch
   foo bar
   
-  diff -r [a-f0-9]* a
-  --- a/a\t(?P<date>.*)
-  \+\+\+ b/a\t(?P<date2>.*)
+  diff -r [a-f0-9]* a (re)
+  --- a/a\t(?P<date>.*) (re)
+  \+\+\+ b/a\t(?P<date2>.*) (re)
   @@ -1,1 +1,2 @@
    a
   +a
@@ -290,7 +290,7 @@
 .hg/tags.cache (pre qpush):
 
   $ cat .hg/tags.cache
-  1 [\da-f]{40}
+  1 [\da-f]{40} (re)
   
   $ hg qpush
   applying test.patch
@@ -300,7 +300,7 @@
 .hg/tags.cache (post qpush):
 
   $ cat .hg/tags.cache
-  2 [\da-f]{40}
+  2 [\da-f]{40} (re)
   
   $ checkundo qpush
   $ cd ..
@@ -737,7 +737,7 @@
   adding x
   $ hg strip tip
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   $ hg unbundle .hg/strip-backup/*
   adding changesets
   adding manifests
@@ -760,7 +760,7 @@
 
   $ hg strip -f tip
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
 
 
 cd b; hg qrefresh
@@ -782,14 +782,14 @@
   foo
   
   diff -r cb9a9f314b8b a
-  --- a/a\t(?P<date>.*)
-  \+\+\+ b/a\t(?P<date>.*)
+  --- a/a\t(?P<date>.*) (re)
+  \+\+\+ b/a\t(?P<date>.*) (re)
   @@ -1,1 +1,2 @@
    a
   +a
   diff -r cb9a9f314b8b b/f
-  --- /dev/null\t(?P<date>.*)
-  \+\+\+ b/b/f\t(?P<date>.*)
+  --- /dev/null\t(?P<date>.*) (re)
+  \+\+\+ b/b/f\t(?P<date>.*) (re)
   @@ -0,0 +1,1 @@
   +f
 
@@ -800,8 +800,8 @@
   foo
   
   diff -r cb9a9f314b8b b/f
-  --- /dev/null\t(?P<date>.*)
-  \+\+\+ b/b/f\t(?P<date>.*)
+  --- /dev/null\t(?P<date>.*) (re)
+  \+\+\+ b/b/f\t(?P<date>.*) (re)
   @@ -0,0 +1,1 @@
   +f
   $ hg status
@@ -1118,7 +1118,7 @@
   
   $ hg strip 1
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   $ checkundo strip
   $ hg log
   changeset:   1:20cbbe65cff7
--- a/tests/test-patchbomb.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-patchbomb.t	Wed Sep 22 16:06:00 2010 -0500
@@ -25,8 +25,8 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH] a
   X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
-  Message-Id: <8580ff50825a50c8f716\.60@.*
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <8580ff50825a50c8f716\.60@.* (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Thu, 01 Jan 1970 00:01:00 +0000
   From: quux
   To: foo
@@ -80,8 +80,8 @@
   MIME-Version: 1.0
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 0 of 2] test
-  Message-Id: <patchbomb\.120@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <patchbomb\.120@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Thu, 01 Jan 1970 00:02:00 +0000
   From: quux
   To: foo
@@ -94,10 +94,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 1 of 2] a
   X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
-  Message-Id: <8580ff50825a50c8f716\.121@[^>]*>
-  In-Reply-To: <patchbomb\.120@[^>]*>
-  References: <patchbomb\.120@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <8580ff50825a50c8f716\.121@[^>]*> (re)
+  In-Reply-To: <patchbomb\.120@[^>]*> (re)
+  References: <patchbomb\.120@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Thu, 01 Jan 1970 00:02:01 +0000
   From: quux
   To: foo
@@ -122,10 +122,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 2 of 2] b
   X-Mercurial-Node: 97d72e5f12c7e84f85064aa72e5a297142c36ed9
-  Message-Id: <97d72e5f12c7e84f8506\.122@[^>]*>
-  In-Reply-To: <patchbomb\.120@[^>]*>
-  References: <patchbomb\.120@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <97d72e5f12c7e84f8506\.122@[^>]*> (re)
+  In-Reply-To: <patchbomb\.120@[^>]*> (re)
+  References: <patchbomb\.120@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Thu, 01 Jan 1970 00:02:02 +0000
   From: quux
   To: foo
@@ -241,8 +241,8 @@
   Content-Transfer-Encoding: base64
   Subject: [PATCH] charset=utf-8; content-transfer-encoding: base64
   X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
-  Message-Id: <c3c9e37db9f4fe4882cd\.240@.*
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <c3c9e37db9f4fe4882cd\.240@.* (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Thu, 01 Jan 1970 00:04:00 +0000
   From: quux
   To: foo
@@ -1810,8 +1810,8 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH] test
   X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
-  Message-Id: <8580ff50825a50c8f716\.315532860@.*
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <8580ff50825a50c8f716\.315532860@.* (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:00 +0000
   From: quux
   To: bar@xn--nicode-2ya.com
@@ -1857,8 +1857,8 @@
   MIME-Version: 1.0
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 0 of 8] test
-  Message-Id: <patchbomb\.315532860@.*
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <patchbomb\.315532860@.* (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:00 +0000
   From: test
   To: foo
@@ -1870,10 +1870,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 1 of 8] c
   X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
-  Message-Id: <ff2c9fa2018b15fa74b3\.315532861@.*
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <ff2c9fa2018b15fa74b3\.315532861@.* (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:01 +0000
   From: test
   To: foo
@@ -1897,10 +1897,10 @@
   Content-Transfer-Encoding: 8bit
   Subject: [PATCH 2 of 8] charset=utf-8; content-transfer-encoding: base64
   X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
-  Message-Id: <c3c9e37db9f4fe4882cd\.315532862@.*
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <c3c9e37db9f4fe4882cd\.315532862@.* (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:02 +0000
   From: test
   To: foo
@@ -1932,10 +1932,10 @@
   Subject: [PATCH 3 of 8] charset=utf-8;
    content-transfer-encoding: quoted-printable
   X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
-  Message-Id: <c655633f8c87700bb38c\.315532863@.*
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <c655633f8c87700bb38c\.315532863@.* (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:03 +0000
   From: test
   To: foo
@@ -1975,10 +1975,10 @@
   Content-Transfer-Encoding: 8bit
   Subject: [PATCH 4 of 8] charset=us-ascii; content-transfer-encoding: 8bit
   X-Mercurial-Node: 22d0f96be12f5945fd67d101af58f7bc8263c835
-  Message-Id: <22d0f96be12f5945fd67\.315532864@.*
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <22d0f96be12f5945fd67\.315532864@.* (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:04 +0000
   From: test
   To: foo
@@ -2002,10 +2002,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a
   X-Mercurial-Node: dd9c2b4b8a8a0934d5523c15f2c119b362360903
-  Message-Id: <dd9c2b4b8a8a0934d552\.315532865@.*
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <dd9c2b4b8a8a0934d552\.315532865@.* (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:05 +0000
   From: test
   To: foo
@@ -2030,10 +2030,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7
   X-Mercurial-Node: eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
-  Message-Id: <eae5fcf795eee29d0e45\.315532866@.*
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <eae5fcf795eee29d0e45\.315532866@.* (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:06 +0000
   From: test
   To: foo
@@ -2060,10 +2060,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b
   X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6
-  Message-Id: <e317db6a6f288748d1f6\.315532867@.*
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <e317db6a6f288748d1f6\.315532867@.* (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:07 +0000
   From: test
   To: foo
@@ -2091,10 +2091,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 8 of 8] d
   X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
-  Message-Id: <2f9fa9b998c5fe3ac2bd\.315532868[^>]*>
-  In-Reply-To: <patchbomb\.315532860@[^>]*>
-  References: <patchbomb\.315532860@[^>]*>
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <2f9fa9b998c5fe3ac2bd\.315532868[^>]*> (re)
+  In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
+  References: <patchbomb\.315532860@[^>]*> (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:08 +0000
   From: test
   To: foo
@@ -2129,8 +2129,8 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH] test
   X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
-  Message-Id: <2f9fa9b998c5fe3ac2bd\.315532860@.*
-  User-Agent: Mercurial-patchbomb/.*
+  Message-Id: <2f9fa9b998c5fe3ac2bd\.315532860@.* (re)
+  User-Agent: Mercurial-patchbomb/.* (re)
   Date: Tue, 01 Jan 1980 00:01:00 +0000
   From: test
   To: foo
--- a/tests/test-paths.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-paths.t	Wed Sep 22 16:06:00 2010 -0500
@@ -6,11 +6,11 @@
   $ echo '[paths]' >> .hg/hgrc
   $ echo 'dupe = ../b' >> .hg/hgrc
   $ hg in dupe
-  comparing with .*/test-paths\.t/b
+  comparing with .*/test-paths\.t/b (re)
   no changes found
   [1]
   $ cd ..
   $ hg -R a in dupe
-  comparing with .*/test-paths\.t/b
+  comparing with .*/test-paths\.t/b (re)
   no changes found
   [1]
--- a/tests/test-permissions.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-permissions.t	Wed Sep 22 16:06:00 2010 -0500
@@ -20,7 +20,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  abort: Permission denied: .*
+  abort: Permission denied: .* (re)
   [255]
 
   $ chmod +r .hg/store/data/a.i
@@ -37,7 +37,7 @@
   $ echo barber > a
   $ hg commit -m "2"
   trouble committing a!
-  abort: Permission denied: .*
+  abort: Permission denied: .* (re)
   [255]
 
   $ chmod -w .
--- a/tests/test-push-validation.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-push-validation.t	Wed Sep 22 16:06:00 2010 -0500
@@ -40,7 +40,7 @@
 Expected to fail:
 
   $ hg push
-  pushing to .*
+  pushing to .* (re)
   searching for changes
   adding changesets
   adding manifests
--- a/tests/test-relink.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-relink.t	Wed Sep 22 16:06:00 2010 -0500
@@ -60,7 +60,7 @@
 relink
 
   $ hg relink --debug | fix_path
-  relinking .*/\.hg/store
+  relinking .*/\.hg/store (re)
   tip has 2 files, estimated total number of files: 3
   collecting: 00changelog.i 1/3 files (33.33%)
   collecting: 00manifest.i 2/3 files (66.67%)
--- a/tests/test-rename.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-rename.t	Wed Sep 22 16:06:00 2010 -0500
@@ -263,8 +263,8 @@
   R d1/ba
   R d1/d11/a1
   $ diff -u d1/b d2/b
-  --- d1/b	.*
-  \+\+\+ d2/b	.*
+  --- d1/b	.* (re)
+  \+\+\+ d2/b	.* (re)
   @@ -1 +1 @@
   -d1/b
   +d2/b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-run-tests.t	Wed Sep 22 16:06:00 2010 -0500
@@ -0,0 +1,32 @@
+Simple commands:
+
+  $ echo foo
+  foo
+  $ echo 'bar\nbaz' | cat
+  bar
+  baz
+
+Multi-line command:
+
+  $ foo() {
+  >     echo bar
+  > }
+  $ foo
+  bar
+
+Regular expressions:
+
+  $ echo foobarbaz
+  foobar.* (re)
+  $ echo barbazquux
+  .*quux.* (re)
+
+Literal match ending in " (re)":
+
+  $ echo 'foo (re)'
+  foo (re)
+
+Exit code:
+
+  $ false
+  [1]
--- a/tests/test-subrepo-deep-nested-change.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-subrepo-deep-nested-change.t	Wed Sep 22 16:06:00 2010 -0500
@@ -27,7 +27,7 @@
   $ echo "sub1 = ../sub1" > main/.hgsub
   $ hg clone sub1 main/sub1
   updating to branch default
-  pulling subrepo sub2 from .*/sub2
+  pulling subrepo sub2 from .*/sub2 (re)
   requesting all changes
   adding changesets
   adding manifests
@@ -55,13 +55,13 @@
 
   $ hg clone main cloned
   updating to branch default
-  pulling subrepo sub1 from .*/sub1
+  pulling subrepo sub1 from .*/sub1 (re)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 3 changes to 3 files
-  pulling subrepo sub1/sub2 from .*/sub2
+  pulling subrepo sub1/sub2 from .*/sub2 (re)
   requesting all changes
   adding changesets
   adding manifests
--- a/tests/test-subrepo-paths.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-subrepo-paths.t	Wed Sep 22 16:06:00 2010 -0500
@@ -28,5 +28,5 @@
   > .* = \1
   > EOF
   $ hg debugsub
-  abort: bad subrepository pattern in .*/test-subrepo-paths\.t/outer/\.hg/hgrc:2: invalid group reference
+  abort: bad subrepository pattern in .*/test-subrepo-paths\.t/outer/\.hg/hgrc:2: invalid group reference (re)
   [255]
--- a/tests/test-subrepo-recursion.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-subrepo-recursion.t	Wed Sep 22 16:06:00 2010 -0500
@@ -252,13 +252,13 @@
   $ cd ..
   $ hg clone repo repo2
   updating to branch default
-  pulling subrepo foo from .*/test-subrepo-recursion\.t/repo/foo
+  pulling subrepo foo from .*/test-subrepo-recursion\.t/repo/foo (re)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 7 changes to 3 files
-  pulling subrepo foo/bar from .*/test-subrepo-recursion\.t/repo/foo/bar
+  pulling subrepo foo/bar from .*/test-subrepo-recursion\.t/repo/foo/bar (re)
   requesting all changes
   adding changesets
   adding manifests
@@ -267,10 +267,10 @@
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd repo2
   $ hg outgoing -S
-  comparing with .*/test-subrepo-recursion\.t/repo
+  comparing with .*/test-subrepo-recursion\.t/repo (re)
   searching for changes
   no changes found
-  comparing with .*/test-subrepo-recursion\.t/repo/foo
+  comparing with .*/test-subrepo-recursion\.t/repo/foo (re)
   searching for changes
   no changes found
   [1]
@@ -290,7 +290,7 @@
   $ hg commit -m 3-4-2
   committing subrepository foo
   $ hg outgoing -S
-  comparing with .*/test-subrepo-recursion\.t/repo
+  comparing with .*/test-subrepo-recursion\.t/repo (re)
   searching for changes
   changeset:   3:2655b8ecc4ee
   tag:         tip
@@ -298,7 +298,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     3-4-2
   
-  comparing with .*/test-subrepo-recursion\.t/repo/foo
+  comparing with .*/test-subrepo-recursion\.t/repo/foo (re)
   searching for changes
   changeset:   4:e96193d6cb36
   tag:         tip
@@ -316,7 +316,7 @@
 Test incoming:
 
   $ hg incoming -S
-  comparing with .*/test-subrepo-recursion\.t/repo2
+  comparing with .*/test-subrepo-recursion\.t/repo2 (re)
   searching for changes
   changeset:   3:2655b8ecc4ee
   tag:         tip
@@ -324,7 +324,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     3-4-2
   
-  comparing with .*/test-subrepo-recursion\.t/repo2/foo
+  comparing with .*/test-subrepo-recursion\.t/repo2/foo (re)
   searching for changes
   changeset:   4:e96193d6cb36
   tag:         tip
--- a/tests/test-subrepo-relative-path.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-subrepo-relative-path.t	Wed Sep 22 16:06:00 2010 -0500
@@ -44,7 +44,7 @@
   adding file changes
   added 1 changesets with 3 changes to 3 files
   updating to branch default
-  pulling subrepo sub from http://localhost:[0-9]+/sub
+  pulling subrepo sub from http://localhost:[0-9]+/sub (re)
   requesting all changes
   adding changesets
   adding manifests
--- a/tests/test-subrepo-svn.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-subrepo-svn.t	Wed Sep 22 16:06:00 2010 -0500
@@ -86,7 +86,7 @@
   Transmitting file data .
   Committed revision 3.
   
-  Fetching external item into '.*/s/externals'
+  Fetching external item into '.*/s/externals' (re)
   External at revision 1.
   
   At revision 3.
--- a/tests/test-subrepo.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-subrepo.t	Wed Sep 22 16:06:00 2010 -0500
@@ -236,19 +236,19 @@
   $ cd ..
   $ hg clone t tc
   updating to branch default
-  pulling subrepo s from .*/sub/t/s
+  pulling subrepo s from .*/sub/t/s (re)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 5 changes to 3 files
-  pulling subrepo s/ss from .*/sub/t/s/ss
+  pulling subrepo s/ss from .*/sub/t/s/ss (re)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  pulling subrepo t from .*/sub/t/t
+  pulling subrepo t from .*/sub/t/t (re)
   requesting all changes
   adding changesets
   adding manifests
@@ -270,14 +270,14 @@
   $ hg ci -m11
   committing subrepository t
   $ hg push
-  pushing .*sub/t
-  pushing .*sub/t/s/ss
+  pushing .*sub/t (re)
+  pushing .*sub/t/s/ss (re)
   searching for changes
   no changes found
-  pushing .*sub/t/s
+  pushing .*sub/t/s (re)
   searching for changes
   no changes found
-  pushing .*sub/t/t
+  pushing .*sub/t/t (re)
   searching for changes
   adding changesets
   adding manifests
@@ -295,27 +295,27 @@
   $ hg ci -m12
   committing subrepository s
   $ hg push
-  pushing .*sub/t
-  pushing .*sub/t/s/ss
+  pushing .*sub/t (re)
+  pushing .*sub/t/s/ss (re)
   searching for changes
   no changes found
-  pushing .*sub/t/s
+  pushing .*sub/t/s (re)
   searching for changes
   abort: push creates new remote heads on branch 'default'!
   (did you forget to merge? use push -f to force)
   [255]
   $ hg push -f
-  pushing .*sub/t
-  pushing .*sub/t/s/ss
+  pushing .*sub/t (re)
+  pushing .*sub/t/s/ss (re)
   searching for changes
   no changes found
-  pushing .*sub/t/s
+  pushing .*sub/t/s (re)
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  pushing .*sub/t/t
+  pushing .*sub/t/t (re)
   searching for changes
   no changes found
   searching for changes
@@ -337,7 +337,7 @@
 
   $ cd ../tc
   $ hg pull
-  pulling .*sub/t
+  pulling .*sub/t (re)
   searching for changes
   adding changesets
   adding manifests
@@ -348,7 +348,7 @@
 should pull t
 
   $ hg up
-  pulling subrepo t from .*/sub/t/t
+  pulling subrepo t from .*/sub/t/t (re)
   searching for changes
   adding changesets
   adding manifests
@@ -541,9 +541,9 @@
   $ cat mercurial2/main/nested_absolute/.hg/hgrc \
   >     mercurial2/main/nested_relative/.hg/hgrc
   [paths]
-  default = .*/test-subrepo\.t/sub/mercurial/nested_absolute
+  default = .*/test-subrepo\.t/sub/mercurial/nested_absolute (re)
   [paths]
-  default = .*/test-subrepo\.t/sub/mercurial/nested_relative
+  default = .*/test-subrepo\.t/sub/mercurial/nested_relative (re)
   $ rm -rf mercurial mercurial2
 
 issue 1977
@@ -559,7 +559,7 @@
   committing subrepository s
   $ hg clone repo repo2
   updating to branch default
-  pulling subrepo s from .*/sub/repo/s
+  pulling subrepo s from .*/sub/repo/s (re)
   requesting all changes
   adding changesets
   adding manifests
--- a/tests/test-tags.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-tags.t	Wed Sep 22 16:06:00 2010 -0500
@@ -299,7 +299,7 @@
 Strip 1: expose an old head:
 
   $ hg --config extensions.mq= strip 5
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   $ hg tags                  # partly stale cache
   tip                                5:735c3ca72986
   bar                                1:78391a272241
@@ -310,7 +310,7 @@
 Strip 2: destroy whole branch, no old head exposed
 
   $ hg --config extensions.mq= strip 4
-  saved backup bundle to .*
+  saved backup bundle to .* (re)
   $ hg tags                  # partly stale
   tip                                4:735c3ca72986
   bar                                0:bbd179dfa0a7
--- a/tests/test-transplant.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-transplant.t	Wed Sep 22 16:06:00 2010 -0500
@@ -285,16 +285,16 @@
   > EOF
   $ chmod +x test-filter
   $ hg transplant -s ../t -b tip -a --filter ./test-filter
-  filtering .*
+  filtering .* (re)
   applying 17ab29e464c6
   17ab29e464c6 transplanted to e9ffc54ea104
-  filtering .*
+  filtering .* (re)
   applying 37a1297eb21b
   37a1297eb21b transplanted to 348b36d0b6a5
-  filtering .*
+  filtering .* (re)
   applying 722f4667af76
   722f4667af76 transplanted to 0aa6979afb95
-  filtering .*
+  filtering .* (re)
   applying a53251cdf717
   a53251cdf717 transplanted to 14f8512272b5
   $ hg log --template '{rev} {parents} {desc}\n'
@@ -316,7 +316,7 @@
   adding test-filter
   created new head
   $ hg transplant 1 --filter ./test-filter
-  filtering .*
+  filtering .* (re)
   applying 348b36d0b6a5
   file b1 already exists
   1 out of 1 hunks FAILED -- saving rejects to file b1.rej
--- a/tests/test-url-rev.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-url-rev.t	Wed Sep 22 16:06:00 2010 -0500
@@ -42,7 +42,7 @@
   
   $ cat clone/.hg/hgrc
   [paths]
-  default = .*/repo#foo
+  default = .*/repo#foo (re)
 
 Changing original repo:
 
--- a/tests/test-walk.t	Wed Sep 22 16:05:59 2010 -0500
+++ b/tests/test-walk.t	Wed Sep 22 16:06:00 2010 -0500
@@ -216,7 +216,7 @@
   f  beans/pinto     beans/pinto
   f  beans/turtle    beans/turtle
   $ hg debugwalk `pwd`/..
-  abort: .*/\.\. not under root
+  abort: .*/\.\. not under root (re)
   [255]
 
 Test patterns: