mongo/buildscripts/resmokelib/utils/filesystem.py

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