tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
authorMads Kiilerich <mads@kiilerich.com>
Wed, 10 Oct 2012 01:37:54 +0200
changeset 17743 6047947afb6b
parent 17742 405b6bd015df
child 17744 09d5b2055295
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
tests/filtercr.py
tests/test-archive.t
tests/test-convert-svn-move.t
tests/test-debugbuilddag.t
tests/test-largefiles.t
tests/test-patchbomb.t
tests/test-progress.t
tests/test-subrepo-recursion.t
--- a/tests/filtercr.py	Wed Sep 26 00:56:27 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-#!/usr/bin/env python
-
-# Filter output by the progress extension to make it readable in tests
-
-import sys, re
-
-for line in sys.stdin:
-    line = re.sub(r'\r+[^\n]', lambda m: '\n' + m.group()[-1:], line)
-    sys.stdout.write(line)
-print
--- a/tests/test-archive.t	Wed Sep 26 00:56:27 2012 +0200
+++ b/tests/test-archive.t	Wed Oct 10 01:37:54 2012 +0200
@@ -224,19 +224,19 @@
   > width = 60
   > EOF
 
-  $ hg archive ../with-progress 2>&1 | "$TESTDIR/filtercr.py"
-  
-  archiving [                                           ] 0/4
-  archiving [                                           ] 0/4
-  archiving [=========>                                 ] 1/4
-  archiving [=========>                                 ] 1/4
-  archiving [====================>                      ] 2/4
-  archiving [====================>                      ] 2/4
-  archiving [===============================>           ] 3/4
-  archiving [===============================>           ] 3/4
-  archiving [==========================================>] 4/4
-  archiving [==========================================>] 4/4
-                                                              \r (esc)
+  $ hg archive ../with-progress
+  \r (no-eol) (esc)
+  archiving [                                           ] 0/4\r (no-eol) (esc)
+  archiving [                                           ] 0/4\r (no-eol) (esc)
+  archiving [=========>                                 ] 1/4\r (no-eol) (esc)
+  archiving [=========>                                 ] 1/4\r (no-eol) (esc)
+  archiving [====================>                      ] 2/4\r (no-eol) (esc)
+  archiving [====================>                      ] 2/4\r (no-eol) (esc)
+  archiving [===============================>           ] 3/4\r (no-eol) (esc)
+  archiving [===============================>           ] 3/4\r (no-eol) (esc)
+  archiving [==========================================>] 4/4\r (no-eol) (esc)
+  archiving [==========================================>] 4/4\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 cleanup after progress extension test:
 
--- a/tests/test-convert-svn-move.t	Wed Sep 26 00:56:27 2012 +0200
+++ b/tests/test-convert-svn-move.t	Wed Oct 10 01:37:54 2012 +0200
@@ -165,68 +165,75 @@
   > width = 60
   > EOF
 
