diff --git a/tests/run-tests.py b/tests/run-tests.py
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvcnVuLXRlc3RzLnB5..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvcnVuLXRlc3RzLnB5 100755
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -474,7 +474,7 @@
             after.setdefault(pos, []).append(l)
             prepos = pos
             pos = n
-            script.append('echo %s %s\n' % (salt, n))
+            script.append('echo %s %s $?\n' % (salt, n))
             script.append(l[4:])
         elif l.startswith('  > '): # continuations
             after.setdefault(prepos, []).append(l)
@@ -486,6 +486,8 @@
             # non-command/result - queue up for merged output
             after.setdefault(pos, []).append(l)
 
+    script.append('echo %s %s $?\n' % (salt, n + 1))
+
     fd, name = tempfile.mkstemp(suffix='hg-tst')
 
     try:
@@ -508,5 +510,6 @@
 
     pos = -1
     postout = []
+    ret = 0
     for n, l in enumerate(output):
         if l.startswith(salt):
@@ -511,5 +514,9 @@
     for n, l in enumerate(output):
         if l.startswith(salt):
+            # add on last return code
+            ret = int(l.split()[2])
+            if ret != 0:
+                postout.append("  [%s]\n" % ret)
             if pos in after:
                 postout += after.pop(pos)
             pos = int(l.split()[1])
diff --git a/tests/test-abort-checkin.t b/tests/test-abort-checkin.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1hYm9ydC1jaGVja2luLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1hYm9ydC1jaGVja2luLnQ= 100644
--- a/tests/test-abort-checkin.t
+++ b/tests/test-abort-checkin.t
@@ -24,8 +24,9 @@
   transaction abort!
   rollback completed
   abort: no commits allowed
+  [255]
   $ hg ci -m foo
   error: pretxncommit.nocommits hook failed: no commits allowed
   transaction abort!
   rollback completed
   abort: no commits allowed
@@ -27,7 +28,8 @@
   $ hg ci -m foo
   error: pretxncommit.nocommits hook failed: no commits allowed
   transaction abort!
   rollback completed
   abort: no commits allowed
+  [255]
 
   $ exit 0
diff --git a/tests/test-add.t b/tests/test-add.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1hZGQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1hZGQudA== 100644
--- a/tests/test-add.t
+++ b/tests/test-add.t
@@ -54,6 +54,7 @@
   merging a failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
   $ hg st
   M a
   ? a.orig
@@ -86,6 +87,7 @@
 
   $ hg add c && echo "unexpected addition of missing file"
   c: No such file or directory
+  [1]
   $ echo c > c
   $ hg add d c && echo "unexpected addition of missing file"
   d: No such file or directory
@@ -89,6 +91,7 @@
   $ echo c > c
   $ hg add d c && echo "unexpected addition of missing file"
   d: No such file or directory
+  [1]
   $ hg st
   M a
   A c
diff --git a/tests/test-addremove-similar.t b/tests/test-addremove-similar.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1hZGRyZW1vdmUtc2ltaWxhci50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1hZGRyZW1vdmUtc2ltaWxhci50 100644
--- a/tests/test-addremove-similar.t
+++ b/tests/test-addremove-similar.t
@@ -59,5 +59,6 @@
 
   $ hg addremove -s foo
   abort: similarity must be a number
+  [255]
   $ hg addremove -s -1
   abort: similarity must be between 0 and 100
@@ -62,4 +63,5 @@
   $ hg addremove -s -1
   abort: similarity must be between 0 and 100
+  [255]
   $ hg addremove -s 1e6
   abort: similarity must be between 0 and 100
@@ -64,5 +66,6 @@
   $ hg addremove -s 1e6
   abort: similarity must be between 0 and 100
+  [255]
 
   $ cd ..
 
diff --git a/tests/test-alias.t b/tests/test-alias.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1hbGlhcy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1hbGlhcy50 100644
--- a/tests/test-alias.t
+++ b/tests/test-alias.t
@@ -197,5 +197,6 @@
       Returns 0 on success.
   
   use "hg -v help rt" to show global options
+  [255]
 
   $ exit 0
diff --git a/tests/test-archive.t b/tests/test-archive.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1hcmNoaXZlLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1hcmNoaXZlLnQ= 100644
--- a/tests/test-archive.t
+++ b/tests/test-archive.t
@@ -164,6 +164,7 @@
 
   $ hg archive -t zip -p /illegal test.zip
   abort: archive prefix contains illegal components
+  [255]
   $ hg archive -t zip -p very/../bad test.zip
 
   $ hg archive --config ui.archivemeta=false -t zip -r 2 test.zip
@@ -205,6 +206,7 @@
 
   $ hg archive -t bogus test.bogus
   abort: unknown archive type 'bogus'
+  [255]
 
 server errors
 
@@ -216,5 +218,6 @@
   $ cd ../empty
   $ hg archive ../test-empty
   abort: no working directory: please specify a revision
+  [255]
 
   $ exit 0
diff --git a/tests/test-audit-path.t b/tests/test-audit-path.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1hdWRpdC1wYXRoLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1hdWRpdC1wYXRoLnQ= 100644
--- a/tests/test-audit-path.t
+++ b/tests/test-audit-path.t
@@ -4,6 +4,7 @@
 
   $ hg add .hg/00changelog.i
   abort: path contains illegal component: .hg/00changelog.i
+  [255]
 
   $ mkdir a
   $ echo a > a/a
@@ -16,6 +17,7 @@
 
   $ hg add b/b
   abort: path 'b/b' traverses symbolic link 'b'
+  [255]
 
 should succeed
 
@@ -25,6 +27,7 @@
 
   $ hg add b/b
   abort: path 'b/b' traverses symbolic link 'b'
+  [255]
 
 unbundle tampered bundle
 
@@ -43,6 +46,7 @@
   .hg/test
   $ hg update -Cr0
   abort: path contains illegal component: .hg/test
+  [255]
 
 attack foo/.hg/test
 
@@ -50,6 +54,7 @@
   foo/.hg/test
   $ hg update -Cr1
   abort: path 'foo/.hg/test' is inside repo 'foo'
+  [255]
 
 attack back/test where back symlinks to ..
 
@@ -58,6 +63,7 @@
   back/test
   $ hg update -Cr2
   abort: path 'back/test' traverses symbolic link 'back'
+  [255]
 
 attack ../test
 
@@ -65,6 +71,7 @@
   ../test
   $ hg update -Cr3
   abort: path contains illegal component: ../test
+  [255]
 
 attack /tmp/test
 
@@ -72,5 +79,6 @@
   /tmp/test
   $ hg update -Cr4
   abort: No such file or directory: .*/test-audit-path.t/target//tmp/test
+  [255]
 
   $ exit 0
diff --git a/tests/test-backout.t b/tests/test-backout.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1iYWNrb3V0LnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1iYWNrb3V0LnQ= 100644
--- a/tests/test-backout.t
+++ b/tests/test-backout.t
@@ -7,5 +7,6 @@
 
   $ hg backout
   abort: please specify a revision to backout
+  [255]
   $ hg backout -r 0 0
   abort: please specify just one revision
@@ -10,5 +11,6 @@
   $ hg backout -r 0 0
   abort: please specify just one revision
+  [255]
 
 # basic operation
 
@@ -69,6 +71,7 @@
 
   $ hg backout 1
   abort: cannot backout change on a different branch
+  [255]
   $ echo c > c
   $ hg ci -Am2
   adding c
@@ -78,6 +81,7 @@
 
   $ hg backout 1
   abort: cannot backout change on a different branch
+  [255]
 
 # backout with merge
 
@@ -138,6 +142,7 @@
   $ hg update -C tip
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg locate b
+  [1]
 
   $ cd ..
   $ hg init m
@@ -166,8 +171,9 @@
 
   $ hg backout 4
   abort: cannot backout a merge changeset without --parent
+  [255]
 
 # backout of merge with bad parent should fail
 
   $ hg backout --parent 0 4
   abort: cb9a9f314b8b is not a parent of b2f3bb92043e
@@ -169,10 +175,11 @@
 
 # backout of merge with bad parent should fail
 
   $ hg backout --parent 0 4
   abort: cb9a9f314b8b is not a parent of b2f3bb92043e
+  [255]
 
 # backout of non-merge with parent should fail
 
   $ hg backout --parent 0 3
   abort: cannot use --parent on non-merge changeset
@@ -174,8 +181,9 @@
 
 # backout of non-merge with parent should fail
 
   $ hg backout --parent 0 3
   abort: cannot use --parent on non-merge changeset
+  [255]
 
 # backout with valid parent should be ok
 
diff --git a/tests/test-bad-pull.t b/tests/test-bad-pull.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1iYWQtcHVsbC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1iYWQtcHVsbC50 100644
--- a/tests/test-bad-pull.t
+++ b/tests/test-bad-pull.t
@@ -1,5 +1,6 @@
   $ hg clone http://localhost:$HGPORT/ copy
   abort: error: Connection refused
+  [255]
 
   $ echo $?
   0
@@ -27,6 +28,7 @@
 
   $ hg clone http://localhost:$HGPORT/foo copy2 2>&1
   abort: HTTP Error 404: .*
+  [255]
 
   $ echo $?
   0
diff --git a/tests/test-bheads.t b/tests/test-bheads.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1iaGVhZHMudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1iaGVhZHMudA== 100644
--- a/tests/test-bheads.t
+++ b/tests/test-bheads.t
@@ -132,6 +132,7 @@
 
   $ heads -r 3 .
   no open branch heads found on branches c (started at 3)
+  [1]
   $ echo $?
   0
   $ heads -r 2 .
@@ -157,6 +158,7 @@
 -------
   $ heads -r 7 .
   no open branch heads found on branches b (started at 7)
+  [1]
   $ echo $?
   0
 
diff --git a/tests/test-bisect.t b/tests/test-bisect.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1iaXNlY3QudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1iaXNlY3QudA== 100644
--- a/tests/test-bisect.t
+++ b/tests/test-bisect.t
@@ -386,6 +386,7 @@
   $ hg bisect -r
   $ hg bisect --command 'exit 127'
   abort: failed to execute exit 127
+  [255]
 
 
 test bisecting command
diff --git a/tests/test-bisect2.t b/tests/test-bisect2.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1iaXNlY3QyLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1iaXNlY3QyLnQ= 100644
--- a/tests/test-bisect2.t
+++ b/tests/test-bisect2.t
@@ -393,6 +393,7 @@
   $ hg bisect -b 7
   $ hg bisect -g 14
   abort: starting revisions are not directly related
+  [255]
   $ hg bisect --reset
 
 end at merge: 17 bad, 11 good (but 9 is first bad)
diff --git a/tests/test-bookmarks-pushpull.t b/tests/test-bookmarks-pushpull.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1ib29rbWFya3MtcHVzaHB1bGwudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1ib29rbWFya3MtcHVzaHB1bGwudA== 100644
--- a/tests/test-bookmarks-pushpull.t
+++ b/tests/test-bookmarks-pushpull.t
@@ -60,5 +60,6 @@
 
   $ hg push -B badname ../a
   bookmark badname does not exist on the local or remote repository!
+  [2]
   $ hg pull -B anotherbadname ../a
   abort: remote bookmark anotherbadname not found!
@@ -63,3 +64,4 @@
   $ hg pull -B anotherbadname ../a
   abort: remote bookmark anotherbadname not found!
+  [255]
   $ true
diff --git a/tests/test-bookmarks.t b/tests/test-bookmarks.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1ib29rbWFya3MudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1ib29rbWFya3MudA== 100644
--- a/tests/test-bookmarks.t
+++ b/tests/test-bookmarks.t
@@ -89,8 +89,9 @@
 
   $ hg bookmark -m A B
   abort: a bookmark of this name does not exist
+  [255]
 
 rename to existent bookmark
 
   $ hg bookmark -m X Y
   abort: a bookmark of the same name already exists
@@ -92,8 +93,9 @@
 
 rename to existent bookmark
 
   $ hg bookmark -m X Y
   abort: a bookmark of the same name already exists
+  [255]
 
 force rename to existent bookmark
 
@@ -110,8 +112,9 @@
 
   $ hg bookmark -m Y
   abort: new bookmark name required
+  [255]
 
 delete without name
 
   $ hg bookmark -d
   abort: bookmark name required
@@ -113,10 +116,11 @@
 
 delete without name
 
   $ hg bookmark -d
   abort: bookmark name required
+  [255]
 
 delete nonexistent bookmark
 
   $ hg bookmark -d A
   abort: a bookmark of this name does not exist
@@ -118,8 +122,9 @@
 
 delete nonexistent bookmark
 
   $ hg bookmark -d A
   abort: a bookmark of this name does not exist
+  [255]
 
 bookmark name with spaces should be stripped
 
@@ -151,8 +156,9 @@
   $ hg bookmark '
   > '
   abort: bookmark name cannot contain newlines
+  [255]
 
 bookmark with existing name
 
   $ hg bookmark Z
   abort: a bookmark of the same name already exists
@@ -154,8 +160,9 @@
 
 bookmark with existing name
 
   $ hg bookmark Z
   abort: a bookmark of the same name already exists
+  [255]
 
 force bookmark with existing name
 
