From: Stefano Rivera <stefanor@debian.org>
Date: Sat, 13 May 2023 15:57:13 -0400
Subject: Tests: Skip AppTestSocket tests that connect to the Internet

In my firewalled test environment, connection attempts to the Internet
will result in a ConnectionRefusedError.

Forwarded: https://foss.heptapod.net/pypy/pypy/-/commit/f0ebf12603f78089060027d9bfa4d7b6d2bf3f83
---
 pypy/module/_socket/test/test_sock_app.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/pypy/module/_socket/test/test_sock_app.py b/pypy/module/_socket/test/test_sock_app.py
index 6c5a402..c72727a 100644
--- a/pypy/module/_socket/test/test_sock_app.py
+++ b/pypy/module/_socket/test/test_sock_app.py
@@ -461,6 +461,8 @@ class AppTestSocket:
             s.connect(("www.python.org", 80))
         except _socket.gaierror as ex:
             skip("GAIError - probably no connection: %s" % str(ex.args))
+        except ConnectionRefusedError as ex:
+            skip("Connection Refused - probably no connection: %s" % str(ex.args))
         name = s.getpeername() # Will raise socket.error if not connected
         assert name[1] == 80
         s.close()
@@ -676,6 +678,8 @@ class AppTestSocket:
             s.connect(("www.python.org", 80))
         except _socket.gaierror as ex:
             skip("GAIError - probably no connection: %s" % str(ex.args))
+        except ConnectionRefusedError as ex:
+            skip("Connection Refused - probably no connection: %s" % str(ex.args))
         exc = raises(TypeError, s.send, None)
         assert str(exc.value).startswith("a bytes-like object is required,")
         assert s.send(memoryview(b'')) == 0
@@ -803,7 +807,12 @@ class AppTestSocket:
         _socket.gethostbyname_ex(domain)
         _socket.getaddrinfo(domain, 0, _socket.AF_UNSPEC, _socket.SOCK_STREAM)
         s = _socket.socket(_socket.AF_INET, _socket.SOCK_STREAM)
-        s.connect((domain, 80))
+        try:
+            s.connect((domain, 80))
+        except _socket.gaierror as ex:
+            skip("GAIError - probably no connection: %s" % str(ex.args))
+        except ConnectionRefusedError as ex:
+            skip("Connection Refused - probably no connection: %s" % str(ex.args))
         s.close()
         raises(TypeError, s.connect, (domain + '\x00', 80))
 