-  $ hg convert svn-repo hg-progress 2>&1 | "$TESTDIR/filtercr.py"
-  
-  scanning [ <=>                                          ] 1
-  scanning [  <=>                                         ] 2
-  scanning [   <=>                                        ] 3
-  scanning [    <=>                                       ] 4
-  scanning [     <=>                                      ] 5
-  scanning [      <=>                                     ] 6
-  scanning [       <=>                                    ] 7
-                                                              
-  converting [                                          ] 0/7
-  getting files [=====>                                 ] 1/6
-  getting files [============>                          ] 2/6
-  getting files [==================>                    ] 3/6
-  getting files [=========================>             ] 4/6
-  getting files [===============================>       ] 5/6
-  getting files [======================================>] 6/6
-                                                              
-  converting [=====>                                    ] 1/7
-  scanning paths [                                      ] 0/1
-  getting files [======================================>] 1/1
-                                                              
-  converting [===========>                              ] 2/7
-  scanning paths [                                      ] 0/2
-  scanning paths [==================>                   ] 1/2
-  getting files [========>                              ] 1/4
-  getting files [==================>                    ] 2/4
-  getting files [============================>          ] 3/4
-  getting files [======================================>] 4/4
-                                                              
-  converting [=================>                        ] 3/7
-  scanning paths [                                      ] 0/1
-  getting files [======================================>] 1/1
-                                                              
-  converting [=======================>                  ] 4/7
-  scanning paths [                                      ] 0/1
-  getting files [======================================>] 1/1
-                                                              
-  converting [=============================>            ] 5/7
-  scanning paths [                                      ] 0/3
-  scanning paths [===========>                          ] 1/3
-  scanning paths [========================>             ] 2/3
-  getting files [===>                                   ] 1/8
-  getting files [========>                              ] 2/8
-  getting files [=============>                         ] 3/8
-  getting files [==================>                    ] 4/8
-  getting files [=======================>               ] 5/8
-  getting files [============================>          ] 6/8
-  getting files [=================================>     ] 7/8
-  getting files [======================================>] 8/8
-                                                              
-  converting [===================================>      ] 6/7
-  scanning paths [                                      ] 0/1
-  getting files [===>                                   ] 1/8
-  getting files [========>                              ] 2/8
-  getting files [=============>                         ] 3/8
-  getting files [==================>                    ] 4/8
-  getting files [=======================>               ] 5/8
-  getting files [============================>          ] 6/8
-  getting files [=================================>     ] 7/8
-  getting files [======================================>] 8/8
-                                                              
+  $ hg convert svn-repo hg-progress
+  \r (no-eol) (esc)
+  scanning [ <=>                                          ] 1\r (no-eol) (esc)
+  scanning [  <=>                                         ] 2\r (no-eol) (esc)
+  scanning [   <=>                                        ] 3\r (no-eol) (esc)
+  scanning [    <=>                                       ] 4\r (no-eol) (esc)
+  scanning [     <=>                                      ] 5\r (no-eol) (esc)
+  scanning [      <=>                                     ] 6\r (no-eol) (esc)
+  scanning [       <=>                                    ] 7\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  converting [                                          ] 0/7\r (no-eol) (esc)
+  getting files [=====>                                 ] 1/6\r (no-eol) (esc)
+  getting files [============>                          ] 2/6\r (no-eol) (esc)
+  getting files [==================>                    ] 3/6\r (no-eol) (esc)
+  getting files [=========================>             ] 4/6\r (no-eol) (esc)
+  getting files [===============================>       ] 5/6\r (no-eol) (esc)
+  getting files [======================================>] 6/6\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  converting [=====>                                    ] 1/7\r (no-eol) (esc)
+  scanning paths [                                      ] 0/1\r (no-eol) (esc)
+  getting files [======================================>] 1/1\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  converting [===========>                              ] 2/7\r (no-eol) (esc)
+  scanning paths [                                      ] 0/2\r (no-eol) (esc)
+  scanning paths [==================>                   ] 1/2\r (no-eol) (esc)
+  getting files [========>                              ] 1/4\r (no-eol) (esc)
+  getting files [==================>                    ] 2/4\r (no-eol) (esc)
+  getting files [============================>          ] 3/4\r (no-eol) (esc)
+  getting files [======================================>] 4/4\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  converting [=================>                        ] 3/7\r (no-eol) (esc)
+  scanning paths [                                      ] 0/1\r (no-eol) (esc)
+  getting files [======================================>] 1/1\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  converting [=======================>                  ] 4/7\r (no-eol) (esc)
+  scanning paths [                                      ] 0/1\r (no-eol) (esc)
+  getting files [======================================>] 1/1\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  converting [=============================>            ] 5/7\r (no-eol) (esc)
+  scanning paths [                                      ] 0/3\r (no-eol) (esc)
+  scanning paths [===========>                          ] 1/3\r (no-eol) (esc)
+  scanning paths [========================>             ] 2/3\r (no-eol) (esc)
+  getting files [===>                                   ] 1/8\r (no-eol) (esc)
+  getting files [========>                              ] 2/8\r (no-eol) (esc)
+  getting files [=============>                         ] 3/8\r (no-eol) (esc)
+  getting files [==================>                    ] 4/8\r (no-eol) (esc)
+  getting files [=======================>               ] 5/8\r (no-eol) (esc)
+  getting files [============================>          ] 6/8\r (no-eol) (esc)
+  getting files [=================================>     ] 7/8\r (no-eol) (esc)
+  getting files [======================================>] 8/8\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  converting [===================================>      ] 6/7\r (no-eol) (esc)
+  scanning paths [                                      ] 0/1\r (no-eol) (esc)
+  getting files [===>                                   ] 1/8\r (no-eol) (esc)
+  getting files [========>                              ] 2/8\r (no-eol) (esc)
+  getting files [=============>                         ] 3/8\r (no-eol) (esc)
+  getting files [==================>                    ] 4/8\r (no-eol) (esc)
+  getting files [=======================>               ] 5/8\r (no-eol) (esc)
+  getting files [============================>          ] 6/8\r (no-eol) (esc)
+  getting files [=================================>     ] 7/8\r (no-eol) (esc)
+  getting files [======================================>] 8/8\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
   initializing destination hg-progress repository
   scanning source...
   sorting...