@@ -173,8 +180,9 @@
 
   $ hg bookmark -r .
   abort: bookmark name required
+  [255]
 
 bookmark name with whitespace only
 
   $ hg bookmark ' '
   abort: bookmark names cannot consist entirely of whitespace
@@ -176,7 +184,8 @@
 
 bookmark name with whitespace only
 
   $ hg bookmark ' '
   abort: bookmark names cannot consist entirely of whitespace
+  [255]
 
   $ true
diff --git a/tests/test-branch-option.t b/tests/test-branch-option.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1icmFuY2gtb3B0aW9uLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1icmFuY2gtb3B0aW9uLnQ= 100644
--- a/tests/test-branch-option.t
+++ b/tests/test-branch-option.t
@@ -57,7 +57,8 @@
 
   $ hg in -qbz
   abort: unknown branch 'z'!
+  [255]
   $ hg in -q ../branch#z
   2:f25d57ab0566
   $ hg out -qbz
   abort: unknown branch 'z'!
@@ -60,7 +61,8 @@
   $ hg in -q ../branch#z
   2:f25d57ab0566
   $ hg out -qbz
   abort: unknown branch 'z'!
+  [255]
 
 in rev c branch a
 
diff --git a/tests/test-branches.t b/tests/test-branches.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1icmFuY2hlcy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1icmFuY2hlcy50 100644
--- a/tests/test-branches.t
+++ b/tests/test-branches.t
@@ -43,5 +43,6 @@
 
   $ hg branch tip
   abort: the name 'tip' is reserved
+  [255]
   $ hg branch null
   abort: the name 'null' is reserved
@@ -46,4 +47,5 @@
   $ hg branch null
   abort: the name 'null' is reserved
+  [255]
   $ hg branch .
   abort: the name '.' is reserved
@@ -48,5 +50,6 @@
   $ hg branch .
   abort: the name '.' is reserved
+  [255]
 
   $ echo 'd' >d
   $ hg add d
@@ -235,6 +238,7 @@
   a branch name much longer than the default justification used by branches 7:10ff5895aa57
   $ hg heads b
   no open branch heads found on branches b
+  [1]
   $ hg heads --closed b
   changeset:   12:2da6583810df
   branch:      b
@@ -316,6 +320,7 @@
   
   $ hg heads --active a
   no open branch heads found on branches a
+  [1]
 
 branch b
 
diff --git a/tests/test-bundle-r.t b/tests/test-bundle-r.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1idW5kbGUtci50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1idW5kbGUtci50 100644
--- a/tests/test-bundle-r.t
+++ b/tests/test-bundle-r.t
@@ -207,5 +207,6 @@
 
   $ hg -R test bundle --base 2 -r tip test-bundle-branch1.hg test-3
   abort: --base is incompatible with specifying a destination
+  [255]
   $ hg -R test bundle -r tip test-bundle-branch1.hg
   abort: repository default-push not found!
@@ -210,5 +211,6 @@
   $ hg -R test bundle -r tip test-bundle-branch1.hg
   abort: repository default-push not found!
+  [255]
 
   $ hg -R test bundle --base 2 -r tip test-bundle-branch1.hg
   2 changesets found
@@ -223,6 +225,7 @@
 
   $ hg -R test bundle --base 7 --base 8 test-bundle-empty.hg
   no changes found
+  [1]
 
 issue76 msg2163
 
@@ -248,6 +251,7 @@
   transaction abort!
   rollback completed
   abort: 00changelog.i@eebf5a27f8ca: unknown parent!
+  [255]
 
 revision 2
 
diff --git a/tests/test-bundle-type.t b/tests/test-bundle-type.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1idW5kbGUtdHlwZS50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1idW5kbGUtdHlwZS50 100644
--- a/tests/test-bundle-type.t
+++ b/tests/test-bundle-type.t
@@ -88,6 +88,7 @@
   $ cd tgarbage
   $ hg pull ../bgarbage
   abort: ../bgarbage: not a Mercurial bundle
+  [255]
   $ cd ..
 
 test invalid bundle type
@@ -96,4 +97,5 @@
   $ hg bundle -a -t garbage ../bgarbage
   1 changesets found
   abort: unknown bundle type specified with --type
+  [255]
   $ cd ..
diff --git a/tests/test-bundle.t b/tests/test-bundle.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1idW5kbGUudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1idW5kbGUudA== 100644
--- a/tests/test-bundle.t
+++ b/tests/test-bundle.t
@@ -62,6 +62,7 @@
 Verify empty
 
   $ hg -R empty heads
+  [1]
   $ hg -R empty verify
   checking changesets
   checking manifests
@@ -371,6 +372,7 @@
 
   $ hg -R bundle://../does-not-exist.hg outgoing ../partial2
   abort: No such file or directory: ../does-not-exist.hg
+  [255]
   $ cd ..
 
 Direct clone from bundle (all-history)
@@ -462,8 +464,9 @@
 
   $ hg -R bundle.hg verify
   abort: 00changelog.i@bbd179dfa0a7: unknown parent!
+  [255]
 
 full history bundle, refuses to verify non-local repo
 
   $ hg -R all.hg verify
   abort: cannot verify bundle or remote repos
@@ -465,8 +468,9 @@
 
 full history bundle, refuses to verify non-local repo
 
   $ hg -R all.hg verify
   abort: cannot verify bundle or remote repos
+  [255]
 
 but, regular verify must continue to work
 
diff --git a/tests/test-cat.t b/tests/test-cat.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jYXQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jYXQudA== 100644
--- a/tests/test-cat.t
+++ b/tests/test-cat.t
@@ -18,5 +18,6 @@
   0
   $ hg cat -r 1 a
   a: no such file in rev 7040230c159c
+  [1]
   $ hg cat -r 1 b
   1
diff --git a/tests/test-clone-update-order.t b/tests/test-clone-update-order.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jbG9uZS11cGRhdGUtb3JkZXIudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jbG9uZS11cGRhdGUtb3JkZXIudA== 100644
--- a/tests/test-clone-update-order.t
+++ b/tests/test-clone-update-order.t
@@ -21,6 +21,7 @@
 
   $ hg clone -U -u . .#other ../b -r 0 -r 1 -r 2 -b other
   abort: cannot specify both --noupdate and --updaterev
+  [255]
 
   $ hg clone -U .#other ../b -r 0 -r 1 -r 2 -b other
   requesting all changes
diff --git a/tests/test-clone.t b/tests/test-clone.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jbG9uZS50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jbG9uZS50 100644
--- a/tests/test-clone.t
+++ b/tests/test-clone.t
@@ -74,6 +74,7 @@
   updating to branch default
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ grep 'file:' e/.hg/hgrc
+  [1]
 
 Check that path aliases are expanded:
 
@@ -160,6 +161,7 @@
 
   $ hg clone --noupdate --updaterev 1 a ua
   abort: cannot specify both --noupdate and --updaterev
+  [255]
 
 
 Testing clone -u:
diff --git a/tests/test-command-template.t b/tests/test-command-template.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jb21tYW5kLXRlbXBsYXRlLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jb21tYW5kLXRlbXBsYXRlLnQ= 100644
--- a/tests/test-command-template.t
+++ b/tests/test-command-template.t
@@ -437,8 +437,9 @@
   $ chmod 0 q
   $ hg log --style ./q
   abort: Permission denied: ./q
+  [255]
 
 Error if no style:
 
   $ hg log --style notexist
   abort: style not found: notexist
@@ -440,11 +441,12 @@
 
 Error if no style:
 
   $ hg log --style notexist
   abort: style not found: notexist
+  [255]
 
 Error if style missing key:
 
   $ echo 'q = q' > t
   $ hg log --style ./t
   abort: ./t: no key named 'changeset'
@@ -445,12 +447,13 @@
 
 Error if style missing key:
 
   $ echo 'q = q' > t
   $ hg log --style ./t
   abort: ./t: no key named 'changeset'
+  [255]
 
 Error if include fails:
 
   $ echo 'changeset = q' >> t
   $ hg log --style ./t
   abort: template file ./q: Permission denied
@@ -451,9 +454,10 @@
 
 Error if include fails:
 
   $ echo 'changeset = q' >> t
   $ hg log --style ./t
   abort: template file ./q: Permission denied
+  [255]
 
 Include works:
 
@@ -1192,6 +1196,7 @@
   $ echo 'x = "f' >> t
   $ hg log
   abort: t:3: unmatched quotes
+  [255]
 
   $ cd ..
 
diff --git a/tests/test-commit-unresolved.t b/tests/test-commit-unresolved.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jb21taXQtdW5yZXNvbHZlZC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jb21taXQtdW5yZXNvbHZlZC50 100644
--- a/tests/test-commit-unresolved.t
+++ b/tests/test-commit-unresolved.t
@@ -32,9 +32,10 @@
   merging A failed!
   1 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
 
 Correct the conflict without marking the file as resolved
 
   $ echo "ABCD" > A
   $ hg commit -m "Merged"
   abort: unresolved merge conflicts (see hg resolve)
@@ -35,9 +36,10 @@
 
 Correct the conflict without marking the file as resolved
 
   $ echo "ABCD" > A
   $ hg commit -m "Merged"
   abort: unresolved merge conflicts (see hg resolve)
+  [255]
 
 Mark the conflict as resolved and commit
 
diff --git a/tests/test-commit.t b/tests/test-commit.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jb21taXQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jb21taXQudA== 100644
--- a/tests/test-commit.t
+++ b/tests/test-commit.t
@@ -6,7 +6,8 @@
   $ hg add foo
   $ HGEDITOR=true hg commit -m ""
   abort: empty commit message
+  [255]
   $ hg commit -d '0 0' -m commit-1
   $ echo foo >> foo
   $ hg commit -d '1 4444444' -m commit-3
   abort: impossible time zone offset: 4444444
@@ -9,6 +10,7 @@
   $ hg commit -d '0 0' -m commit-1
   $ echo foo >> foo
   $ hg commit -d '1 4444444' -m commit-3
   abort: impossible time zone offset: 4444444
+  [255]
   $ hg commit -d '1	15.1' -m commit-4
   abort: invalid date: '1\t15.1'
@@ -13,4 +15,5 @@
   $ hg commit -d '1	15.1' -m commit-4
   abort: invalid date: '1\t15.1'
+  [255]
   $ hg commit -d 'foo bar' -m commit-5
   abort: invalid date: 'foo bar'
@@ -15,5 +18,6 @@
   $ hg commit -d 'foo bar' -m commit-5
   abort: invalid date: 'foo bar'
+  [255]
   $ hg commit -d ' 1 4444' -m commit-6
   $ hg commit -d '111111111111 0' -m commit-7
   abort: date exceeds 32 bits: 111111111111
@@ -17,6 +21,7 @@
   $ hg commit -d ' 1 4444' -m commit-6
   $ hg commit -d '111111111111 0' -m commit-7
   abort: date exceeds 32 bits: 111111111111
+  [255]
 
 commit added file that has been deleted
 
@@ -25,5 +30,6 @@
   $ rm bar
   $ hg commit -m commit-8
   nothing changed
+  [1]
   $ hg commit -m commit-8-2 bar
   abort: bar: file not found!
@@ -28,5 +34,6 @@
   $ hg commit -m commit-8-2 bar
   abort: bar: file not found!
+  [255]
 
   $ hg -q revert -a --no-backup
 
@@ -43,6 +50,7 @@
   adding dir.file
   $ hg commit -m commit-10 dir dir.file
   abort: dir: no match under directory!
+  [255]
 
   $ echo >> dir/file
   $ mkdir bleh
@@ -50,5 +58,6 @@
   $ cd bleh
   $ hg commit -m commit-11 .
   abort: bleh: no match under directory!
+  [255]
   $ hg commit -m commit-12 ../dir ../dir2
   abort: dir2: no match under directory!
@@ -53,5 +62,6 @@
   $ hg commit -m commit-12 ../dir ../dir2
   abort: dir2: no match under directory!
+  [255]
   $ hg -v commit -m commit-13 ../dir
   dir/file
   committed changeset 3:1cd62a2d8db5
@@ -59,6 +69,7 @@
 
   $ hg commit -m commit-14 does-not-exist
   abort: does-not-exist: No such file or directory
+  [255]
   $ ln -s foo baz
   $ hg commit -m commit-15 baz
   abort: baz: file not tracked!
@@ -62,6 +73,7 @@
   $ ln -s foo baz
   $ hg commit -m commit-15 baz
   abort: baz: file not tracked!
+  [255]
   $ touch quux
   $ hg commit -m commit-16 quux
   abort: quux: file not tracked!
@@ -65,6 +77,7 @@
   $ touch quux
   $ hg commit -m commit-16 quux
   abort: quux: file not tracked!
+  [255]
   $ echo >> dir/file
   $ hg -v commit -m commit-17 dir/file
   dir/file
@@ -75,6 +88,7 @@
   $ echo foo >> foo
   $ hg commit -d '' -m commit-no-date
   $ hg tip --template '{date|isodate}\n' | grep '1970'
+  [1]
   $ cd ..
 
 
@@ -212,8 +226,9 @@
 
   $ hg ci -mmerge a
   abort: cannot partially commit a merge (do not specify files or patterns)
+  [255]
 
 should fail because we are specifying a pattern
 
   $ hg ci -mmerge -I a
   abort: cannot partially commit a merge (do not specify files or patterns)
