mirror of https://github.com/mongodb/mongo
40 lines
972 B
Python
40 lines
972 B
Python
"""Filesystem-related helper functions."""
|
|
|
|
import os
|
|
import tempfile
|
|
|
|
|
|
def mkdtemp_in_build_dir():
|
|
"""Use build/ as the temp directory since it's mapped to an EBS volume on Evergreen hosts."""
|
|
build_tmp_dir = os.path.join("build", "tmp")
|
|
os.makedirs(build_tmp_dir, exist_ok=True)
|
|
|
|
return tempfile.mkdtemp(dir=build_tmp_dir)
|
|
|
|
|
|
def remove_if_exists(path):
|
|
"""Remove path if it exists."""
|
|
try:
|
|
os.remove(path)
|
|
except OSError:
|
|
pass
|
|
|
|
|
|
def is_yaml_file(filename: str) -> bool:
|
|
"""Return true if 'filename' ends in .yml or .yaml, and false otherwise."""
|
|
return os.path.splitext(filename)[1] in (".yaml", ".yml")
|
|
|
|
|
|
def build_hygienic_bin_path(parent=None, child=None):
|
|
"""Get the hygienic bin directory, optionally from `parent` and with `child`."""
|
|
pjoin = os.path.join
|
|
res = pjoin("dist-test", "bin")
|
|
|
|
if parent:
|
|
res = pjoin(parent, res)
|
|
|
|
if child:
|
|
res = pjoin(res, child)
|
|
|
|
return res
|