tests: respect RLIMIT_CORE hard limit

In the case that the RLIMIT_CORE hard limit cannot
be raised on a system, do not fail due to an exception.
Instead, attempt to increase the soft limit to as large
a value as possible (e.g. to the set hard limit).

Signed-off-by: Liam Brady <lbrady@labn.net>
This commit is contained in:
Liam Brady 2024-10-29 08:50:17 -04:00
parent e42dd44123
commit b4dc01b3de

View File

@ -522,9 +522,14 @@ def pytest_configure(config):
is_xdist = True
is_worker = True
resource.setrlimit(
resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)
)
try:
resource.setrlimit(
resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)
)
except ValueError:
# The hard limit cannot be raised. Raise the soft limit to previous hard limit
core_rlimits = resource.getrlimit(resource.RLIMIT_CORE)
resource.setrlimit(resource.RLIMIT_CORE, (core_rlimits[1], core_rlimits[1]))
# -----------------------------------------------------
# Set some defaults for the pytest.ini [pytest] section
# ---------------------------------------------------