@@ -215,8 +230,9 @@
 
 should fail because we are specifying a pattern
 
   $ hg ci -mmerge -I a
   abort: cannot partially commit a merge (do not specify files or patterns)
+  [255]
 
 should succeed
 
@@ -248,6 +264,7 @@
   HG: changed changed
   HG: removed removed
   abort: empty commit message
+  [255]
   $ cd ..
 
   $ exit 0
diff --git a/tests/test-committer.t b/tests/test-committer.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jb21taXR0ZXIudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jb21taXR0ZXIudA== 100644
--- a/tests/test-committer.t
+++ b/tests/test-committer.t
@@ -50,6 +50,7 @@
   $ echo "username = " >> .hg/hgrc
   $ hg commit -m commit-1
   abort: no username supplied (see "hg help config")
+  [255]
   $ rm .hg/hgrc
   $ hg commit -m commit-1 2>&1
   No username found, using '[^']*' instead
@@ -59,5 +60,6 @@
   transaction abort!
   rollback completed
   abort: empty username!
+  [255]
 
   $ true
diff --git a/tests/test-conflict.t b/tests/test-conflict.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jb25mbGljdC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jb25mbGljdC50 100644
--- a/tests/test-conflict.t
+++ b/tests/test-conflict.t
@@ -16,6 +16,7 @@
   merging a failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
 
   $ hg id
   32e80765d7fe+75234512624c+ tip
diff --git a/tests/test-confused-revert.t b/tests/test-confused-revert.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jb25mdXNlZC1yZXZlcnQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jb25mdXNlZC1yZXZlcnQudA== 100644
--- a/tests/test-confused-revert.t
+++ b/tests/test-confused-revert.t
@@ -60,6 +60,7 @@
 
   $ hg revert --all
   abort: uncommitted merge - please provide a specific revision
+  [255]
 
 Revert should be ok now:
 
diff --git a/tests/test-copy2.t b/tests/test-copy2.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jb3B5Mi50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jb3B5Mi50 100644
--- a/tests/test-copy2.t
+++ b/tests/test-copy2.t
@@ -4,6 +4,7 @@
   $ hg mv foo bar
   foo: not copying - file is not managed
   abort: no files to copy
+  [255]
   $ hg st -A
   ? foo
   $ hg add foo
diff --git a/tests/test-custom-filters.t b/tests/test-custom-filters.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1jdXN0b20tZmlsdGVycy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1jdXN0b20tZmlsdGVycy50 100644
--- a/tests/test-custom-filters.t
+++ b/tests/test-custom-filters.t
@@ -60,6 +60,7 @@
   $ hg add morestuff.txt
   $ hg ci -m morestuff
   abort: missing header "Copyright 2046, The Masters" in morestuff.txt
+  [255]
   $ hg stat
   M stuff.txt
   A morestuff.txt
diff --git a/tests/test-debugcomplete.t b/tests/test-debugcomplete.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1kZWJ1Z2NvbXBsZXRlLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1kZWJ1Z2NvbXBsZXRlLnQ= 100644
--- a/tests/test-debugcomplete.t
+++ b/tests/test-debugcomplete.t
@@ -173,6 +173,7 @@
   $ hg debugcomplete --options s
   hg: command 's' is ambiguous:
       serve showconfig status summary
+  [255]
 
 Show all commands + options
   $ hg debugcommands
diff --git a/tests/test-diff-unified.t b/tests/test-diff-unified.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1kaWZmLXVuaWZpZWQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1kaWZmLXVuaWZpZWQudA== 100644
--- a/tests/test-diff-unified.t
+++ b/tests/test-diff-unified.t
@@ -46,6 +46,7 @@
 
   $ hg diff --nodates -U foo
   abort: diff context lines count must be an integer, not 'foo'
+  [255]
 
 
   $ hg diff --nodates -U 2
@@ -86,6 +87,7 @@
 
   $ hg --config diff.unified=foo diff --nodates
   abort: diff context lines count must be an integer, not 'foo'
+  [255]
 
 test off-by-one error with diff -p
 
diff --git a/tests/test-diff-upgrade.t b/tests/test-diff-upgrade.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1kaWZmLXVwZ3JhZGUudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1kaWZmLXVwZ3JhZGUudA== 100644
--- a/tests/test-diff-upgrade.t
+++ b/tests/test-diff-upgrade.t
@@ -244,6 +244,7 @@
 
   $ hg autodiff --git=abort regular setexec
   abort: losing data for setexec
+  [255]
 
 git=abort: succeed on regular file
 
diff --git a/tests/test-diffdir.t b/tests/test-diffdir.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1kaWZmZGlyLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1kaWZmZGlyLnQ= 100644
--- a/tests/test-diffdir.t
+++ b/tests/test-diffdir.t
@@ -34,5 +34,6 @@
 
   $ hg diff -r ""
   abort: 00changelog.i@: ambiguous identifier!
+  [255]
   $ hg diff -r tip -r ""
   abort: 00changelog.i@: ambiguous identifier!
@@ -37,4 +38,5 @@
   $ hg diff -r tip -r ""
   abort: 00changelog.i@: ambiguous identifier!
+  [255]
 
   $ true
diff --git a/tests/test-dispatch.t b/tests/test-dispatch.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1kaXNwYXRjaC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1kaXNwYXRjaC50 100644
--- a/tests/test-dispatch.t
+++ b/tests/test-dispatch.t
@@ -43,6 +43,7 @@
   [+] marked option can be specified multiple times
   
   use "hg -v help cat" to show global options
+  [255]
 
 [defaults]
 
@@ -54,9 +55,10 @@
   > EOF
   $ hg cat a
   a: no such file in rev 000000000000
+  [1]
 
 No repo:
 
   $ cd $dir
   $ hg cat
   abort: There is no Mercurial repository here (.hg not found)!
@@ -57,9 +59,10 @@
 
 No repo:
 
   $ cd $dir
   $ hg cat
   abort: There is no Mercurial repository here (.hg not found)!
+  [255]
 
   $ exit 0
 
diff --git a/tests/test-dumprevlog.t b/tests/test-dumprevlog.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1kdW1wcmV2bG9nLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1kdW1wcmV2bG9nLnQ= 100644
--- a/tests/test-dumprevlog.t
+++ b/tests/test-dumprevlog.t
@@ -97,8 +97,9 @@
   comparing with repo-a
   searching for changes
   no changes found
+  [1]
 
   $ hg -R repo-a incoming repo-c
   comparing with repo-c
   searching for changes
   no changes found
@@ -100,8 +101,9 @@
 
   $ hg -R repo-a incoming repo-c
   comparing with repo-c
   searching for changes
   no changes found
+  [1]
 
   $ exit 0
 
diff --git a/tests/test-empty.t b/tests/test-empty.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1lbXB0eS50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1lbXB0eS50 100644
--- a/tests/test-empty.t
+++ b/tests/test-empty.t
@@ -7,6 +7,7 @@
 
   $ hg log
   $ hg grep wah
+  [1]
   $ hg manifest
   $ hg verify
   checking changesets
diff --git a/tests/test-extdiff.t b/tests/test-extdiff.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1leHRkaWZmLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1leHRkaWZmLnQ= 100644
--- a/tests/test-extdiff.t
+++ b/tests/test-extdiff.t
@@ -14,6 +14,7 @@
   $ hg extdiff -o -r $opt
   Only in a: a
   Only in a: b
+  [1]
 
   $ echo "[extdiff]" >> $HGRCPATH
   $ echo "cmd.falabala=echo" >> $HGRCPATH
@@ -21,6 +22,7 @@
 
   $ hg falabala
   diffing a.000000000000 a
+  [1]
 
   $ hg help falabala
   hg falabala [OPTION]... [FILE]...
@@ -56,6 +58,7 @@
 
   $ hg falabala -r 0:1
   diffing a.8a5febb7f867/a a.34eed99112ab/a
+  [1]
 
 Test diff during merge:
 
@@ -72,6 +75,7 @@
 Should diff cloned file against wc file:
 
   $ hg falabala > out
+  [1]
 
 Cleanup the output since the wc is a tmp directory:
 
@@ -83,6 +87,7 @@
   $ hg ci -d '2 0' -mtest3
   $ hg falabala -c 1
   diffing a.8a5febb7f867/a a.34eed99112ab/a
+  [1]
 
 Check diff are made from the first parent:
 
@@ -133,6 +138,7 @@
 # will change to /tmp/extdiff.TMP and populate directories a.TMP and a
 # and start tool
   $ hg extdiff -p "`pwd`/diff tool.py"
+  [1]
 
 Diff in working directory, after:
 
@@ -158,6 +164,7 @@
 
   $ hg extdiff -p echo -o this -c 1
   this a.8a5febb7f867/a a.34eed99112ab/a
+  [1]
 
   $ hg falabala -o this -c 1
   diffing this a.8a5febb7f867/a a.34eed99112ab/a
@@ -161,6 +168,7 @@
 
   $ hg falabala -o this -c 1
   diffing this a.8a5febb7f867/a a.34eed99112ab/a
+  [1]
 
   $ true
 
diff --git a/tests/test-extension.t b/tests/test-extension.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1leHRlbnNpb24udA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1leHRlbnNpb24udA== 100644
--- a/tests/test-extension.t
+++ b/tests/test-extension.t
@@ -275,6 +275,7 @@
       mq  manage a stack of patches
   
   use "hg help extensions" for information on enabling extensions
+  [255]
   $ hg churn
   hg: unknown command 'churn'
   'churn' is provided by the following extension:
@@ -282,6 +283,7 @@
       churn  command to display statistics about repository history
   
   use "hg help extensions" for information on enabling extensions
+  [255]
 
 Disabled extensions:
 
@@ -315,6 +317,7 @@
 
   $ hg --config extensions.path=./path.py help foo > /dev/null
   hg: unknown command 'foo'
+  [255]
 
   $ exit 0
 
diff --git a/tests/test-filebranch.t b/tests/test-filebranch.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1maWxlYnJhbmNoLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1maWxlYnJhbmNoLnQ= 100644
--- a/tests/test-filebranch.t
+++ b/tests/test-filebranch.t
@@ -41,6 +41,7 @@
 We shouldn't have anything but n state here:
 
   $ hg debugstate --nodates | grep -v "^n"
+  [1]
 
 Merging:
 
diff --git a/tests/test-fncache.t b/tests/test-fncache.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1mbmNhY2hlLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1mbmNhY2hlLnQ= 100644
--- a/tests/test-fncache.t
+++ b/tests/test-fncache.t
@@ -54,6 +54,7 @@
   3 files, 3 changesets, 3 total revisions
   3 integrity errors encountered!
   (first damaged changeset appears to be 0)
+  [1]
   $ cd ..
 
 Non store repo:
diff --git a/tests/test-git-import.t b/tests/test-git-import.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1naXQtaW1wb3J0LnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1naXQtaW1wb3J0LnQ= 100644
--- a/tests/test-git-import.t
+++ b/tests/test-git-import.t
@@ -192,6 +192,7 @@
   8:c32b0d7e6f44
 
   $ hg locate copy2
+  [1]
   $ hg cat rename2
   a
   a
diff --git a/tests/test-globalopts.t b/tests/test-globalopts.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1nbG9iYWxvcHRzLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1nbG9iYWxvcHRzLnQ= 100644
--- a/tests/test-globalopts.t
+++ b/tests/test-globalopts.t
@@ -60,5 +60,6 @@
   0: a
   $ hg ann a/a b/b
   abort: There is no Mercurial repository here (.hg not found)!
+  [255]
   $ hg -R b ann a/a
   abort: a/a not under root
@@ -63,4 +64,5 @@
   $ hg -R b ann a/a
   abort: a/a not under root
+  [255]
   $ hg log
   abort: There is no Mercurial repository here (.hg not found)!
@@ -65,5 +67,6 @@
   $ hg log
   abort: There is no Mercurial repository here (.hg not found)!
+  [255]
 
 Abbreviation of long option:
 
@@ -103,5 +106,6 @@
 
   $ hg --confi "foo.bar=baz"
   abort: option --config may not be abbreviated!
+  [255]
   $ hg --cw a tip
   abort: option --cwd may not be abbreviated!
@@ -106,4 +110,5 @@
   $ hg --cw a tip
   abort: option --cwd may not be abbreviated!
+  [255]
   $ hg --rep a tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
@@ -108,4 +113,5 @@
   $ hg --rep a tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+  [255]
   $ hg --repositor a tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
@@ -110,4 +116,5 @@
   $ hg --repositor a tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+  [255]
   $ hg -qR a tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
@@ -112,4 +119,5 @@
   $ hg -qR a tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+  [255]
   $ hg -qRa tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
@@ -114,5 +122,6 @@
   $ hg -qRa tip
   abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
+  [255]
 
 Testing --cwd:
 
@@ -179,5 +188,6 @@
   quuxfoo
   $ hg --cwd c --config '' tip -q
   abort: malformed --config option: '' (use --config section.name=value)
+  [255]
   $ hg --cwd c --config a.b tip -q
   abort: malformed --config option: 'a.b' (use --config section.name=value)