@@ -238,6 +245,5 @@
   2 adddb
   1 branch
   0 clobberdir
-  
 
   $ cd ..
--- a/tests/test-debugbuilddag.t	Wed Sep 26 00:56:27 2012 +0200
+++ b/tests/test-debugbuilddag.t	Wed Oct 10 01:37:54 2012 +0200
@@ -8,44 +8,43 @@
   > --config extensions.progress= --config progress.assume-tty=1 \
   > --config progress.delay=0 --config progress.refresh=0 \
   > --config progress.format=topic,bar,number \
-  > --config progress.width=60 2>&1 | \
-  > python "$TESTDIR/filtercr.py"
-  
-  building [                                          ]  0/12
-  building [                                          ]  0/12
-  building [                                          ]  0/12
-  building [                                          ]  0/12
-  building [==>                                       ]  1/12
-  building [==>                                       ]  1/12
-  building [==>                                       ]  1/12
-  building [==>                                       ]  1/12
-  building [======>                                   ]  2/12
-  building [======>                                   ]  2/12
-  building [=========>                                ]  3/12
-  building [=========>                                ]  3/12
-  building [=============>                            ]  4/12
-  building [=============>                            ]  4/12
-  building [=============>                            ]  4/12
-  building [=============>                            ]  4/12
-  building [=============>                            ]  4/12
-  building [=============>                            ]  4/12
-  building [================>                         ]  5/12
-  building [================>                         ]  5/12
-  building [====================>                     ]  6/12
-  building [====================>                     ]  6/12
-  building [=======================>                  ]  7/12
-  building [=======================>                  ]  7/12
-  building [===========================>              ]  8/12
-  building [===========================>              ]  8/12
-  building [===========================>              ]  8/12
-  building [===========================>              ]  8/12
-  building [==============================>           ]  9/12
-  building [==============================>           ]  9/12
-  building [==================================>       ] 10/12
-  building [==================================>       ] 10/12
-  building [=====================================>    ] 11/12
-  building [=====================================>    ] 11/12
-                                                              \r (esc)
+  > --config progress.width=60
+  \r (no-eol) (esc)
+  building [                                          ]  0/12\r (no-eol) (esc)
+  building [                                          ]  0/12\r (no-eol) (esc)
+  building [                                          ]  0/12\r (no-eol) (esc)
+  building [                                          ]  0/12\r (no-eol) (esc)
+  building [==>                                       ]  1/12\r (no-eol) (esc)
+  building [==>                                       ]  1/12\r (no-eol) (esc)
+  building [==>                                       ]  1/12\r (no-eol) (esc)
+  building [==>                                       ]  1/12\r (no-eol) (esc)
+  building [======>                                   ]  2/12\r (no-eol) (esc)
+  building [======>                                   ]  2/12\r (no-eol) (esc)
+  building [=========>                                ]  3/12\r (no-eol) (esc)
+  building [=========>                                ]  3/12\r (no-eol) (esc)
+  building [=============>                            ]  4/12\r (no-eol) (esc)
+  building [=============>                            ]  4/12\r (no-eol) (esc)
+  building [=============>                            ]  4/12\r (no-eol) (esc)
+  building [=============>                            ]  4/12\r (no-eol) (esc)
+  building [=============>                            ]  4/12\r (no-eol) (esc)
+  building [=============>                            ]  4/12\r (no-eol) (esc)
+  building [================>                         ]  5/12\r (no-eol) (esc)
+  building [================>                         ]  5/12\r (no-eol) (esc)
+  building [====================>                     ]  6/12\r (no-eol) (esc)
+  building [====================>                     ]  6/12\r (no-eol) (esc)
+  building [=======================>                  ]  7/12\r (no-eol) (esc)
+  building [=======================>                  ]  7/12\r (no-eol) (esc)
+  building [===========================>              ]  8/12\r (no-eol) (esc)
+  building [===========================>              ]  8/12\r (no-eol) (esc)
+  building [===========================>              ]  8/12\r (no-eol) (esc)
+  building [===========================>              ]  8/12\r (no-eol) (esc)
+  building [==============================>           ]  9/12\r (no-eol) (esc)
+  building [==============================>           ]  9/12\r (no-eol) (esc)
+  building [==================================>       ] 10/12\r (no-eol) (esc)
+  building [==================================>       ] 10/12\r (no-eol) (esc)
+  building [=====================================>    ] 11/12\r (no-eol) (esc)
+  building [=====================================>    ] 11/12\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 tags
   $ cat .hg/localtags
