tests: Add support for getting corefile patterns on FreeBSD
Type: improvement
Change-Id: I960edc05a9a77eb55f67cb1ec01d2b3122298ef8
Signed-off-by: Tom Jones <thj@freebsd.org>
diff --git a/test/requirements.txt b/test/requirements.txt
index beb338d..c01d311 100644
--- a/test/requirements.txt
+++ b/test/requirements.txt
@@ -23,3 +23,4 @@
black # MIT https://github.com/psf/black
pycryptodome # BSD, Public Domain
sh # MIT https://github.com/amoffat/sh
+sysctl; platform_system == "FreeBSD" # BSD
diff --git a/test/util.py b/test/util.py
index 8e4c907..59957a7 100644
--- a/test/util.py
+++ b/test/util.py
@@ -5,6 +5,7 @@
import socket
from socket import AF_INET6
import os.path
+import platform
from copy import deepcopy
from collections import UserDict
@@ -109,8 +110,13 @@
def get_core_pattern():
- with open("/proc/sys/kernel/core_pattern", "r") as f:
- corefmt = f.read().strip()
+ if platform.uname().system == "FreeBSD":
+ import sysctl
+
+ corefmt = sysctl.filter("kern.corefile")[0].value
+ elif platform.uname().system == "Linux":
+ with open("/proc/sys/kernel/core_pattern", "r") as f:
+ corefmt = f.read().strip()
return corefmt