@@ -182,4 +192,5 @@
   $ hg --cwd c --config a.b tip -q
   abort: malformed --config option: 'a.b' (use --config section.name=value)
+  [255]
   $ hg --cwd c --config a tip -q
   abort: malformed --config option: 'a' (use --config section.name=value)
@@ -184,4 +195,5 @@
   $ hg --cwd c --config a tip -q
   abort: malformed --config option: 'a' (use --config section.name=value)
+  [255]
   $ hg --cwd c --config a.= tip -q
   abort: malformed --config option: 'a.=' (use --config section.name=value)
@@ -186,4 +198,5 @@
   $ hg --cwd c --config a.= tip -q
   abort: malformed --config option: 'a.=' (use --config section.name=value)
+  [255]
   $ hg --cwd c --config .b= tip -q
   abort: malformed --config option: '.b=' (use --config section.name=value)
@@ -188,5 +201,6 @@
   $ hg --cwd c --config .b= tip -q
   abort: malformed --config option: '.b=' (use --config section.name=value)
+  [255]
 
 Testing --debug:
 
diff --git a/tests/test-grep.t b/tests/test-grep.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1ncmVwLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1ncmVwLnQ= 100644
--- a/tests/test-grep.t
+++ b/tests/test-grep.t
@@ -20,6 +20,7 @@
 
   $ hg grep '**test**'
   grep: invalid match pattern: nothing to repeat
+  [1]
 
 simple
 
@@ -79,4 +80,5 @@
   $ hg init t2
   $ cd t2
   $ hg grep foobar foo
+  [1]
   $ hg grep foobar
@@ -82,4 +84,5 @@
   $ hg grep foobar
+  [1]
   $ echo blue >> color
   $ echo black >> color
   $ hg add color
diff --git a/tests/test-help.t b/tests/test-help.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1oZWxwLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1oZWxwLnQ= 100644
--- a/tests/test-help.t
+++ b/tests/test-help.t
@@ -400,6 +400,7 @@
   [+] marked option can be specified multiple times
   
   use "hg -v help add" to show global options
+  [255]
 
 Test ambiguous command help
 
@@ -573,6 +574,7 @@
    update     update working directory (or switch revisions)
   
   use "hg help" for the full list of commands or "hg -v" for details
+  [255]
 
   $ hg skjdfks
   hg: unknown command 'skjdfks'
@@ -599,6 +601,7 @@
    update     update working directory (or switch revisions)
   
   use "hg help" for the full list of commands or "hg -v" for details
+  [255]
 
   $ cat > helpext.py <<EOF
   > import os
diff --git a/tests/test-hook.t b/tests/test-hook.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1ob29rLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1ob29rLnQ= 100644
--- a/tests/test-hook.t
+++ b/tests/test-hook.t
@@ -70,6 +70,7 @@
   $ hg id
   pre-identify hook: HG_ARGS=id HG_OPTS={'tags': None, 'rev': '', 'num': None, 'branch': None, 'id': None} HG_PATS=[] 
   warning: pre-identify hook exited with status 1
+  [1]
   $ hg cat b
   pre-cat hook: HG_ARGS=cat b HG_OPTS={'rev': '', 'decode': None, 'exclude': [], 'output': '', 'include': []} HG_PATS=['b'] 
   post-cat hook: HG_ARGS=cat b HG_OPTS={'rev': '', 'decode': None, 'exclude': [], 'output': '', 'include': []} HG_PATS=['b'] HG_RESULT=0 
@@ -114,7 +115,8 @@
   pretag hook: HG_LOCAL=0 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fa 
   pretag.forbid hook: HG_LOCAL=0 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fa 
   abort: pretag.forbid hook exited with status 1
+  [255]
   $ hg tag -l fla
   pretag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fla 
   pretag.forbid hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fla 
   abort: pretag.forbid hook exited with status 1
@@ -117,7 +119,8 @@
   $ hg tag -l fla
   pretag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fla 
   pretag.forbid hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fla 
   abort: pretag.forbid hook exited with status 1
+  [255]
 
 # pretxncommit hook can see changeset, can roll back txn, changeset
 # no more there after
@@ -137,6 +140,7 @@
   transaction abort!
   rollback completed
   abort: pretxncommit.forbid1 hook exited with status 1
+  [255]
   $ hg -q tip
   4:539e4b31b6dc
 
@@ -147,6 +151,7 @@
   precommit hook: HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 
   precommit.forbid hook: HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 
   abort: precommit.forbid hook exited with status 1
+  [255]
   $ hg -q tip
   4:539e4b31b6dc
 
@@ -177,6 +182,7 @@
   pulling from ../a
   searching for changes
   abort: prechangegroup.forbid hook exited with status 1
+  [255]
 
 # pretxnchangegroup hook can see incoming changes, can roll back txn,
 # incoming changes no longer there after
@@ -196,6 +202,7 @@
   transaction abort!
   rollback completed
   abort: pretxnchangegroup.forbid1 hook exited with status 1
+  [255]
   $ hg -q tip
   3:07f3376c1e65
 
@@ -227,6 +234,7 @@
   pulling from ../a
   searching for changes
   abort: preoutgoing.forbid hook exited with status 1
+  [255]
 
 # outgoing hooks work for local clones
 
@@ -248,6 +256,7 @@
   preoutgoing hook: HG_SOURCE=clone 
   preoutgoing.forbid hook: HG_SOURCE=clone 
   abort: preoutgoing.forbid hook exited with status 1
+  [255]
   $ cd b
 
   $ cat > hooktests.py <<EOF
@@ -309,6 +318,7 @@
   searching for changes
   error: preoutgoing.abort hook failed: raise abort from hook
   abort: raise abort from hook
+  [255]
 
   $ echo '[hooks]' > ../a/.hg/hgrc
   $ echo 'preoutgoing.fail = python:hooktests.failhook' >> ../a/.hg/hgrc
@@ -319,6 +329,7 @@
     hooktype preoutgoing
     source pull
   abort: preoutgoing.fail hook failed
+  [255]
 
   $ echo '[hooks]' > ../a/.hg/hgrc
   $ echo 'preoutgoing.uncallable = python:hooktests.uncallable' >> ../a/.hg/hgrc
@@ -326,6 +337,7 @@
   pulling from ../a
   searching for changes
   abort: preoutgoing.uncallable hook is invalid ("hooktests.uncallable" is not callable)
+  [255]
 
   $ echo '[hooks]' > ../a/.hg/hgrc
   $ echo 'preoutgoing.nohook = python:hooktests.nohook' >> ../a/.hg/hgrc
@@ -333,6 +345,7 @@
   pulling from ../a
   searching for changes
   abort: preoutgoing.nohook hook is invalid ("hooktests.nohook" is not defined)
+  [255]
 
   $ echo '[hooks]' > ../a/.hg/hgrc
   $ echo 'preoutgoing.nomodule = python:nomodule' >> ../a/.hg/hgrc
@@ -340,6 +353,7 @@
   pulling from ../a
   searching for changes
   abort: preoutgoing.nomodule hook is invalid ("nomodule" not in a module)
+  [255]
 
   $ echo '[hooks]' > ../a/.hg/hgrc
   $ echo 'preoutgoing.badmodule = python:nomodule.nowhere' >> ../a/.hg/hgrc
@@ -347,6 +361,7 @@
   pulling from ../a
   searching for changes
   abort: preoutgoing.badmodule hook is invalid (import of "nomodule" failed)
+  [255]
 
   $ echo '[hooks]' > ../a/.hg/hgrc
   $ echo 'preoutgoing.unreachable = python:hooktests.container.unreachable' >> ../a/.hg/hgrc
@@ -354,6 +369,7 @@
   pulling from ../a
   searching for changes
   abort: preoutgoing.unreachable hook is invalid (import of "hooktests.container" failed)
+  [255]
 
   $ echo '[hooks]' > ../a/.hg/hgrc
   $ echo 'preoutgoing.pass = python:hooktests.passhook' >> ../a/.hg/hgrc
@@ -426,6 +442,7 @@
   $ hg commit -d '0 0'
   hook works
   nothing changed
+  [1]
 
   $ cd ../../b
 
diff --git a/tests/test-identify.t b/tests/test-identify.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pZGVudGlmeS50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pZGVudGlmeS50 100644
--- a/tests/test-identify.t
+++ b/tests/test-identify.t
@@ -4,6 +4,7 @@
 
   $ hg id
   abort: there is no Mercurial repository here (.hg not found)
+  [255]
 
 create repo
 
@@ -65,5 +66,6 @@
 
   $ hg id -t http://localhost:$HGPORT1/
   abort: can't query remote revision number, branch, or tags
+  [255]
 
   $ true # ends with util.Abort -> returns 255
diff --git a/tests/test-import-eol.t b/tests/test-import-eol.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pbXBvcnQtZW9sLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pbXBvcnQtZW9sLnQ= 100644
--- a/tests/test-import-eol.t
+++ b/tests/test-import-eol.t
@@ -37,6 +37,7 @@
   $ hg --config patch.eol='LFCR' import eol.diff
   applying eol.diff
   abort: unsupported line endings type: LFCR
+  [255]
   $ hg revert -a
 
 
diff --git a/tests/test-import.t b/tests/test-import.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pbXBvcnQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pbXBvcnQudA== 100644
--- a/tests/test-import.t
+++ b/tests/test-import.t
@@ -74,6 +74,7 @@
   $ hg --cwd b import ../tip.patch
   applying ../tip.patch
   abort: empty commit message
+  [255]
   $ rm -r b
 
 
@@ -287,6 +288,7 @@
   $ egrep -v '^(Subject|email)' msg.patch | hg --cwd b import -
   applying patch from stdin
   abort: empty commit message
+  [255]
   $ rm -r b
 
 
@@ -605,6 +607,7 @@
   > EOF
   applying patch from stdin
   abort: ../outside/foo not under root
+  [255]
   $ cd ..
 
 
diff --git a/tests/test-init.t b/tests/test-init.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pbml0LnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pbml0LnQ= 100644
--- a/tests/test-init.t
+++ b/tests/test-init.t
@@ -65,6 +65,7 @@
 
   $ hg init local
   abort: repository local already exists!
+  [255]
 
 init+push to remote2
 
@@ -100,9 +101,10 @@
   $ hg init -e "python ./dummyssh" ssh://user@dummy/remote1
   abort: repository remote1 already exists!
   abort: could not create remote repo!
+  [255]
 
 clone to existing repo
 
   $ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1
   abort: repository remote1 already exists!
   abort: could not create remote repo!
@@ -103,9 +105,10 @@
 
 clone to existing repo
 
   $ hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1
   abort: repository remote1 already exists!
   abort: could not create remote repo!
+  [255]
 
 output of dummyssh
 
diff --git a/tests/test-install.t b/tests/test-install.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pbnN0YWxsLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pbnN0YWxsLnQ= 100644
--- a/tests/test-install.t
+++ b/tests/test-install.t
@@ -19,5 +19,6 @@
    no username supplied (see "hg help config")
    (specify a username in your configuration file)
   1 problems detected, please check your install!
+  [1]
 
   $ true
diff --git a/tests/test-issue322.t b/tests/test-issue322.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pc3N1ZTMyMi50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pc3N1ZTMyMi50 100644
--- a/tests/test-issue322.t
+++ b/tests/test-issue322.t
@@ -15,6 +15,7 @@
 
   $ hg add a/a
   abort: file 'a' in dirstate clashes with 'a/a'
+  [255]
 
   $ cd ..
 
@@ -34,6 +35,7 @@
 
   $ hg add a
   abort: directory 'a' already in dirstate
+  [255]
 
   $ cd ..
 
@@ -53,6 +55,7 @@
 
   $ hg add b
   abort: directory 'b' already in dirstate
+  [255]
 
   $ exit 0
 
diff --git a/tests/test-issue433.t b/tests/test-issue433.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pc3N1ZTQzMy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pc3N1ZTQzMy50 100644
--- a/tests/test-issue433.t
+++ b/tests/test-issue433.t
@@ -7,6 +7,7 @@
 
   $ hg parents -r 0 doesnotexist
   abort: 'doesnotexist' not found in manifest!
+  [255]
 
   $ true
 
diff --git a/tests/test-issue619.t b/tests/test-issue619.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pc3N1ZTYxOS50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pc3N1ZTYxOS50 100644
--- a/tests/test-issue619.t
+++ b/tests/test-issue619.t
@@ -25,6 +25,7 @@
 
   $ hg merge b
   abort: merging with a working directory ancestor has no effect
+  [255]
 
   $ true
 
diff --git a/tests/test-issue660.t b/tests/test-issue660.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1pc3N1ZTY2MC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1pc3N1ZTY2MC50 100644
--- a/tests/test-issue660.t
+++ b/tests/test-issue660.t
@@ -18,6 +18,7 @@
 
   $ hg add a/a
   abort: file 'a' in dirstate clashes with 'a/a'
+  [255]
 
 Removing shadow:
 
@@ -36,6 +37,7 @@
 
   $ hg add b
   abort: directory 'b' already in dirstate
+  [255]
 
 Removing shadow:
 
@@ -58,6 +60,7 @@
   $ rm -r a b
   $ hg revert b/b
   abort: file 'b' in dirstate clashes with 'b/b'
+  [255]
 
 Revert all - should succeed:
 
