There was an error while loading. Please reload this page.
1 parent a21a4f4 commit d4a9ff4Copy full SHA for d4a9ff4
2 files changed
pre_commit/languages/docker.py
@@ -14,8 +14,6 @@
14
15
ENVIRONMENT_DIR = 'docker'
16
PRE_COMMIT_LABEL = 'PRE_COMMIT'
17
-FALLBACK_UID = 1000
18
-FALLBACK_GID = 1000
19
get_default_version = helpers.basic_get_default_version
20
healthy = helpers.basic_healthy
21
@@ -75,25 +73,18 @@ def install_environment(
75
73
os.mkdir(directory)
76
74
77
78
-def getuid(): # pragma: windows no cover
+def get_docker_user(): # pragma: windows no cover
79
try:
80
- return os.getuid()
+ return '{}:{}'.format(os.getuid(), os.getgid())
81
except AttributeError:
82
- return FALLBACK_UID
83
-
84
85
-def getgid(): # pragma: windows no cover
86
- try:
87
- return os.getgid()
88
- except AttributeError:
89
- return FALLBACK_GID
+ return '1000:1000'
90
91
92
def docker_cmd(): # pragma: windows no cover
93
return (
94
'docker', 'run',
95
'--rm',
96
- '-u', '{}:{}'.format(getuid(), getgid()),
+ '-u', get_docker_user(),
97
# https://docs.docker.com/engine/reference/commandline/run/#mount-volumes-from-container-volumes-from
98
# The `Z` option tells Docker to label the content with a private
99
# unshared label. Only the current container can use a private volume.
tests/languages/docker_test.py
@@ -15,15 +15,12 @@ def test_docker_is_running_process_error():
assert docker.docker_is_running() is False
-def test_docker_fallback_uid():
+def test_docker_fallback_user():
def invalid_attribute():
raise AttributeError
- with mock.patch('os.getuid', invalid_attribute, create=True):
22
- assert docker.getuid() == docker.FALLBACK_UID
23
24
25
-def test_docker_fallback_gid():
26
- def invalid_attribute():
27
- raise AttributeError
28
- with mock.patch('os.getgid', invalid_attribute, create=True):
29
- assert docker.getgid() == docker.FALLBACK_GID
+ with mock.patch.multiple(
+ 'os', create=True,
+ getuid=invalid_attribute,
+ getgid=invalid_attribute,
+ ):
+ assert docker.get_docker_user() == '1000:1000'
0 commit comments