From: Benjamin Drung Date: Mon, 16 May 2022 10:59:58 +0000 (+0200) Subject: Allow skipping test cases that need Internet access X-Git-Tag: v2.3.0rc1~72^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F808%2Fhead;p=thirdparty%2Fdnspython.git Allow skipping test cases that need Internet access Support skipping all test cases that access the Internet by setting the environment variable `NO_INTERNET`. This is useful to make the test run reproducible and robust for future runs (to avoid breaking in case some random service on the Internet changes). Signed-off-by: Benjamin Drung --- diff --git a/tests/util.py b/tests/util.py index c8f9704b..ffce722d 100644 --- a/tests/util.py +++ b/tests/util.py @@ -17,7 +17,7 @@ import enum import inspect -import os.path +import os import socket # Cache for is_internet_reachable() @@ -31,15 +31,19 @@ def here(filename): def is_internet_reachable(): """Check if the Internet is reachable. - The result is cached. + Setting the environment variable `NO_INTERNET` will let this + function always return False. The result is cached. """ global _internet_reachable if _internet_reachable is None: - try: - socket.gethostbyname("dnspython.org") - _internet_reachable = True - except socket.gaierror: + if os.environ.get("NO_INTERNET"): _internet_reachable = False + else: + try: + socket.gethostbyname("dnspython.org") + _internet_reachable = True + except socket.gaierror: + _internet_reachable = False return _internet_reachable