@@ -110,6 +113,7 @@
 
   $ hg add d
   abort: directory 'd' already in dirstate
+  [255]
 
 Removing shadow:
 
diff --git a/tests/test-journal-exists.t b/tests/test-journal-exists.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1qb3VybmFsLWV4aXN0cy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1qb3VybmFsLWV4aXN0cy50 100644
--- a/tests/test-journal-exists.t
+++ b/tests/test-journal-exists.t
@@ -10,6 +10,7 @@
   $ echo foo > a
   $ hg ci -Am0
   abort: abandoned transaction found - run hg recover!
+  [255]
 
   $ hg recover
   rolling back interrupted transaction
@@ -27,6 +28,7 @@
   $ hg -R foo unbundle repo.hg
   adding changesets
   abort: Permission denied: .*
+  [255]
 
   $ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi
 
diff --git a/tests/test-keyword.t b/tests/test-keyword.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1rZXl3b3JkLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1rZXl3b3JkLnQ= 100644
--- a/tests/test-keyword.t
+++ b/tests/test-keyword.t
@@ -116,6 +116,7 @@
 
   $ hg --debug commit
   abort: empty commit message
+  [255]
   $ hg status
   A a
   A b
@@ -540,6 +541,7 @@
 
   $ hg commit
   abort: empty commit message
+  [255]
   $ hg status
   M a
   ? c
@@ -689,6 +691,7 @@
 
   $ hg --verbose kwexpand x/a
   abort: outstanding uncommitted changes
+  [255]
   $ cd x
   $ hg --debug commit -m xa -d '3 0' -u 'User Name <user@example.com>'
   x/a
@@ -818,6 +821,7 @@
   merging m failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
   $ cat m
   $Id$
   <<<<<<< local
diff --git a/tests/test-locate.t b/tests/test-locate.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1sb2NhdGUudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1sb2NhdGUudA== 100644
--- a/tests/test-locate.t
+++ b/tests/test-locate.t
@@ -42,4 +42,5 @@
   $ hg ci -m m
 
   $ hg locate a
+  [1]
   $ hg locate NONEXISTENT
@@ -45,2 +46,3 @@
   $ hg locate NONEXISTENT
+  [1]
   $ hg locate relpath:NONEXISTENT
@@ -46,4 +48,5 @@
   $ hg locate relpath:NONEXISTENT
+  [1]
   $ hg locate
   b
   dir.h/foo
@@ -54,4 +57,5 @@
   $ hg locate -r 0 a
   a
   $ hg locate -r 0 NONEXISTENT
+  [1]
   $ hg locate -r 0 relpath:NONEXISTENT
@@ -57,4 +61,5 @@
   $ hg locate -r 0 relpath:NONEXISTENT
+  [1]
   $ hg locate -r 0
   a
   b
diff --git a/tests/test-lock-badness.t b/tests/test-lock-badness.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1sb2NrLWJhZG5lc3MudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1sb2NrLWJhZG5lc3MudA== 100644
--- a/tests/test-lock-badness.t
+++ b/tests/test-lock-badness.t
@@ -16,6 +16,7 @@
   $ hg -R b push a
   pushing to a
   abort: could not lock repository a: Permission denied
+  [255]
 
   $ chmod 700 a/.hg/store
 
diff --git a/tests/test-log.t b/tests/test-log.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1sb2cudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1sb2cudA== 100644
--- a/tests/test-log.t
+++ b/tests/test-log.t
@@ -31,6 +31,7 @@
 
   $ hg log -f dir
   abort: cannot follow nonexistent file: "dir"
+  [255]
 
 -f, but no args
 
@@ -495,8 +496,9 @@
 
   $ hg log -r ''
   hg: parse error: empty query
+  [255]
 
 log -r <some unknown node id>
 
   $ hg log -r 1000000000000000000000000000000000000000
   abort: unknown revision '1000000000000000000000000000000000000000'!
@@ -498,8 +500,9 @@
 
 log -r <some unknown node id>
 
   $ hg log -r 1000000000000000000000000000000000000000
   abort: unknown revision '1000000000000000000000000000000000000000'!
+  [255]
 
 log -k r1
 
@@ -658,6 +661,7 @@
 
   $ hg log -b dummy
   abort: unknown revision 'dummy'!
+  [255]
 
 
 log -b .
@@ -899,6 +903,7 @@
   merging foo failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
   $ echo 'merge 1' > foo
   $ hg resolve -m foo
   $ hg ci -m "First merge, related"
@@ -909,6 +914,7 @@
   merging foo failed!
   1 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
   $ echo 'merge 2' > foo
   $ hg resolve -m foo
   $ hg ci -m "Last merge, related"
diff --git a/tests/test-manifest.t b/tests/test-manifest.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tYW5pZmVzdC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tYW5pZmVzdC50 100644
--- a/tests/test-manifest.t
+++ b/tests/test-manifest.t
@@ -60,6 +60,7 @@
 
   $ hg manifest -r 2
   abort: unknown revision '2'!
+  [255]
 
   $ hg manifest -r tip tip
   abort: please specify just one revision
@@ -63,6 +64,7 @@
 
   $ hg manifest -r tip tip
   abort: please specify just one revision
+  [255]
 
 
   $ true
diff --git a/tests/test-merge-closedheads.t b/tests/test-merge-closedheads.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZS1jbG9zZWRoZWFkcy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZS1jbG9zZWRoZWFkcy50 100644
--- a/tests/test-merge-closedheads.t
+++ b/tests/test-merge-closedheads.t
@@ -44,6 +44,7 @@
   $ hg merge
   abort: branch 'default' has 3 heads - please merge with an explicit rev
   (run 'hg heads .' to see heads)
+  [255]
 
 close one of the heads
   $ hg up -C 6
diff --git a/tests/test-merge-default.t b/tests/test-merge-default.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZS1kZWZhdWx0LnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZS1kZWZhdWx0LnQ= 100644
--- a/tests/test-merge-default.t
+++ b/tests/test-merge-default.t
@@ -29,6 +29,7 @@
   $ hg merge
   abort: branch 'default' has 3 heads - please merge with an explicit rev
   (run 'hg heads .' to see heads)
+  [255]
 
   $ hg up
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -39,6 +40,7 @@
   $ hg merge
   abort: branch 'default' has 3 heads - please merge with an explicit rev
   (run 'hg heads .' to see heads)
+  [255]
 
 Should succeed:
 
@@ -65,6 +67,7 @@
 
   $ hg merge
   abort: there is nothing to merge
+  [255]
 
   $ hg up 0
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -73,6 +76,7 @@
 
   $ hg merge
   abort: there is nothing to merge - use "hg update" instead
+  [255]
 
   $ hg up 3
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -87,6 +91,7 @@
   $ hg merge
   abort: branch 'foobranch' has one head - please merge with an explicit rev
   (run 'hg heads' to see all heads)
+  [255]
 
 
 Test for issue2043: ensure that 'merge -P' shows ancestors of 6 that
diff --git a/tests/test-merge-force.t b/tests/test-merge-force.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZS1mb3JjZS50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZS1mb3JjZS50 100644
--- a/tests/test-merge-force.t
+++ b/tests/test-merge-force.t
@@ -20,6 +20,7 @@
 
   $ hg merge
   abort: outstanding uncommitted changes (use 'hg status' to list changes)
+  [255]
 
 Should succeed with --force:
 
diff --git a/tests/test-merge-internal-tools-pattern.t b/tests/test-merge-internal-tools-pattern.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZS1pbnRlcm5hbC10b29scy1wYXR0ZXJuLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZS1pbnRlcm5hbC10b29scy1wYXR0ZXJuLnQ= 100644
--- a/tests/test-merge-internal-tools-pattern.t
+++ b/tests/test-merge-internal-tools-pattern.t
@@ -43,6 +43,7 @@
   $ hg merge
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
 
   $ cat f
   line 1
diff --git a/tests/test-merge-local.t b/tests/test-merge-local.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZS1sb2NhbC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZS1sb2NhbC50 100644
--- a/tests/test-merge-local.t
+++ b/tests/test-merge-local.t
@@ -57,6 +57,7 @@
   merging zzz2_merge_bad failed!
   3 files updated, 1 files merged, 2 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges
+  [1]
 
   $ hg co 0
   merging zzz1_merge_ok
@@ -65,6 +66,7 @@
   merging zzz2_merge_bad failed!
   2 files updated, 1 files merged, 3 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges
+  [1]
 
   $ hg diff --nodates | grep "^[+-][^<>]"
   --- a/zzz1_merge_ok
@@ -89,6 +91,7 @@
   merging zzz2_merge_bad failed!
   3 files updated, 1 files merged, 2 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges
+  [1]
 
   $ hg co 0
   merging zzz1_merge_ok
@@ -97,6 +100,7 @@
   merging zzz2_merge_bad failed!
   2 files updated, 1 files merged, 3 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges
+  [1]
 
   $ hg diff --nodates | grep "^[+-][^<>]"
   --- a/zzz1_merge_ok
diff --git a/tests/test-merge-revert2.t b/tests/test-merge-revert2.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZS1yZXZlcnQyLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZS1yZXZlcnQyLnQ= 100644
--- a/tests/test-merge-revert2.t
+++ b/tests/test-merge-revert2.t
@@ -48,6 +48,7 @@
   merging file1 failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges
+  [1]
 
   $ hg diff --nodates
   diff -r dfab7f3c2efb file1
diff --git a/tests/test-merge1.t b/tests/test-merge1.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZTEudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZTEudA== 100644
--- a/tests/test-merge1.t
+++ b/tests/test-merge1.t
@@ -69,6 +69,7 @@
 merge should fail
   $ hg merge 1
   abort: untracked file in working directory differs from file in requested revision: 'b'
+  [255]
 merge of b expected
   $ hg merge -f 1
   merging for b
@@ -111,6 +112,7 @@
 merge fails
   $ hg merge 2
   abort: outstanding uncommitted changes (use 'hg status' to list changes)
+  [255]
   $ echo %% merge expected!
   %% merge expected!
   $ hg merge -f 2
@@ -148,6 +150,7 @@
 merge of b should fail
   $ hg merge 2
   abort: outstanding uncommitted changes (use 'hg status' to list changes)
+  [255]
 merge of b expected
   $ hg merge -f 2
   merging for b
diff --git a/tests/test-merge5.t b/tests/test-merge5.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZTUudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZTUudA== 100644
--- a/tests/test-merge5.t
+++ b/tests/test-merge5.t
@@ -15,6 +15,7 @@
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg update
   abort: crosses branches (use 'hg merge' or use 'hg update -c')
+  [255]
   $ hg update -c
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mv a c
@@ -27,6 +28,7 @@
 
   $ hg update -y 1
   abort: crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes)
+  [255]
   $ mv c a
 
 Should succeed:
diff --git a/tests/test-merge7.t b/tests/test-merge7.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZTcudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZTcudA== 100644
--- a/tests/test-merge7.t
+++ b/tests/test-merge7.t
@@ -48,6 +48,7 @@
   merging test.txt failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
 resolve conflict
   $ cat >test.txt <<"EOF"
   > one
@@ -92,6 +93,7 @@
   merging test.txt failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
 
   $ cat test.txt
   one
diff --git a/tests/test-merge9.t b/tests/test-merge9.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tZXJnZTkudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tZXJnZTkudA== 100644
--- a/tests/test-merge9.t
+++ b/tests/test-merge9.t
@@ -31,6 +31,7 @@
   merging foo and baz to baz
   1 files updated, 1 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
   $ hg resolve -l
   U bar
   R baz
@@ -44,6 +45,7 @@
   merging baz and foo to baz
   1 files updated, 1 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
 
 show unresolved
   $ hg resolve -l
@@ -75,9 +77,10 @@
 resolve all warning
   $ hg resolve
   abort: no files or directories specified; use --all to remerge all files
+  [255]
 
 resolve all
   $ hg resolve -a
   merging bar
   warning: conflicts during merge.
   merging bar failed!
@@ -78,9 +81,10 @@
 
 resolve all
   $ hg resolve -a
   merging bar
   warning: conflicts during merge.
   merging bar failed!
+  [1]
 
 after
   $ hg resolve -l
diff --git a/tests/test-mq-eol.t b/tests/test-mq-eol.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tcS1lb2wudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tcS1lb2wudA== 100644
--- a/tests/test-mq-eol.t
+++ b/tests/test-mq-eol.t
@@ -60,6 +60,7 @@
   patch failed, unable to continue (try -v)
   patch failed, rejects left in working dir
   errors during apply, please fix and refresh eol.diff
+  [2]
   $ hg qpop
   popping eol.diff
   patch queue now empty
@@ -71,6 +72,7 @@
   patch failed, unable to continue (try -v)
   patch failed, rejects left in working dir
   errors during apply, please fix and refresh eol.diff
+  [2]
   $ hg qpop
   popping eol.diff
   patch queue now empty
diff --git a/tests/test-mq-guards.t b/tests/test-mq-guards.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tcS1ndWFyZHMudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tcS1ndWFyZHMudA== 100644
--- a/tests/test-mq-guards.t
+++ b/tests/test-mq-guards.t
@@ -34,9 +34,10 @@
 
   $ hg qguard does-not-exist.patch +bleh
   abort: no patch named does-not-exist.patch
