tests: Add support for getting corefile patterns on FreeBSD 63/40563/3
authorTom Jones <thj@freebsd.org>
Wed, 7 Feb 2024 13:29:51 +0000 (13:29 +0000)
committerOle Tr�an <otroan@employees.org>
Tue, 26 Mar 2024 15:15:02 +0000 (15:15 +0000)
Type: improvement
Change-Id: I960edc05a9a77eb55f67cb1ec01d2b3122298ef8
Signed-off-by: Tom Jones <thj@freebsd.org>
test/requirements.txt
test/util.py

index beb338d..c01d311 100644 (file)
@@ -23,3 +23,4 @@ dataclasses; python_version == '3.6'    # Apache-2.0
 black                                   # MIT https://github.com/psf/black
 pycryptodome                            # BSD, Public Domain
 sh                                      # MIT https://github.com/amoffat/sh
+sysctl; platform_system == "FreeBSD"   # BSD
index 8e4c907..59957a7 100644 (file)
@@ -5,6 +5,7 @@ import logging
 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 is_core_present(tempdir):
 
 
 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