diff --git a/tests/common-pattern.py b/tests/common-pattern.py
index b33d4cf38666a489210a666791bb683e8ccb5c8b_dGVzdHMvY29tbW9uLXBhdHRlcm4ucHk=..a037b6647d8c3132433f7ec8f12580c75151ab3c_dGVzdHMvY29tbW9uLXBhdHRlcm4ucHk= 100644
--- a/tests/common-pattern.py
+++ b/tests/common-pattern.py
@@ -54,6 +54,13 @@
         # FormatMessage(ERROR_PATH_NOT_FOUND)
         br'The system cannot find the path specified',
     ),
+    br'$ECONNRESET$': (
+        # strerror()
+        br'Connection reset by peer',
+
+        # FormatMessage(WSAECONNRESET)
+        br'An existing connection was forcibly closed by the remote host',
+    ),
 }
 
 for replace, msgs in _errors.items():
diff --git a/tests/test-http-bad-server.t b/tests/test-http-bad-server.t
index b33d4cf38666a489210a666791bb683e8ccb5c8b_dGVzdHMvdGVzdC1odHRwLWJhZC1zZXJ2ZXIudA==..a037b6647d8c3132433f7ec8f12580c75151ab3c_dGVzdHMvdGVzdC1odHRwLWJhZC1zZXJ2ZXIudA== 100644
--- a/tests/test-http-bad-server.t
+++ b/tests/test-http-bad-server.t
@@ -36,8 +36,7 @@
   $ cat hg.pid > $DAEMON_PIDS
 
   $ hg clone http://localhost:$HGPORT/ clone
-  abort: error: Connection reset by peer (no-windows !)
-  abort: error: An existing connection was forcibly closed by the remote host (windows !)
+  abort: error: $ECONNRESET$
   [255]
 
 (The server exits on its own, but there is a race between that and starting a new server.
@@ -54,8 +53,7 @@
 error: '' on FreeBSD and OS X.
 What we ideally want are:
 
-abort: error: Connection reset by peer (no-windows !)
-abort: error: An existing connection was forcibly closed by the remote host (windows !)
+abort: error: $ECONNRESET$
 
 The flakiness in this output was observable easily with
 --runs-per-test=20 on macOS 10.12 during the freeze for 4.2.