--- a/tests/test-largefiles.t	Wed Sep 26 00:56:27 2012 +0200
+++ b/tests/test-largefiles.t	Wed Oct 10 01:37:54 2012 +0200
@@ -1587,9 +1587,8 @@
 
   $ hg clone -U . ../empty
   $ cd ../empty
-  $ hg archive --subrepos -r tip ../archive.tar.gz 2>&1 | "$TESTDIR/filtercr.py"
+  $ hg archive --subrepos -r tip ../archive.tar.gz
   cloning subrepo subrepo from $TESTTMP/statusmatch/subrepo
-  
   $ cd ..
 
 Test that addremove picks up largefiles prior to the initial commit (issue3541)
--- a/tests/test-patchbomb.t	Wed Sep 26 00:56:27 2012 +0200
+++ b/tests/test-patchbomb.t	Wed Oct 10 01:37:54 2012 +0200
@@ -149,29 +149,31 @@
   $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
   > --config extensions.progress= --config progress.assume-tty=1 \
   > --config progress.delay=0 --config progress.refresh=0 \
-  > --config progress.width=60 2>&1 | \
-  > python "$TESTDIR/filtercr.py"
+  > --config progress.width=60
   this patch series consists of 2 patches.
   
   
   Write the introductory message for the patch series.
   
-  
-  sending [                                             ] 0/3
-  sending [                                             ] 0/3
-                                                              
-                                                              
-  sending [==============>                              ] 1/3
-  sending [==============>                              ] 1/3
-                                                              
-                                                              
-  sending [=============================>               ] 2/3
-  sending [=============================>               ] 2/3
+  \r (no-eol) (esc)
+  sending [                                             ] 0/3\r (no-eol) (esc)
+  sending [                                             ] 0/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  sending [==============>                              ] 1/3\r (no-eol) (esc)
+  sending [==============>                              ] 1/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  sending [=============================>               ] 2/3\r (no-eol) (esc)
+  sending [=============================>               ] 2/3\r (no-eol) (esc)
                                                               \r (esc)
   sending [PATCH 0 of 2] test ...
   sending [PATCH 1 of 2] a ...
   sending [PATCH 2 of 2] b ...
-  
 
   $ cd ..
 
--- a/tests/test-progress.t	Wed Sep 26 00:56:27 2012 +0200
+++ b/tests/test-progress.t	Wed Oct 10 01:37:54 2012 +0200
@@ -46,104 +46,96 @@
 
 test default params, display nothing because of delay
 
-  $ hg -y loop 3 2>&1 | "$TESTDIR/filtercr.py"
-  
+  $ hg -y loop 3
   $ echo "delay=0" >> $HGRCPATH
   $ echo "refresh=0" >> $HGRCPATH
 
 test with delay=0, refresh=0
 