+  [255]
 
 
 should fail
 
   $ hg qguard +fail
   abort: no patches applied
@@ -37,9 +38,10 @@
 
 
 should fail
 
   $ hg qguard +fail
   abort: no patches applied
+  [255]
 
   $ hg qpush
   applying a.patch
@@ -62,6 +64,7 @@
 
   $ hg qpush a.patch
   cannot push 'a.patch' - guarded by ['+a']
+  [1]
 
   $ hg qguard a.patch
   a.patch: +a
@@ -80,6 +83,7 @@
 
   $ hg qselect ""
   abort: guard cannot be an empty string
+  [255]
   $ hg qselect a
   number of unguarded, unapplied patches has changed from 2 to 3
 
diff --git a/tests/test-mq-safety.t b/tests/test-mq-safety.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tcS1zYWZldHkudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tcS1zYWZldHkudA== 100644
--- a/tests/test-mq-safety.t
+++ b/tests/test-mq-safety.t
@@ -23,6 +23,7 @@
   $ echo quux >> foo
   $ hg ci -m 'append quux'
   abort: cannot commit over an applied mq patch
+  [255]
 
 
 cheat a bit...
@@ -36,6 +37,7 @@
 
   $ hg qpop
   abort: popping would remove a revision not managed by this patch queue
+  [255]
   $ hg qpop -n patches
   using patch queue: .*/repo/.hg/patches
   abort: popping would remove a revision not managed by this patch queue
@@ -39,5 +41,6 @@
   $ hg qpop -n patches
   using patch queue: .*/repo/.hg/patches
   abort: popping would remove a revision not managed by this patch queue
+  [255]
   $ hg qrefresh
   abort: working directory revision is not qtip
@@ -42,7 +45,8 @@
   $ hg qrefresh
   abort: working directory revision is not qtip
+  [255]
 
   $ hg up -C qtip
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg qpop
   abort: popping would remove a revision not managed by this patch queue
@@ -44,7 +48,8 @@
 
   $ hg up -C qtip
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg qpop
   abort: popping would remove a revision not managed by this patch queue
+  [255]
   $ hg qrefresh
   abort: cannot refresh a revision with children
@@ -49,5 +54,6 @@
   $ hg qrefresh
   abort: cannot refresh a revision with children
+  [255]
   $ hg tip --template '{rev} {desc}\n'
   3 append quux
 
diff --git a/tests/test-mq.t b/tests/test-mq.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1tcS50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1tcS50 100644
--- a/tests/test-mq.t
+++ b/tests/test-mq.t
@@ -136,6 +136,7 @@
   $ cat .hg/patches/series
   $ hg qinit -c
   abort: repository .* already exists!
+  [255]
   $ cd ..
 
   $ echo '% qinit; <stuff>; qinit -c'
@@ -196,6 +197,7 @@
   $ cd f
   $ hg init --mq
   abort: there is no Mercurial repository here (.hg not found)
+  [255]
   $ cd ..
 
 init --mq with repo path
@@ -209,6 +211,7 @@
 
   $ hg init --mq nonexistentdir
   abort: repository nonexistentdir not found!
+  [255]
 
 
 init --mq with bundle (non "local")
@@ -216,6 +219,7 @@
   $ hg -R a bundle --all a.bundle >/dev/null
   $ hg init --mq a.bundle
   abort: only a local queue repository may be initialized
+  [255]
 
   $ cd a
 
@@ -370,6 +374,7 @@
 
   $ hg qunapp -1
   all patches applied
+  [1]
 
   $ hg qpop
   popping test2.patch
@@ -379,9 +384,10 @@
 
   $ hg commit
   abort: cannot commit over an applied mq patch
+  [255]
 
 push should fail
 
   $ hg push ../../k
   pushing to ../../k
   abort: source has mq patches applied
@@ -382,9 +388,10 @@
 
 push should fail
 
   $ hg push ../../k
   pushing to ../../k
   abort: source has mq patches applied
+  [255]
 
 
 import should fail
@@ -395,6 +402,7 @@
   $ hg revert --no-backup ../a
   $ hg import ../../import.diff
   abort: cannot import over an applied patch
+  [255]
   $ hg st
 
 import --no-commit should succeed
@@ -454,6 +462,7 @@
   $ hg qguard test2.patch -- +posguard
   $ hg qpush --move test2.patch # can't move guarded patch
   cannot push 'test2.patch' - guarded by ['+posguard']
+  [1]
   $ hg qselect posguard
   number of unguarded, unapplied patches has changed from 2 to 3
   $ hg qpush --move test2.patch # move to front
@@ -490,5 +499,6 @@
   now at: test1b.patch
   $ hg qpush --move bogus # nonexistent patch
   abort: patch bogus not in series
+  [255]
   $ hg qpush --move # no patch
   abort: please specify the patch to move
@@ -493,4 +503,5 @@
   $ hg qpush --move # no patch
   abort: please specify the patch to move
+  [255]
   $ hg qpush --move test.patch # already applied
   abort: cannot push to a previous patch: test.patch
@@ -495,5 +506,6 @@
   $ hg qpush --move test.patch # already applied
   abort: cannot push to a previous patch: test.patch
+  [255]
   $ hg qpush
   applying test2.patch
   now at: test2.patch
@@ -520,6 +532,7 @@
 
   $ hg qapplied -1 test.patch
   only one patch applied
+  [1]
 
 qapplied -1 test1b.patch
 
@@ -553,6 +566,7 @@
 
   $ hg qunapplied -1
   all patches applied
+  [1]
 
 qunapplied
 
@@ -582,6 +596,7 @@
 
   $ hg qunapplied -1 test2.patch
   all patches applied
+  [1]
 
 popping -a
 
@@ -598,6 +613,7 @@
 
   $ hg qapplied -1
   no patches applied
+  [1]
   $ hg qpush
   applying test.patch
   now at: test.patch
@@ -760,6 +776,7 @@
   $ hg add y
   $ hg strip tip
   abort: local changes found
+  [255]
 
 --force strip with local changes
 
@@ -835,6 +852,7 @@
   patch failed, unable to continue (try -v)
   patch failed, rejects left in working dir
   errors during apply, please fix and refresh bar
+  [2]
   $ hg st
   ? foo
   ? foo.rej
@@ -865,6 +883,7 @@
   default                        0:cb9a9f314b8b
   $ hg qpop
   no patches applied
+  [1]
 
   $ cat >>$HGRCPATH <<EOF
   > [diff]
@@ -1064,6 +1083,7 @@
   popping addbucephalus
   now at: addalexander
   $ test -f bucephalus && echo % bucephalus should not be there
+  [1]
   $ hg qpush
   applying addbucephalus
   now at: addbucephalus
@@ -1162,6 +1182,7 @@
 
   $ hg qclone qclonesource failure
   abort: versioned patch repository not found (see init --mq)
+  [255]
 
   $ cd qclonesource
   $ hg qinit -c
@@ -1254,6 +1275,7 @@
 
   $ hg qpush
   abort: local changes found, refresh first
+  [255]
 
 
 apply force, should not discard changes with empty patch
@@ -1299,6 +1321,7 @@
 
   $ hg qpush
   abort: local changes found, refresh first
+  [255]
 
 
 apply force, should discard changes in hello, but not bye
diff --git a/tests/test-nested-repo.t b/tests/test-nested-repo.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1uZXN0ZWQtcmVwby50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1uZXN0ZWQtcmVwby50 100644
--- a/tests/test-nested-repo.t
+++ b/tests/test-nested-repo.t
@@ -12,5 +12,6 @@
 
   $ hg st b/x
   abort: path 'b/x' is inside repo 'b'
+  [255]
   $ hg add b/x
   abort: path 'b/x' is inside repo 'b'
@@ -15,7 +16,8 @@
   $ hg add b/x
   abort: path 'b/x' is inside repo 'b'
+  [255]
 
 Should fail:
 
   $ hg add b b/x
   abort: path 'b/x' is inside repo 'b'
@@ -17,8 +19,9 @@
 
 Should fail:
 
   $ hg add b b/x
   abort: path 'b/x' is inside repo 'b'
+  [255]
   $ hg st
 
 Should arguably print nothing:
@@ -32,5 +35,6 @@
 
   $ hg mv a b
   abort: path 'b/a' is inside repo 'b'
+  [255]
   $ hg st
 
diff --git a/tests/test-newbranch.t b/tests/test-newbranch.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1uZXdicmFuY2gudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1uZXdicmFuY2gudA== 100644
--- a/tests/test-newbranch.t
+++ b/tests/test-newbranch.t
@@ -20,6 +20,7 @@
 
   $ hg branch default
   abort: a branch of the same name already exists (use 'hg update' to switch to it)
+  [255]
 
   $ hg branch -f default
   marked working directory as branch default
@@ -186,6 +187,7 @@
 
   $ hg up
   abort: branch foobar not found
+  [255]
 
 Fastforward merge:
 
@@ -292,6 +294,7 @@
   $ hg merge
   abort: branch 'test' has one head - please merge with an explicit rev
   (run 'hg heads' to see all heads)
+  [255]
   $ hg up -C default
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
@@ -300,6 +303,7 @@
   $ hg merge
   abort: branch 'default' has 3 heads - please merge with an explicit rev
   (run 'hg heads .' to see heads)
+  [255]
 
 3 branch heads, explicit merge required:
 
diff --git a/tests/test-parents.t b/tests/test-parents.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wYXJlbnRzLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wYXJlbnRzLnQ= 100644
--- a/tests/test-parents.t
+++ b/tests/test-parents.t
@@ -54,6 +54,7 @@
 
   $ hg parents -r 3 c
   abort: 'c' not found in manifest!
+  [255]
 
   $ hg parents -r 2
   changeset:   1:d786049f033a
@@ -71,6 +72,7 @@
 
   $ hg parents -r 2 ../a
   abort: ../a not under root
+  [255]
 
 
 cd dir; hg parents -r 2 ../a
@@ -93,6 +95,7 @@
 
   $ hg parents -r 2 glob:a
   abort: can only specify an explicit filename
+  [255]
 
 
 merge working dir with 2 parents, hg parents c
diff --git a/tests/test-parse-date.t b/tests/test-parse-date.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wYXJzZS1kYXRlLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wYXJzZS1kYXRlLnQ= 100644
--- a/tests/test-parse-date.t
+++ b/tests/test-parse-date.t
@@ -18,5 +18,6 @@
   $ echo "fail" >> a
   $ hg ci -d "should fail" -m "fail"
   abort: invalid date: 'should fail'
+  [255]
   $ hg ci -d "100000000000000000 1400" -m "fail"
   abort: date exceeds 32 bits: 100000000000000000
@@ -21,4 +22,5 @@
   $ hg ci -d "100000000000000000 1400" -m "fail"
   abort: date exceeds 32 bits: 100000000000000000
+  [255]
   $ hg ci -d "100000 1400000" -m "fail"
   abort: impossible time zone offset: 1400000
@@ -23,5 +25,6 @@
   $ hg ci -d "100000 1400000" -m "fail"
   abort: impossible time zone offset: 1400000
+  [255]
 
 Check with local timezone other than GMT and with DST
 
diff --git a/tests/test-patchbomb.t b/tests/test-patchbomb.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wYXRjaGJvbWIudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wYXRjaGJvbWIudA== 100644
--- a/tests/test-patchbomb.t
+++ b/tests/test-patchbomb.t
@@ -62,6 +62,7 @@
    1 files changed, 1 insertions(+), 0 deletions(-)
   
   are you sure you want to send (yn)? abort: patchbomb canceled
+  [255]
 
   $ echo b > b
   $ hg commit -Amb -d '2 0'
@@ -1447,6 +1448,7 @@
   This patch series consists of 2 patches.
   
   abort: Subject: [PATCH 0 of 2] Please enter a valid value
+  [255]
 
   $ hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
   >  -s test -r 0:1 | fixheaders
diff --git a/tests/test-paths.t b/tests/test-paths.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wYXRocy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wYXRocy50 100644
--- a/tests/test-paths.t
+++ b/tests/test-paths.t
@@ -8,7 +8,8 @@
   $ hg in dupe
   comparing with .*/test-paths.t/b
   no changes found
+  [1]
   $ cd ..
   $ hg -R a in dupe
   comparing with .*/test-paths.t/b
   no changes found
@@ -11,5 +12,6 @@
   $ cd ..
   $ hg -R a in dupe
   comparing with .*/test-paths.t/b
   no changes found
+  [1]
   $ true
diff --git a/tests/test-pull-r.t b/tests/test-pull-r.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wdWxsLXIudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wdWxsLXIudA== 100644
--- a/tests/test-pull-r.t
+++ b/tests/test-pull-r.t
@@ -34,6 +34,7 @@
 
   $ hg pull -qr missing ../repo
   abort: unknown revision 'missing'!
+  [255]
 
 Pull multiple revisions with update:
 
diff --git a/tests/test-pull.t b/tests/test-pull.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wdWxsLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wdWxsLnQ= 100644
--- a/tests/test-pull.t
+++ b/tests/test-pull.t
@@ -69,6 +69,7 @@
 
   $ hg pull -q file://../test-doesnt-exist
   abort: repository /test-doesnt-exist not found!
