diff --git a/tests/test-bad-pull b/tests/test-bad-pull
index 490e40816cbd46c18fc7d654420bc00523487cf7_dGVzdHMvdGVzdC1iYWQtcHVsbA==..3e620696757084d66154bdf1cf9a7d0eb40248cd_dGVzdHMvdGVzdC1iYWQtcHVsbA== 100755
--- a/tests/test-bad-pull
+++ b/tests/test-bad-pull
@@ -1,7 +1,7 @@
 #!/bin/sh
 
-{ hg clone http://localhost:$HGPORT/ copy 2>&1; echo $?; } | \
-	sed 's/error:.*/error:/'
+hg clone http://localhost:$HGPORT/ copy
+echo $?
 test -d copy || echo copy: No such file or directory
 
 cat > dumb.py <<EOF
@@ -23,5 +23,5 @@
 # give the server some time to start running
 sleep 1
 
-{ http_proxy= hg clone http://localhost:$HGPORT/foo copy2 2>&1; echo $?; } | \
+http_proxy= hg clone http://localhost:$HGPORT/foo copy2 2>&1 | \
     sed -e 's/404.*/404/' -e 's/Date:.*/Date:/'
@@ -27,3 +27,4 @@
     sed -e 's/404.*/404/' -e 's/Date:.*/Date:/'
+echo $?
 
 kill $!
diff --git a/tests/test-bad-pull.out b/tests/test-bad-pull.out
index 490e40816cbd46c18fc7d654420bc00523487cf7_dGVzdHMvdGVzdC1iYWQtcHVsbC5vdXQ=..3e620696757084d66154bdf1cf9a7d0eb40248cd_dGVzdHMvdGVzdC1iYWQtcHVsbC5vdXQ= 100644
--- a/tests/test-bad-pull.out
+++ b/tests/test-bad-pull.out
@@ -1,4 +1,4 @@
-abort: error:
+abort: error: Connection refused
 255
 copy: No such file or directory
 abort: HTTP Error 404
@@ -2,4 +2,4 @@
 255
 copy: No such file or directory
 abort: HTTP Error 404
-255
+0
diff --git a/tests/test-http-proxy b/tests/test-http-proxy
index 490e40816cbd46c18fc7d654420bc00523487cf7_dGVzdHMvdGVzdC1odHRwLXByb3h5..3e620696757084d66154bdf1cf9a7d0eb40248cd_dGVzdHMvdGVzdC1odHRwLXByb3h5 100755
--- a/tests/test-http-proxy
+++ b/tests/test-http-proxy
@@ -36,8 +36,7 @@
 http_proxy=http://user:passwd@localhost:$HGPORT1 hg clone --config http_proxy.always=True http://user:passwd@localhost:$HGPORT/ e
 
 echo %% bad host:port for proxy
-http_proxy=localhost:$HGPORT2 hg clone --config http_proxy.always=True http://localhost:$HGPORT/ f 2>&1 | \
-	sed 's/error:.*/error:/'
+http_proxy=localhost:$HGPORT2 hg clone --config http_proxy.always=True http://localhost:$HGPORT/ f
 
 echo %% do not use the proxy if it is in the no list
 http_proxy=localhost:$HGPORT1 hg clone --config http_proxy.no=localhost http://localhost:$HGPORT/ g
diff --git a/tests/test-http-proxy.out b/tests/test-http-proxy.out
index 490e40816cbd46c18fc7d654420bc00523487cf7_dGVzdHMvdGVzdC1odHRwLXByb3h5Lm91dA==..3e620696757084d66154bdf1cf9a7d0eb40248cd_dGVzdHMvdGVzdC1odHRwLXByb3h5Lm91dA== 100644
--- a/tests/test-http-proxy.out
+++ b/tests/test-http-proxy.out
@@ -48,7 +48,7 @@
 updating working directory
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 %% bad host:port for proxy
-abort: error:
+abort: error: Connection refused
 %% do not use the proxy if it is in the no list
 requesting all changes
 adding changesets
diff --git a/tests/test-static-http b/tests/test-static-http
index 490e40816cbd46c18fc7d654420bc00523487cf7_dGVzdHMvdGVzdC1zdGF0aWMtaHR0cA==..3e620696757084d66154bdf1cf9a7d0eb40248cd_dGVzdHMvdGVzdC1zdGF0aWMtaHR0cA== 100755
--- a/tests/test-static-http
+++ b/tests/test-static-http
@@ -2,8 +2,8 @@
 
 cp "$TESTDIR"/printenv.py .
 
-{ http_proxy= hg clone http://localhost:$HGPORT/ copy 2>&1; echo $?; } | \
-	sed 's/error:.*/error:/'
+http_proxy= hg clone http://localhost:$HGPORT/ copy
+echo $?
 test -d copy || echo copy: No such file or directory
 
 # This server doesn't do range requests so it's basically only good for
diff --git a/tests/test-static-http.out b/tests/test-static-http.out
index 490e40816cbd46c18fc7d654420bc00523487cf7_dGVzdHMvdGVzdC1zdGF0aWMtaHR0cC5vdXQ=..3e620696757084d66154bdf1cf9a7d0eb40248cd_dGVzdHMvdGVzdC1zdGF0aWMtaHR0cC5vdXQ= 100644
--- a/tests/test-static-http.out
+++ b/tests/test-static-http.out
@@ -1,4 +1,4 @@
-abort: error:
+abort: error: Connection refused
 255
 copy: No such file or directory
 changeset:   0:53e17d176ae6