From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 10 Apr 2025 15:15:58 +0000 (+0200) Subject: [3.13] gh-132316: Require `socket` and `GITHUB_TOKEN` env to use `GitHubArtifactDatab... X-Git-Tag: v3.13.4~298 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2b61f6ac3960606a09d9ebeeeb82a9c74583d1b7;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-132316: Require `socket` and `GITHUB_TOKEN` env to use `GitHubArtifactDatabase` (GH-132348) (#132367) gh-132316: Require `socket` and `GITHUB_TOKEN` env to use `GitHubArtifactDatabase` (GH-132348) (cherry picked from commit fcf2d07228ada64bc864380cd8e3e304d9768caa) Co-authored-by: sobolevn Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- diff --git a/Lib/test/support/hypothesis_helper.py b/Lib/test/support/hypothesis_helper.py index 40f58a2f59c6..a99a4963ffec 100644 --- a/Lib/test/support/hypothesis_helper.py +++ b/Lib/test/support/hypothesis_helper.py @@ -7,7 +7,8 @@ except ImportError: else: # Regrtest changes to use a tempdir as the working directory, so we have # to tell Hypothesis to use the original in order to persist the database. - from .os_helper import SAVEDCWD + from test.support import has_socket_support + from test.support.os_helper import SAVEDCWD from hypothesis.configuration import set_hypothesis_home_dir set_hypothesis_home_dir(os.path.join(SAVEDCWD, ".hypothesis")) @@ -28,7 +29,14 @@ else: # of failing examples, and also use a pull-through cache to automatically # replay any failing examples discovered in CI. For details on how this # works, see https://hypothesis.readthedocs.io/en/latest/database.html - if "CI" not in os.environ: + # We only do that if a GITHUB_TOKEN env var is provided, see: + # https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens + # And Python is built with socket support: + if ( + has_socket_support + and "CI" not in os.environ + and "GITHUB_TOKEN" in os.environ + ): from hypothesis.database import ( GitHubArtifactDatabase, MultiplexedDatabase,