+  [255]
 
   $ hg pull -q file:../test
 
diff --git a/tests/test-push-validation.t b/tests/test-push-validation.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wdXNoLXZhbGlkYXRpb24udA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wdXNoLXZhbGlkYXRpb24udA== 100644
--- a/tests/test-push-validation.t
+++ b/tests/test-push-validation.t
@@ -35,6 +35,7 @@
   2 files, 2 changesets, 2 total revisions
   1 integrity errors encountered!
   (first damaged changeset appears to be 1)
+  [1]
 
 Expected to fail:
 
@@ -47,6 +48,7 @@
   transaction abort!
   rollback completed
   abort: missing file data for beta:dddc47b3ba30e54484720ce0f4f768a0f4b6efb9 - run hg verify
+  [255]
 
   $ true
 
diff --git a/tests/test-push-warn.t b/tests/test-push-warn.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1wdXNoLXdhcm4udA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1wdXNoLXdhcm4udA== 100644
--- a/tests/test-push-warn.t
+++ b/tests/test-push-warn.t
@@ -28,6 +28,7 @@
   searching for changes
   abort: push creates new remote heads on branch 'default'!
   (you should pull and merge or use push -f to force)
+  [255]
 
   $ hg pull ../a
   pulling from ../a
@@ -43,6 +44,7 @@
   searching for changes
   abort: push creates new remote heads on branch 'default'!
   (did you forget to merge? use push -f to force)
+  [255]
 
   $ hg merge
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -139,6 +141,7 @@
   comparing with ../c
   searching for changes
   no changes found
+  [1]
 
 
 Issue 450:
@@ -315,6 +318,7 @@
 
   $ echo 12 > foo
   $ hg -q ci -m 12a
+  [1]
   $ hg -q up 11
   $ echo 13 > foo
   $ hg -q branch e
@@ -372,6 +376,7 @@
   searching for changes
   abort: push creates new remote heads on branch 'default'!
   (you should pull and merge or use push -f to force)
+  [255]
 
 
 Check prepush logic with merged branches:
@@ -405,6 +410,7 @@
   searching for changes
   abort: push creates new remote branches: b!
   (use 'hg push --new-branch' to create new remote branches)
+  [255]
 
 
 Prepush -r should not allow you to sneak in new heads:
@@ -440,6 +446,7 @@
   searching for changes
   abort: push creates new remote heads on branch 'a'!
   (did you forget to merge? use push -f to force)
+  [255]
 
   $ cd ..
 
@@ -685,9 +692,10 @@
   searching for changes
   abort: push creates new remote heads on branch 'A'!
   (did you forget to merge? use push -f to force)
+  [255]
 
   $ hg push inner -r4 -r5
   pushing to inner
   searching for changes
   abort: push creates new remote heads on branch 'A'!
   (did you forget to merge? use push -f to force)
@@ -688,11 +696,12 @@
 
   $ hg push inner -r4 -r5
   pushing to inner
   searching for changes
   abort: push creates new remote heads on branch 'A'!
   (did you forget to merge? use push -f to force)
+  [255]
 
   $ hg in inner
   comparing with inner
   searching for changes
   no changes found
@@ -694,8 +703,9 @@
 
   $ hg in inner
   comparing with inner
   searching for changes
   no changes found
+  [1]
 
   $ cd ..
 
diff --git a/tests/test-qrecord.t b/tests/test-qrecord.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1xcmVjb3JkLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1xcmVjb3JkLnQ= 100644
--- a/tests/test-qrecord.t
+++ b/tests/test-qrecord.t
@@ -32,6 +32,7 @@
    update     update working directory (or switch revisions)
   
   use "hg help" for the full list of commands or "hg -v" for details
+  [255]
 
 help (mq present)
 
diff --git a/tests/test-record.t b/tests/test-record.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1yZWNvcmQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1yZWNvcmQudA== 100644
--- a/tests/test-record.t
+++ b/tests/test-record.t
@@ -86,6 +86,7 @@
   new file mode 100644
   examine changes to 'empty-rw'? [Ynsfdaq?] 
   abort: empty commit message
+  [255]
 
   $ hg tip -p
   changeset:   -1:000000000000
@@ -698,6 +699,7 @@
   ? - display help
   examine changes to 'subdir/f1'? [Ynsfdaq?] 
   abort: user quit
+  [255]
 
 Skip
 
@@ -710,6 +712,7 @@
   diff --git a/subdir/f2 b/subdir/f2
   1 hunks, 1 lines changed
   examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected
+  [255]
 
 No
 
@@ -722,6 +725,7 @@
   diff --git a/subdir/f2 b/subdir/f2
   1 hunks, 1 lines changed
   examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected
+  [255]
 
 f, quit
 
@@ -736,6 +740,7 @@
   1 hunks, 1 lines changed
   examine changes to 'subdir/f2'? [Ynsfdaq?] 
   abort: user quit
+  [255]
 
 s, all
 
@@ -926,6 +931,7 @@
 
   $ hg record -m'will abort'
   abort: cannot partially commit a merge (use hg commit instead)
+  [255]
 
   $ hg up -C
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
diff --git a/tests/test-remove-new.t b/tests/test-remove-new.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1yZW1vdmUtbmV3LnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1yZW1vdmUtbmV3LnQ= 100644
--- a/tests/test-remove-new.t
+++ b/tests/test-remove-new.t
@@ -10,4 +10,5 @@
   $ hg commit -A -m"comment #1"
   removing b
   nothing changed
+  [1]
   $ exit 0
diff --git a/tests/test-rename.t b/tests/test-rename.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1yZW5hbWUudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1yZW5hbWUudA== 100644
--- a/tests/test-rename.t
+++ b/tests/test-rename.t
@@ -268,6 +268,7 @@
   @@ -1 +1 @@
   -d1/b
   +d2/b
+  [1]
   $ hg update -C
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ rm d2/a d2/ba d2/d11/a1
@@ -276,6 +277,7 @@
 
   $ hg rename d1/a dx/
   abort: destination dx/ is not a directory
+  [255]
   $ hg status -C
   $ hg update -C
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -284,6 +286,7 @@
 
   $ hg rename 'glob:d1/**' dx
   abort: with multiple sources, destination must be an existing directory
+  [255]
 
 move every file under d1 to d2/d21 (glob)
 
@@ -560,6 +563,7 @@
 
   $ hg rename d1/d11/a1 .hg/foo
   abort: path contains illegal component: .hg/foo
+  [255]
   $ hg status -C
   $ hg rename d1/d11/a1 ../foo
   abort: ../foo not under root
@@ -563,8 +567,9 @@
   $ hg status -C
   $ hg rename d1/d11/a1 ../foo
   abort: ../foo not under root
+  [255]
   $ hg status -C
 
   $ mv d1/d11/a1 .hg/foo
   $ hg rename --after d1/d11/a1 .hg/foo
   abort: path contains illegal component: .hg/foo
@@ -566,8 +571,9 @@
   $ hg status -C
 
   $ mv d1/d11/a1 .hg/foo
   $ hg rename --after d1/d11/a1 .hg/foo
   abort: path contains illegal component: .hg/foo
+  [255]
   $ hg status -C
   ! d1/d11/a1
   $ hg update -C
@@ -576,6 +582,7 @@
 
   $ hg rename d1/d11/a1 .hg
   abort: path contains illegal component: .hg/a1
+  [255]
   $ hg status -C
   $ hg rename d1/d11/a1 ..
   abort: ../a1 not under root
@@ -579,8 +586,9 @@
   $ hg status -C
   $ hg rename d1/d11/a1 ..
   abort: ../a1 not under root
+  [255]
   $ hg status -C
 
   $ mv d1/d11/a1 .hg
   $ hg rename --after d1/d11/a1 .hg
   abort: path contains illegal component: .hg/a1
@@ -582,8 +590,9 @@
   $ hg status -C
 
   $ mv d1/d11/a1 .hg
   $ hg rename --after d1/d11/a1 .hg
   abort: path contains illegal component: .hg/a1
+  [255]
   $ hg status -C
   ! d1/d11/a1
   $ hg update -C
@@ -592,6 +601,7 @@
 
   $ (cd d1/d11; hg rename ../../d2/b ../../.hg/foo)
   abort: path contains illegal component: .hg/foo
+  [255]
   $ hg status -C
   $ (cd d1/d11; hg rename ../../d2/b ../../../foo)
   abort: ../../../foo not under root
@@ -595,5 +605,6 @@
   $ hg status -C
   $ (cd d1/d11; hg rename ../../d2/b ../../../foo)
   abort: ../../../foo not under root
+  [255]
   $ hg status -C
 
diff --git a/tests/test-requires.t b/tests/test-requires.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1yZXF1aXJlcy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1yZXF1aXJlcy50 100644
--- a/tests/test-requires.t
+++ b/tests/test-requires.t
@@ -7,6 +7,7 @@
   $ rm .hg/requires
   $ hg tip
   abort: index 00changelog.i unknown format 2!
+  [255]
   $ echo indoor-pool > .hg/requires
   $ hg tip
   abort: requirement 'indoor-pool' not supported!
@@ -10,5 +11,6 @@
   $ echo indoor-pool > .hg/requires
   $ hg tip
   abort: requirement 'indoor-pool' not supported!
+  [255]
 
   $ true
diff --git a/tests/test-resolve.t b/tests/test-resolve.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1yZXNvbHZlLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1yZXNvbHZlLnQ= 100644
--- a/tests/test-resolve.t
+++ b/tests/test-resolve.t
@@ -24,6 +24,7 @@
   $ HGMERGE=internal:fail hg merge
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
 
   $ echo resolved > file
   $ hg resolve -m file
diff --git a/tests/test-revert.t b/tests/test-revert.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1yZXZlcnQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1yZXZlcnQudA== 100644
--- a/tests/test-revert.t
+++ b/tests/test-revert.t
@@ -186,6 +186,7 @@
 
   $ hg revert -rtip
   abort: no files or directories specified; use --all to revert the whole repo
+  [255]
 
 should succeed
 
diff --git a/tests/test-revset.t b/tests/test-revset.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1yZXZzZXQudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1yZXZzZXQudA== 100644
--- a/tests/test-revset.t
+++ b/tests/test-revset.t
@@ -61,6 +61,7 @@
   marked working directory as branch all
   $ hg ci --close-branch -Aqm8
   abort: can only close branch heads
+  [255]
 
   $ hg co 4
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -97,8 +98,9 @@
   7
   $ try -- '-a-b-c-' # complains
   hg: parse error at 7: not a prefix: end
+  [255]
   $ log -a-b-c- # succeeds with fallback
   4
   $ try -- -a-b-c--a # complains
   ('minus', ('minus', ('minus', ('negate', ('symbol', 'a')), ('symbol', 'b')), ('symbol', 'c')), ('negate', ('symbol', 'a')))
   abort: unknown revision '-a'!
@@ -100,8 +102,9 @@
   $ log -a-b-c- # succeeds with fallback
   4
   $ try -- -a-b-c--a # complains
   ('minus', ('minus', ('minus', ('negate', ('symbol', 'a')), ('symbol', 'b')), ('symbol', 'c')), ('negate', ('symbol', 'a')))
   abort: unknown revision '-a'!
+  [255]
   $ try é
   ('symbol', '\xc3\xa9')
   9
@@ -143,5 +146,6 @@
   4
   $ log 'date(this is a test)'
   hg: parse error at 10: unexpected token: symbol
+  [255]
   $ log 'date()'
   hg: parse error: date wants a string
@@ -146,4 +150,5 @@
   $ log 'date()'
   hg: parse error: date wants a string
+  [255]
   $ log 'date'
   hg: parse error: can't use date here
@@ -148,4 +153,5 @@
   $ log 'date'
   hg: parse error: can't use date here
+  [255]
   $ log 'date('
   hg: parse error at 5: not a prefix: end
@@ -150,4 +156,5 @@
   $ log 'date('
   hg: parse error at 5: not a prefix: end
+  [255]
   $ log 'date(tip)'
   abort: invalid date: 'tip'
@@ -152,4 +159,5 @@
   $ log 'date(tip)'
   abort: invalid date: 'tip'
+  [255]
   $ log '"date"'
   abort: unknown revision 'date'!
@@ -154,7 +162,8 @@
   $ log '"date"'
   abort: unknown revision 'date'!
+  [255]
   $ log 'date(2005) and 1::'
   4
 
   $ log 'ancestor(1)'
   hg: parse error: ancestor wants two arguments
@@ -156,8 +165,9 @@
   $ log 'date(2005) and 1::'
   4
 
   $ log 'ancestor(1)'
   hg: parse error: ancestor wants two arguments
+  [255]
   $ log 'ancestor(4,5)'
   1
   $ log 'ancestor(4,5) and 4'
diff --git a/tests/test-status-color.t b/tests/test-status-color.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1zdGF0dXMtY29sb3IudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1zdGF0dXMtY29sb3IudA== 100644
--- a/tests/test-status-color.t
+++ b/tests/test-status-color.t
@@ -268,6 +268,7 @@
   merging b failed!
   0 files updated, 0 files merged, 0 files removed, 2 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
   $ hg resolve -m b
 
 hg resolve with one unresolved, one resolved:
