diff --git a/CHANGES.md b/CHANGES.md index ffc63b3287d..fe4b621a3e5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -24,6 +24,8 @@ +- Fix cache versioning logic when `BLACK_CACHE_DIR` is set (#3937) + ### Packaging diff --git a/src/black/cache.py b/src/black/cache.py index 77f66cc34a9..f7dc64c0bca 100644 --- a/src/black/cache.py +++ b/src/black/cache.py @@ -36,8 +36,9 @@ def get_cache_dir() -> Path: repeated calls. """ # NOTE: Function mostly exists as a clean way to test getting the cache directory. - default_cache_dir = user_cache_dir("black", version=__version__) + default_cache_dir = user_cache_dir("black") cache_dir = Path(os.environ.get("BLACK_CACHE_DIR", default_cache_dir)) + cache_dir = cache_dir / __version__ return cache_dir diff --git a/tests/test_black.py b/tests/test_black.py index c665eee3a6c..f5627f9803e 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -1961,11 +1961,11 @@ def test_get_cache_dir( # If BLACK_CACHE_DIR is not set, use user_cache_dir monkeypatch.delenv("BLACK_CACHE_DIR", raising=False) with patch_user_cache_dir: - assert get_cache_dir() == workspace1 + assert get_cache_dir().parent == workspace1 # If it is set, use the path provided in the env var. monkeypatch.setenv("BLACK_CACHE_DIR", str(workspace2)) - assert get_cache_dir() == workspace2 + assert get_cache_dir().parent == workspace2 def test_cache_broken_file(self) -> None: mode = DEFAULT_MODE