From 09a7e32b99a3e09f46eac472615ca926e48360fb Mon Sep 17 00:00:00 2001 From: Zac Hatfield-Dodds Date: Wed, 29 May 2024 05:13:18 -0700 Subject: [PATCH] CI: set correct working directory for Hypothesis cache (GH-119345) Set cwd for Hypothesis database (cherry picked from commit 055c739536ad63b55ad7cd0b91ccacc33064fe11) Co-authored-by: Zac Hatfield-Dodds --- .github/workflows/build.yml | 4 ++-- Lib/test/support/hypothesis_helper.py | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c54d94faff2314..1ebea972c263f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -444,7 +444,7 @@ jobs: id: cache-hypothesis-database uses: actions/cache@v4 with: - path: ./hypothesis + path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/ key: hypothesis-database-${{ github.head_ref || github.run_id }} restore-keys: | hypothesis-database- @@ -472,7 +472,7 @@ jobs: if: always() with: name: hypothesis-example-db - path: .hypothesis/examples/ + path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/examples/ build-asan: name: 'Address sanitizer' diff --git a/Lib/test/support/hypothesis_helper.py b/Lib/test/support/hypothesis_helper.py index db93eea5e912e0..40f58a2f59c6c3 100644 --- a/Lib/test/support/hypothesis_helper.py +++ b/Lib/test/support/hypothesis_helper.py @@ -5,6 +5,13 @@ except ImportError: from . import _hypothesis_stubs as hypothesis 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 hypothesis.configuration import set_hypothesis_home_dir + + set_hypothesis_home_dir(os.path.join(SAVEDCWD, ".hypothesis")) + # When using the real Hypothesis, we'll configure it to ignore occasional # slow tests (avoiding flakiness from random VM slowness in CI). hypothesis.settings.register_profile(