diff --git a/pre_commit/languages/docker.py b/pre_commit/languages/docker.py index 4091492c..11e1d2a9 100644 --- a/pre_commit/languages/docker.py +++ b/pre_commit/languages/docker.py @@ -1,3 +1,4 @@ +import functools import hashlib import os from typing import Sequence @@ -26,6 +27,7 @@ def docker_tag(prefix: Prefix) -> str: # pragma: win32 no cover return f'pre-commit-{md5sum}' +@functools.lru_cache(maxsize=1) def docker_is_running() -> bool: # pragma: win32 no cover try: cmd_output_b('docker', 'ps') diff --git a/tests/languages/docker_test.py b/tests/languages/docker_test.py index b65b2235..48995975 100644 --- a/tests/languages/docker_test.py +++ b/tests/languages/docker_test.py @@ -5,6 +5,7 @@ from pre_commit.util import CalledProcessError def test_docker_is_running_process_error(): + docker.docker_is_running.cache_clear() with mock.patch( 'pre_commit.languages.docker.cmd_output_b', side_effect=CalledProcessError(1, (), 0, b'', None),