diff --git a/contrib/check-code.py b/contrib/check-code.py
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_Y29udHJpYi9jaGVjay1jb2RlLnB5..2944a6d35158bb9c464f926f360f48d8512d0ad1_Y29udHJpYi9jaGVjay1jb2RlLnB5 100755
--- a/contrib/check-code.py
+++ b/contrib/check-code.py
@@ -91,7 +91,7 @@
 uprefix = r"^  \$ "
 utestpats = [
   [
-    (r'^(\S|  \$ ).*(\S[ \t]+|^[ \t]+)\n', "trailing whitespace on non-output"),
+    (r'^(\S.*||  \$ .*)[ \t]\n', "trailing whitespace on non-output"),
     (uprefix + r'.*\|\s*sed[^|>\n]*\n',
      "use regex test output patterns instead of sed"),
     (uprefix + r'(true|exit 0)', "explicit zero exit unnecessary"),
diff --git a/tests/test-basic.t b/tests/test-basic.t
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_dGVzdHMvdGVzdC1iYXNpYy50..2944a6d35158bb9c464f926f360f48d8512d0ad1_dGVzdHMvdGVzdC1iYXNpYy50 100644
--- a/tests/test-basic.t
+++ b/tests/test-basic.t
@@ -33,7 +33,7 @@
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg identify -n
   0
- 
+
 
 Poke around at hashes:
 
diff --git a/tests/test-bookmarks-pushpull.t b/tests/test-bookmarks-pushpull.t
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_dGVzdHMvdGVzdC1ib29rbWFya3MtcHVzaHB1bGwudA==..2944a6d35158bb9c464f926f360f48d8512d0ad1_dGVzdHMvdGVzdC1ib29rbWFya3MtcHVzaHB1bGwudA== 100644
--- a/tests/test-bookmarks-pushpull.t
+++ b/tests/test-bookmarks-pushpull.t
@@ -260,7 +260,7 @@
      Z                         2:0d2164f0ce0d
      foo                       -1:000000000000
      foobar                    1:9b140be10808
- 
+
   $ cd ..
 
 Pushing a bookmark should only push the changes required by that
diff --git a/tests/test-diffstat.t b/tests/test-diffstat.t
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_dGVzdHMvdGVzdC1kaWZmc3RhdC50..2944a6d35158bb9c464f926f360f48d8512d0ad1_dGVzdHMvdGVzdC1kaWZmc3RhdC50 100644
--- a/tests/test-diffstat.t
+++ b/tests/test-diffstat.t
@@ -68,5 +68,5 @@
   $ hg diff --stat --git
    file with spaces |  Bin 
    1 files changed, 0 insertions(+), 0 deletions(-)
-	
+
   $ cd ..
diff --git a/tests/test-encoding.t b/tests/test-encoding.t
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_dGVzdHMvdGVzdC1lbmNvZGluZy50..2944a6d35158bb9c464f926f360f48d8512d0ad1_dGVzdHMvdGVzdC1lbmNvZGluZy50 100644
--- a/tests/test-encoding.t
+++ b/tests/test-encoding.t
@@ -248,5 +248,5 @@
 
   $ HGENCODING=latin-1 hg up `cat latin-1-tag`
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- 
+
   $ cd ..
diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_dGVzdHMvdGVzdC1sYXJnZWZpbGVzLnQ=..2944a6d35158bb9c464f926f360f48d8512d0ad1_dGVzdHMvdGVzdC1sYXJnZWZpbGVzLnQ= 100644
--- a/tests/test-largefiles.t
+++ b/tests/test-largefiles.t
@@ -80,7 +80,7 @@
   $ rm sub/unknown
 
 Remove both largefiles and normal files.
- 
+
   $ hg remove normal1 large1
   $ hg status large1
   R large1
diff --git a/tests/test-rebase-bookmarks.t b/tests/test-rebase-bookmarks.t
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_dGVzdHMvdGVzdC1yZWJhc2UtYm9va21hcmtzLnQ=..2944a6d35158bb9c464f926f360f48d8512d0ad1_dGVzdHMvdGVzdC1yZWJhc2UtYm9va21hcmtzLnQ= 100644
--- a/tests/test-rebase-bookmarks.t
+++ b/tests/test-rebase-bookmarks.t
@@ -23,7 +23,7 @@
   adding b
   $ hg book 'X'
   $ hg book 'Y'
- 
+
   $ echo c > c
   $ hg ci -Am C
   adding c
@@ -47,7 +47,7 @@
   |/
   o  0: 'A' bookmarks:
   
- 
+
 Move only rebased bookmarks
 
   $ cd ..
diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t
index 4f8054d3171b565675f4d880c016ff823f1e1f2b_dGVzdHMvdGVzdC1zdWJyZXBvLWRlZXAtbmVzdGVkLWNoYW5nZS50..2944a6d35158bb9c464f926f360f48d8512d0ad1_dGVzdHMvdGVzdC1zdWJyZXBvLWRlZXAtbmVzdGVkLWNoYW5nZS50 100644
--- a/tests/test-subrepo-deep-nested-change.t
+++ b/tests/test-subrepo-deep-nested-change.t
@@ -100,7 +100,7 @@
    revision 53dd3430bcaf5ab4a7c48262bcad6d441f510487
 
 Check that deep archiving works
- 
+
   $ cd cloned
   $ echo 'test' > sub1/sub2/test.txt
   $ hg --config extensions.largefiles=! add sub1/sub2/test.txt