4141
4242tmppath_result_key = StashKey [Dict [str , bool ]]()
4343
44+ TMPDIR_FILE_MODE = int (os .getenv ("PYTEST_TMPDIR_FILE_MODE" , "0o700" ), 8 )
45+
4446
4547@final
4648@dataclasses .dataclass
@@ -136,9 +138,11 @@ def mktemp(self, basename: str, numbered: bool = True) -> Path:
136138 basename = self ._ensure_relative_to_basetemp (basename )
137139 if not numbered :
138140 p = self .getbasetemp ().joinpath (basename )
139- p .mkdir (mode = 0o700 )
141+ p .mkdir (mode = TMPDIR_FILE_MODE )
140142 else :
141- p = make_numbered_dir (root = self .getbasetemp (), prefix = basename , mode = 0o700 )
143+ p = make_numbered_dir (
144+ root = self .getbasetemp (), prefix = basename , mode = TMPDIR_FILE_MODE
145+ )
142146 self ._trace ("mktemp" , p )
143147 return p
144148
@@ -155,7 +159,7 @@ def getbasetemp(self) -> Path:
155159 basetemp = self ._given_basetemp
156160 if basetemp .exists ():
157161 rm_rf (basetemp )
158- basetemp .mkdir (mode = 0o700 )
162+ basetemp .mkdir (mode = TMPDIR_FILE_MODE )
159163 basetemp = basetemp .resolve ()
160164 else :
161165 from_env = os .environ .get ("PYTEST_DEBUG_TEMPROOT" )
@@ -165,11 +169,11 @@ def getbasetemp(self) -> Path:
165169 # make_numbered_dir() call
166170 rootdir = temproot .joinpath (f"pytest-of-{ user } " )
167171 try :
168- rootdir .mkdir (mode = 0o700 , exist_ok = True )
172+ rootdir .mkdir (mode = TMPDIR_FILE_MODE , exist_ok = True )
169173 except OSError :
170174 # getuser() likely returned illegal characters for the platform, use unknown back off mechanism
171175 rootdir = temproot .joinpath ("pytest-of-unknown" )
172- rootdir .mkdir (mode = 0o700 , exist_ok = True )
176+ rootdir .mkdir (mode = TMPDIR_FILE_MODE , exist_ok = True )
173177 # Because we use exist_ok=True with a predictable name, make sure
174178 # we are the owners, to prevent any funny business (on unix, where
175179 # temproot is usually shared).
@@ -197,7 +201,7 @@ def getbasetemp(self) -> Path:
197201 root = rootdir ,
198202 keep = keep ,
199203 lock_timeout = LOCK_TIMEOUT ,
200- mode = 0o700 ,
204+ mode = TMPDIR_FILE_MODE ,
201205 )
202206 assert basetemp is not None , basetemp
203207 self ._basetemp = basetemp
0 commit comments