-  $ hg -y loop 3 2>&1 | "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/3
-  loop [===============>                                ] 1/3
-  loop [===============================>                ] 2/3
-                                                              \r (esc)
+  $ hg -y loop 3
+  \r (no-eol) (esc)
+  loop [                                                ] 0/3\r (no-eol) (esc)
+  loop [===============>                                ] 1/3\r (no-eol) (esc)
+  loop [===============================>                ] 2/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 
 test nested short-lived topics (which shouldn't display with nestdelay):
 
-  $ hg -y loop 3 --nested 2>&1 | \
-  > python "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/3
-  loop [===============>                                ] 1/3
-  loop [===============================>                ] 2/3
-                                                              \r (esc)
+  $ hg -y loop 3 --nested
+  \r (no-eol) (esc)
+  loop [                                                ] 0/3\r (no-eol) (esc)
+  loop [===============>                                ] 1/3\r (no-eol) (esc)
+  loop [===============================>                ] 2/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 
-  $ hg --config progress.changedelay=0 -y loop 3 --nested 2>&1 | \
-  > python "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/3
-  nested [                                              ] 0/2
-  nested [======================>                       ] 1/2
-  loop [===============>                                ] 1/3
-  nested [                                              ] 0/2
-  nested [======================>                       ] 1/2
-  loop [===============================>                ] 2/3
-  nested [                                              ] 0/2
-  nested [======================>                       ] 1/2
-                                                              \r (esc)
+  $ hg --config progress.changedelay=0 -y loop 3 --nested
+  \r (no-eol) (esc)
+  loop [                                                ] 0/3\r (no-eol) (esc)
+  nested [                                              ] 0/2\r (no-eol) (esc)
+  nested [======================>                       ] 1/2\r (no-eol) (esc)
+  loop [===============>                                ] 1/3\r (no-eol) (esc)
+  nested [                                              ] 0/2\r (no-eol) (esc)
+  nested [======================>                       ] 1/2\r (no-eol) (esc)
+  loop [===============================>                ] 2/3\r (no-eol) (esc)
+  nested [                                              ] 0/2\r (no-eol) (esc)
+  nested [======================>                       ] 1/2\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 
 test two topics being printed in parallel (as when we're doing a local
 --pull clone, where you get the unbundle and bundle progress at the
 same time):
-  $ hg loop 3 --parallel 2>&1 | python "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/3
-  loop [===============>                                ] 1/3
-  loop [===============================>                ] 2/3
-                                                              \r (esc)
+  $ hg loop 3 --parallel
+  \r (no-eol) (esc)
+  loop [                                                ] 0/3\r (no-eol) (esc)
+  loop [===============>                                ] 1/3\r (no-eol) (esc)
+  loop [===============================>                ] 2/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 test refresh is taken in account
 
-  $ hg -y --config progress.refresh=100 loop 3 2>&1 | "$TESTDIR/filtercr.py"
-  
+  $ hg -y --config progress.refresh=100 loop 3
 
 test format options 1
 
-  $ hg -y --config 'progress.format=number topic item+2' loop 2 2>&1 \
-  > | "$TESTDIR/filtercr.py"
-  
-  0/2 loop lo
-  1/2 loop lo
-                                                              \r (esc)
+  $ hg -y --config 'progress.format=number topic item+2' loop 2
+  \r (no-eol) (esc)
+  0/2 loop lo\r (no-eol) (esc)
+  1/2 loop lo\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 test format options 2
 
-  $ hg -y --config 'progress.format=number item-3 bar' loop 2 2>&1 \
-  > | "$TESTDIR/filtercr.py"
-  
-  0/2 p.0 [                                                 ]
-  1/2 p.1 [=======================>                         ]
-                                                              \r (esc)
+  $ hg -y --config 'progress.format=number item-3 bar' loop 2
+  \r (no-eol) (esc)
+  0/2 p.0 [                                                 ]\r (no-eol) (esc)
+  1/2 p.1 [=======================>                         ]\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 test format options and indeterminate progress
 
-  $ hg -y --config 'progress.format=number item bar' loop -- -2 2>&1 \
-  > | "$TESTDIR/filtercr.py"
-  
-  0 loop.0               [ <=>                              ]
-  1 loop.1               [  <=>                             ]
-                                                              \r (esc)
+  $ hg -y --config 'progress.format=number item bar' loop -- -2
+  \r (no-eol) (esc)
+  0 loop.0               [ <=>                              ]\r (no-eol) (esc)
+  1 loop.1               [  <=>                             ]\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 make sure things don't fall over if count > total
 
-  $ hg -y loop --total 4 6 2>&1 | "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/4
-  loop [===========>                                    ] 1/4
-  loop [=======================>                        ] 2/4
-  loop [===================================>            ] 3/4
-  loop [===============================================>] 4/4
-  loop [ <=>                                            ] 5/4
-                                                              \r (esc)
+  $ hg -y loop --total 4 6
+  \r (no-eol) (esc)
+  loop [                                                ] 0/4\r (no-eol) (esc)
+  loop [===========>                                    ] 1/4\r (no-eol) (esc)
+  loop [=======================>                        ] 2/4\r (no-eol) (esc)
+  loop [===================================>            ] 3/4\r (no-eol) (esc)
+  loop [===============================================>] 4/4\r (no-eol) (esc)
+  loop [ <=>                                            ] 5/4\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 test immediate progress completion
 
-  $ hg -y loop 0 2>&1 | "$TESTDIR/filtercr.py"
-  
+  $ hg -y loop 0
 
 test delay time estimates
 
@@ -173,44 +165,44 @@
   $ echo "delay=25" >> $HGRCPATH
   $ echo "width=60" >> $HGRCPATH
 
-  $ hg -y loop 8 2>&1 | python "$TESTDIR/filtercr.py"
-  
-  loop [=========>                                ] 2/8 1m07s
-  loop [===============>                            ] 3/8 56s
-  loop [=====================>                      ] 4/8 45s
-  loop [==========================>                 ] 5/8 34s
-  loop [================================>           ] 6/8 23s
-  loop [=====================================>      ] 7/8 12s
-                                                              \r (esc)
+  $ hg -y loop 8
+  \r (no-eol) (esc)
+  loop [=========>                                ] 2/8 1m07s\r (no-eol) (esc)
+  loop [===============>                            ] 3/8 56s\r (no-eol) (esc)
+  loop [=====================>                      ] 4/8 45s\r (no-eol) (esc)
+  loop [==========================>                 ] 5/8 34s\r (no-eol) (esc)
+  loop [================================>           ] 6/8 23s\r (no-eol) (esc)
+  loop [=====================================>      ] 7/8 12s\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
-  $ MOCKTIME=10000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/4
-  loop [=========>                                ] 1/4 8h21m
-  loop [====================>                     ] 2/4 5h34m
-  loop [==============================>           ] 3/4 2h47m
-                                                              \r (esc)
+  $ MOCKTIME=10000 hg -y loop 4
+  \r (no-eol) (esc)
+  loop [                                                ] 0/4\r (no-eol) (esc)
+  loop [=========>                                ] 1/4 8h21m\r (no-eol) (esc)
+  loop [====================>                     ] 2/4 5h34m\r (no-eol) (esc)
+  loop [==============================>           ] 3/4 2h47m\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
-  $ MOCKTIME=1000000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/4
-  loop [=========>                                ] 1/4 5w00d
-  loop [====================>                     ] 2/4 3w03d
-  loop [=============================>           ] 3/4 11d14h
-                                                              \r (esc)
+  $ MOCKTIME=1000000 hg -y loop 4
+  \r (no-eol) (esc)
+  loop [                                                ] 0/4\r (no-eol) (esc)
+  loop [=========>                                ] 1/4 5w00d\r (no-eol) (esc)
+  loop [====================>                     ] 2/4 3w03d\r (no-eol) (esc)
+  loop [=============================>           ] 3/4 11d14h\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 
-  $ MOCKTIME=14000000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
-  
-  loop [                                                ] 0/4
-  loop [=========>                                ] 1/4 1y18w
-  loop [===================>                     ] 2/4 46w03d
-  loop [=============================>           ] 3/4 23w02d
-                                                              \r (esc)
+  $ MOCKTIME=14000000 hg -y loop 4
+  \r (no-eol) (esc)
+  loop [                                                ] 0/4\r (no-eol) (esc)
+  loop [=========>                                ] 1/4 1y18w\r (no-eol) (esc)
+  loop [===================>                     ] 2/4 46w03d\r (no-eol) (esc)
+  loop [=============================>           ] 3/4 23w02d\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 Time estimates should not fail when there's no end point:
-  $ hg -y loop -- -4 2>&1 | python "$TESTDIR/filtercr.py"
-  
-  loop [ <=>                                              ] 2
-  loop [  <=>                                             ] 3
-                                                              \r (esc)
+  $ hg -y loop -- -4
+  \r (no-eol) (esc)
+  loop [ <=>                                              ] 2\r (no-eol) (esc)
+  loop [  <=>                                             ] 3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
--- a/tests/test-subrepo-recursion.t	Wed Sep 26 00:56:27 2012 +0200
+++ b/tests/test-subrepo-recursion.t	Wed Oct 10 01:37:54 2012 +0200
@@ -260,31 +260,33 @@
 Test archiving to a directory tree (the doubled lines in the output
 only show up in the test output, not in real usage):
 
-  $ hg archive --subrepos ../archive 2>&1 | "$TESTDIR/filtercr.py"
-  
-  archiving [                                           ] 0/3
-  archiving [                                           ] 0/3
-  archiving [=============>                             ] 1/3
-  archiving [=============>                             ] 1/3
-  archiving [===========================>               ] 2/3
-  archiving [===========================>               ] 2/3
-  archiving [==========================================>] 3/3
-  archiving [==========================================>] 3/3
-                                                              
-  archiving (foo) [                                     ] 0/3
-  archiving (foo) [                                     ] 0/3
-  archiving (foo) [===========>                         ] 1/3
-  archiving (foo) [===========>                         ] 1/3
-  archiving (foo) [=======================>             ] 2/3
-  archiving (foo) [=======================>             ] 2/3
-  archiving (foo) [====================================>] 3/3
-  archiving (foo) [====================================>] 3/3
-                                                              
-  archiving (foo/bar) [                                 ] 0/1 (glob)
-  archiving (foo/bar) [                                 ] 0/1 (glob)
-  archiving (foo/bar) [================================>] 1/1 (glob)
-  archiving (foo/bar) [================================>] 1/1 (glob)
-                                                              \r (esc)
+  $ hg archive --subrepos ../archive
+  \r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  archiving (foo) [                                     ] 0/3\r (no-eol) (esc)
+  archiving (foo) [                                     ] 0/3\r (no-eol) (esc)
+  archiving (foo) [===========>                         ] 1/3\r (no-eol) (esc)
+  archiving (foo) [===========>                         ] 1/3\r (no-eol) (esc)
+  archiving (foo) [=======================>             ] 2/3\r (no-eol) (esc)
+  archiving (foo) [=======================>             ] 2/3\r (no-eol) (esc)
+  archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
+  archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  archiving (foo/bar) [                                 ] 0/1\r (no-eol) (esc)
+  archiving (foo/bar) [                                 ] 0/1\r (no-eol) (esc)
+  archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
+  archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
   $ find ../archive | sort
   ../archive
   ../archive/.hg_archival.txt
@@ -300,65 +302,69 @@
 
 Test archiving to zip file (unzip output is unstable):
 
-  $ hg archive --subrepos ../archive.zip 2>&1 | "$TESTDIR/filtercr.py"
-  
-  archiving [                                           ] 0/3
-  archiving [                                           ] 0/3
-  archiving [=============>                             ] 1/3
-  archiving [=============>                             ] 1/3
-  archiving [===========================>               ] 2/3
-  archiving [===========================>               ] 2/3
-  archiving [==========================================>] 3/3
-  archiving [==========================================>] 3/3
-                                                              
-  archiving (foo) [                                     ] 0/3
-  archiving (foo) [                                     ] 0/3
-  archiving (foo) [===========>                         ] 1/3
-  archiving (foo) [===========>                         ] 1/3
-  archiving (foo) [=======================>             ] 2/3
-  archiving (foo) [=======================>             ] 2/3
-  archiving (foo) [====================================>] 3/3
-  archiving (foo) [====================================>] 3/3
-                                                              
-  archiving (foo/bar) [                                 ] 0/1 (glob)
-  archiving (foo/bar) [                                 ] 0/1 (glob)
-  archiving (foo/bar) [================================>] 1/1 (glob)
-  archiving (foo/bar) [================================>] 1/1 (glob)
-                                                              \r (esc)
+  $ hg archive --subrepos ../archive.zip
+  \r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  archiving (foo) [                                     ] 0/3\r (no-eol) (esc)
+  archiving (foo) [                                     ] 0/3\r (no-eol) (esc)
+  archiving (foo) [===========>                         ] 1/3\r (no-eol) (esc)
+  archiving (foo) [===========>                         ] 1/3\r (no-eol) (esc)
+  archiving (foo) [=======================>             ] 2/3\r (no-eol) (esc)
+  archiving (foo) [=======================>             ] 2/3\r (no-eol) (esc)
+  archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
+  archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  archiving (foo/bar) [                                 ] 0/1\r (no-eol) (esc)
+  archiving (foo/bar) [                                 ] 0/1\r (no-eol) (esc)
+  archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
+  archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
 
 Test archiving a revision that references a subrepo that is not yet
 cloned:
 
   $ hg clone -U . ../empty
   $ cd ../empty
-  $ hg archive --subrepos -r tip ../archive.tar.gz 2>&1 | "$TESTDIR/filtercr.py"
-  
-  archiving [                                           ] 0/3
-  archiving [                                           ] 0/3
-  archiving [=============>                             ] 1/3
-  archiving [=============>                             ] 1/3
-  archiving [===========================>               ] 2/3
-  archiving [===========================>               ] 2/3
-  archiving [==========================================>] 3/3
-  archiving [==========================================>] 3/3
-                                                              
-  archiving (foo) [                                     ] 0/3
-  archiving (foo) [                                     ] 0/3
-  archiving (foo) [===========>                         ] 1/3
-  archiving (foo) [===========>                         ] 1/3
-  archiving (foo) [=======================>             ] 2/3
-  archiving (foo) [=======================>             ] 2/3
-  archiving (foo) [====================================>] 3/3
-  archiving (foo) [====================================>] 3/3
-                                                              
-  archiving (foo/bar) [                                 ] 0/1 (glob)
-  archiving (foo/bar) [                                 ] 0/1 (glob)
-  archiving (foo/bar) [================================>] 1/1 (glob)
-  archiving (foo/bar) [================================>] 1/1 (glob)
-                                                              
+  $ hg archive --subrepos -r tip ../archive.tar.gz
+  \r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [                                           ] 0/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [=============>                             ] 1/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [===========================>               ] 2/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+  archiving [==========================================>] 3/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  archiving (foo) [                                     ] 0/3\r (no-eol) (esc)
+  archiving (foo) [                                     ] 0/3\r (no-eol) (esc)
+  archiving (foo) [===========>                         ] 1/3\r (no-eol) (esc)
+  archiving (foo) [===========>                         ] 1/3\r (no-eol) (esc)
+  archiving (foo) [=======================>             ] 2/3\r (no-eol) (esc)
+  archiving (foo) [=======================>             ] 2/3\r (no-eol) (esc)
+  archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
+  archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
+  \r (no-eol) (esc)
+  archiving (foo/bar) [                                 ] 0/1\r (no-eol) (esc)
+  archiving (foo/bar) [                                 ] 0/1\r (no-eol) (esc)
+  archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
+  archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
+                                                              \r (no-eol) (esc)
   cloning subrepo foo from $TESTTMP/repo/foo
   cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
-  
+
 The newly cloned subrepos contain no working copy:
 
   $ hg -R foo summary