Skip to content

Commit 2e0ee5f

Browse files
authored
Merge pull request pre-commit#1572 from rkm/issues/1569-docker-perf
remove docker_is_running check from source
2 parents f1de792 + eb8b48a commit 2e0ee5f

File tree

4 files changed

+11
-31
lines changed

4 files changed

+11
-31
lines changed

pre_commit/languages/docker.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
from pre_commit.hook import Hook
88
from pre_commit.languages import helpers
99
from pre_commit.prefix import Prefix
10-
from pre_commit.util import CalledProcessError
1110
from pre_commit.util import clean_path_on_failure
12-
from pre_commit.util import cmd_output_b
1311

1412
ENVIRONMENT_DIR = 'docker'
1513
PRE_COMMIT_LABEL = 'PRE_COMMIT'
@@ -26,21 +24,6 @@ def docker_tag(prefix: Prefix) -> str: # pragma: win32 no cover
2624
return f'pre-commit-{md5sum}'
2725

2826

29-
def docker_is_running() -> bool: # pragma: win32 no cover
30-
try:
31-
cmd_output_b('docker', 'ps')
32-
except CalledProcessError:
33-
return False
34-
else:
35-
return True
36-
37-
38-
def assert_docker_available() -> None: # pragma: win32 no cover
39-
assert docker_is_running(), (
40-
'Docker is either not running or not configured in this environment'
41-
)
42-
43-
4427
def build_docker_image(
4528
prefix: Prefix,
4629
*,
@@ -63,7 +46,6 @@ def install_environment(
6346
) -> None: # pragma: win32 no cover
6447
helpers.assert_version_default('docker', version)
6548
helpers.assert_no_additional_deps('docker', additional_dependencies)
66-
assert_docker_available()
6749

6850
directory = prefix.path(
6951
helpers.environment_dir(ENVIRONMENT_DIR, C.DEFAULT),
@@ -101,7 +83,6 @@ def run_hook(
10183
file_args: Sequence[str],
10284
color: bool,
10385
) -> Tuple[int, bytes]: # pragma: win32 no cover
104-
assert_docker_available()
10586
# Rebuild the docker image in case it has gone missing, as many people do
10687
# automated cleanup of docker images.
10788
build_docker_image(hook.prefix, pull=False)

pre_commit/languages/docker_image.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
from pre_commit.hook import Hook
55
from pre_commit.languages import helpers
6-
from pre_commit.languages.docker import assert_docker_available
76
from pre_commit.languages.docker import docker_cmd
87

98
ENVIRONMENT_DIR = None
@@ -17,6 +16,5 @@ def run_hook(
1716
file_args: Sequence[str],
1817
color: bool,
1918
) -> Tuple[int, bytes]: # pragma: win32 no cover
20-
assert_docker_available()
2119
cmd = docker_cmd() + hook.cmd
2220
return helpers.run_xargs(hook, cmd, file_args, color=color)

testing/util.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,24 @@
55
import pytest
66

77
from pre_commit import parse_shebang
8-
from pre_commit.languages.docker import docker_is_running
8+
from pre_commit.util import CalledProcessError
99
from pre_commit.util import cmd_output
10+
from pre_commit.util import cmd_output_b
1011
from testing.auto_namedtuple import auto_namedtuple
1112

1213

1314
TESTING_DIR = os.path.abspath(os.path.dirname(__file__))
1415

1516

17+
def docker_is_running() -> bool: # pragma: win32 no cover
18+
try:
19+
cmd_output_b('docker', 'ps')
20+
except CalledProcessError: # pragma: no cover
21+
return False
22+
else:
23+
return True
24+
25+
1626
def get_resource_path(path):
1727
return os.path.join(TESTING_DIR, 'resources', path)
1828

tests/languages/docker_test.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
from unittest import mock
22

33
from pre_commit.languages import docker
4-
from pre_commit.util import CalledProcessError
5-
6-
7-
def test_docker_is_running_process_error():
8-
with mock.patch(
9-
'pre_commit.languages.docker.cmd_output_b',
10-
side_effect=CalledProcessError(1, (), 0, b'', None),
11-
):
12-
assert docker.docker_is_running() is False
134

145

156
def test_docker_fallback_user():

0 commit comments

Comments
 (0)