diff --git a/tests/test-strict.t b/tests/test-strict.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1zdHJpY3QudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1zdHJpY3QudA== 100644
--- a/tests/test-strict.t
+++ b/tests/test-strict.t
@@ -35,6 +35,7 @@
    update     update working directory (or switch revisions)
   
   use "hg help" for the full list of commands or "hg -v" for details
+  [255]
   $ hg annotate a
   0: a
 
diff --git a/tests/test-subrepo-paths.t b/tests/test-subrepo-paths.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1zdWJyZXBvLXBhdGhzLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1zdWJyZXBvLXBhdGhzLnQ= 100644
--- a/tests/test-subrepo-paths.t
+++ b/tests/test-subrepo-paths.t
@@ -29,5 +29,6 @@
   > EOF
   $ hg debugsub
   abort: bad subrepository pattern in .*/test-subrepo-paths.t/outer/.hg/hgrc:2: invalid group reference
+  [255]
 
   $ exit 0
diff --git a/tests/test-subrepo-recursion.t b/tests/test-subrepo-recursion.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1zdWJyZXBvLXJlY3Vyc2lvbi50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1zdWJyZXBvLXJlY3Vyc2lvbi50 100644
--- a/tests/test-subrepo-recursion.t
+++ b/tests/test-subrepo-recursion.t
@@ -253,6 +253,7 @@
   comparing with .*/test-subrepo-recursion.t/repo/foo
   searching for changes
   no changes found
+  [1]
   $ echo $?
   0
 
@@ -315,6 +316,7 @@
   
   $ hg incoming -S --bundle incoming.hg
   abort: cannot combine --bundle and --subrepos
+  [255]
 
 Test missing subrepo:
 
diff --git a/tests/test-subrepo-svn.t b/tests/test-subrepo-svn.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1zdWJyZXBvLXN2bi50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1zdWJyZXBvLXN2bi50 100644
--- a/tests/test-subrepo-svn.t
+++ b/tests/test-subrepo-svn.t
@@ -153,6 +153,7 @@
   $ hg ci -m 'amend externals from hg'
   committing subrepository s
   abort: cannot commit svn externals
+  [255]
   $ hg diff --subrepos -r 1:2 | grep -v diff
   --- a/.hgsubstate	Thu Jan 01 00:00:00 1970 +0000
   +++ b/.hgsubstate	Thu Jan 01 00:00:00 1970 +0000
@@ -173,6 +174,7 @@
   $ hg ci -m 'amend externals from hg'
   committing subrepository s
   abort: cannot commit svn externals
+  [255]
   $ svn revert -q s/externals/other
 
 clone
diff --git a/tests/test-subrepo.t b/tests/test-subrepo.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1zdWJyZXBvLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1zdWJyZXBvLnQ= 100644
--- a/tests/test-subrepo.t
+++ b/tests/test-subrepo.t
@@ -21,6 +21,7 @@
 
   $ hg ci -mbad s
   abort: can't commit subrepos without .hgsub
+  [255]
 
   $ hg -R s ci -Ams0
   adding a
@@ -302,6 +303,7 @@
   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
@@ -361,6 +363,7 @@
   $ echo 'bogus=[boguspath' >> .hgsub
   $ hg ci -m 'bogus subrepo path'
   abort: missing ] in subrepo source
+  [255]
 
 issue 1986
 
@@ -577,6 +580,7 @@
   $ hg -q -R repo2 push
   abort: push creates new remote heads on branch 'default'!
   (did you forget to merge? use push -f to force)
+  [255]
   $ hg -R repo update
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ rm -rf repo2 repo
diff --git a/tests/test-symlinks.t b/tests/test-symlinks.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC1zeW1saW5rcy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC1zeW1saW5rcy50 100644
--- a/tests/test-symlinks.t
+++ b/tests/test-symlinks.t
@@ -178,6 +178,7 @@
   $ ln -s nothing dangling
   $ hg commit -m 'commit symlink without adding' dangling
   abort: dangling: file not tracked!
+  [255]
   $ hg add dangling
   $ hg commit -m 'add symlink'
 
diff --git a/tests/test-tag.t b/tests/test-tag.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC10YWcudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC10YWcudA== 100644
--- a/tests/test-tag.t
+++ b/tests/test-tag.t
@@ -14,6 +14,7 @@
 
   $ hg tag ' '
   abort: tag names cannot consist entirely of whitespace
+  [255]
 
   $ hg tag "bleah"
   $ hg history
@@ -88,5 +89,6 @@
   $ hg tag -l 'xx
   > newline'
   abort: '\n' cannot be used in a tag name
+  [255]
   $ hg tag -l 'xx:xx'
   abort: ':' cannot be used in a tag name
@@ -91,5 +93,6 @@
   $ hg tag -l 'xx:xx'
   abort: ':' cannot be used in a tag name
+  [255]
 
 cloning local tags
 
diff --git a/tests/test-tags.t b/tests/test-tags.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC10YWdzLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC10YWdzLnQ= 100644
--- a/tests/test-tags.t
+++ b/tests/test-tags.t
@@ -242,6 +242,7 @@
 
   $ hg tag --remove foobar
   abort: tag 'foobar' does not exist
+  [255]
   $ hg tip
   changeset:   5:5f6e8655b1c7
   tag:         tip
@@ -290,6 +291,7 @@
 
   $ hg tag -r 3 bar
   abort: tag 'bar' already exists (use -f to force)
+  [255]
   $ hg tags
   tip                                6:735c3ca72986
   bar                                0:bbd179dfa0a7
@@ -356,7 +358,8 @@
   $ hg tag -r 0 -l localtag
   $ hg tag --remove localtag
   abort: tag 'localtag' is not a global tag
+  [255]
   $ 
   $ hg tag -r 0 globaltag
   $ hg tag --remove -l globaltag
   abort: tag 'globaltag' is not a local tag
@@ -359,7 +362,8 @@
   $ 
   $ hg tag -r 0 globaltag
   $ hg tag --remove -l globaltag
   abort: tag 'globaltag' is not a local tag
+  [255]
   $ hg tags -v
   tip                                1:a0b6fe111088
   localtag                           0:bbd179dfa0a7 local
diff --git a/tests/test-transplant.t b/tests/test-transplant.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC10cmFuc3BsYW50LnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC10cmFuc3BsYW50LnQ= 100644
--- a/tests/test-transplant.t
+++ b/tests/test-transplant.t
@@ -207,6 +207,7 @@
   1 out of 1 hunks FAILED -- saving rejects to file foo.rej
   patch failed to apply
   abort: fix up the merge and run hg transplant --continue
+  [255]
 
 transplant -c shouldn't use an old changeset
 
@@ -220,6 +221,7 @@
   1 out of 1 hunks FAILED -- saving rejects to file foo.rej
   patch failed to apply
   abort: fix up the merge and run hg transplant --continue
+  [255]
   $ hg transplant --continue
   a1e30dd1b8e7 transplanted as f1563cf27039
   $ hg transplant 1:3
@@ -320,6 +322,7 @@
   1 out of 1 hunks FAILED -- saving rejects to file b1.rej
   patch failed to apply
   abort: fix up the merge and run hg transplant --continue
+  [255]
   $ cd ..
 
 
@@ -345,6 +348,7 @@
   $ python -c "file('b', 'wb').write('b\r\nb\r\n')"
   $ hg ci -m addb
   nothing changed
+  [1]
   $ hg transplant -s ../twin1 tip
   applying 2e849d776c17
   2e849d776c17 transplanted to 589cea8ba85b
diff --git a/tests/test-unrelated-pull.t b/tests/test-unrelated-pull.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC11bnJlbGF0ZWQtcHVsbC50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC11bnJlbGF0ZWQtcHVsbC50 100644
--- a/tests/test-unrelated-pull.t
+++ b/tests/test-unrelated-pull.t
@@ -17,6 +17,7 @@
   pulling from ../a
   searching for changes
   abort: repository is unrelated
+  [255]
 
   $ hg pull -f ../a
   pulling from ../a
diff --git a/tests/test-update-issue1456.t b/tests/test-update-issue1456.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC11cGRhdGUtaXNzdWUxNDU2LnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC11cGRhdGUtaXNzdWUxNDU2LnQ= 100644
--- a/tests/test-update-issue1456.t
+++ b/tests/test-update-issue1456.t
@@ -10,6 +10,7 @@
   $ echo dirty > foo
   $ hg up -c
   abort: uncommitted local changes
+  [255]
   $ hg up -q
   $ cat foo
   dirty
@@ -23,6 +24,7 @@
   $ chmod -x foo
   $ hg ci -m removeexec
   nothing changed
+  [1]
   $ hg up -C 0
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg up
diff --git a/tests/test-update-renames.t b/tests/test-update-renames.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC11cGRhdGUtcmVuYW1lcy50..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC11cGRhdGUtcmVuYW1lcy50 100644
--- a/tests/test-update-renames.t
+++ b/tests/test-update-renames.t
@@ -24,6 +24,7 @@
   merging b failed!
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges
+  [1]
 
   $ cd ..
 
diff --git a/tests/test-username-newline.t b/tests/test-username-newline.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC11c2VybmFtZS1uZXdsaW5lLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC11c2VybmFtZS1uZXdsaW5lLnQ= 100644
--- a/tests/test-username-newline.t
+++ b/tests/test-username-newline.t
@@ -10,8 +10,9 @@
   adding a
   abort: username 'foo\nbar1' contains a newline
   
+  [255]
   $ rm .hg/hgrc
 
   $ HGUSER=`(echo foo; echo bar2)` hg ci -Am m
   abort: username 'foo\nbar2' contains a newline
   
@@ -13,9 +14,10 @@
   $ rm .hg/hgrc
 
   $ HGUSER=`(echo foo; echo bar2)` hg ci -Am m
   abort: username 'foo\nbar2' contains a newline
   
+  [255]
   $ hg ci -Am m -u "`(echo foo; echo bar3)`"
   transaction abort!
   rollback completed
   abort: username 'foo\nbar3' contains a newline!
@@ -18,7 +20,8 @@
   $ hg ci -Am m -u "`(echo foo; echo bar3)`"
   transaction abort!
   rollback completed
   abort: username 'foo\nbar3' contains a newline!
+  [255]
 
   $ true
 
diff --git a/tests/test-verify.t b/tests/test-verify.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC12ZXJpZnkudA==..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC12ZXJpZnkudA== 100644
--- a/tests/test-verify.t
+++ b/tests/test-verify.t
@@ -56,6 +56,7 @@
   3 files, 1 changesets, 0 total revisions
   9 integrity errors encountered!
   (first damaged changeset appears to be 0)
+  [1]
 
   $ cd ..
 
@@ -83,6 +84,7 @@
   1 warnings encountered!
   1 integrity errors encountered!
   (first damaged changeset appears to be 0)
+  [1]
 
   $ cd ..
 
diff --git a/tests/test-walk.t b/tests/test-walk.t
index ca58f6475f1deca12da93b81b0ae43dc5319368e_dGVzdHMvdGVzdC13YWxrLnQ=..4134686b83e147b70c66c3364a5c2921651818e9_dGVzdHMvdGVzdC13YWxrLnQ= 100644
--- a/tests/test-walk.t
+++ b/tests/test-walk.t
@@ -160,5 +160,6 @@
   f  mammals/skunk                   skunk
   $ hg debugwalk .hg
   abort: path 'mammals/.hg' is inside repo 'mammals'
+  [255]
   $ hg debugwalk ../.hg
   abort: path contains illegal component: .hg
@@ -163,5 +164,6 @@
   $ hg debugwalk ../.hg
   abort: path contains illegal component: .hg
+  [255]
   $ cd ..
 
   $ hg debugwalk -Ibeans
@@ -187,5 +189,6 @@
   f  mammals/skunk                   mammals/skunk
   $ hg debugwalk ..
   abort: .. not under root
+  [255]
   $ hg debugwalk beans/../..
   abort: beans/../.. not under root
@@ -190,4 +193,5 @@
   $ hg debugwalk beans/../..
   abort: beans/../.. not under root
+  [255]
   $ hg debugwalk .hg
   abort: path contains illegal component: .hg
@@ -192,4 +196,5 @@
   $ hg debugwalk .hg
   abort: path contains illegal component: .hg
+  [255]
   $ hg debugwalk beans/../.hg
   abort: path contains illegal component: .hg
@@ -194,4 +199,5 @@
   $ hg debugwalk beans/../.hg
   abort: path contains illegal component: .hg
+  [255]
   $ hg debugwalk beans/../.hg/data
   abort: path contains illegal component: .hg/data
@@ -196,4 +202,5 @@
   $ hg debugwalk beans/../.hg/data
   abort: path contains illegal component: .hg/data
+  [255]
   $ hg debugwalk beans/.hg
   abort: path 'beans/.hg' is inside repo 'beans'
@@ -198,5 +205,6 @@
   $ hg debugwalk beans/.hg
   abort: path 'beans/.hg' is inside repo 'beans'
+  [255]
 
 Test absolute paths:
 
@@ -209,6 +217,7 @@
   f  beans/turtle    beans/turtle
   $ hg debugwalk `pwd`/..
   abort: .*/.. not under root
+  [255]
 
 Test patterns: