aboutsummaryrefslogtreecommitdiff
path: root/atf-run
diff options
context:
space:
mode:
Diffstat (limited to 'atf-run')
-rw-r--r--atf-run/requirements.cpp11
-rw-r--r--atf-run/requirements_test.cpp2
2 files changed, 11 insertions, 2 deletions
diff --git a/atf-run/requirements.cpp b/atf-run/requirements.cpp
index 75537d5ea52b..2a8258dcc8fe 100644
--- a/atf-run/requirements.cpp
+++ b/atf-run/requirements.cpp
@@ -148,7 +148,7 @@ check_machine(const std::string& machines)
return "Requires one of the '" + machines + "' machine types";
}
-#if defined(__APPLE__) || defined(__NetBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
static
std::string
check_memory_sysctl(const int64_t needed, const char* sysctl_variable)
@@ -174,6 +174,13 @@ check_memory_darwin(const int64_t needed)
{
return check_memory_sysctl(needed, "hw.usermem");
}
+# elif defined(__FreeBSD__)
+static
+std::string
+check_memory_freebsd(const int64_t needed)
+{
+ return check_memory_sysctl(needed, "hw.usermem");
+}
# elif defined(__NetBSD__)
static
std::string
@@ -201,6 +208,8 @@ check_memory(const std::string& raw_memory)
#if defined(__APPLE__)
return check_memory_darwin(needed);
+#elif defined(__FreeBSD__)
+ return check_memory_freebsd(needed);
#elif defined(__NetBSD__)
return check_memory_netbsd(needed);
#else
diff --git a/atf-run/requirements_test.cpp b/atf-run/requirements_test.cpp
index ef72b411d905..203734342095 100644
--- a/atf-run/requirements_test.cpp
+++ b/atf-run/requirements_test.cpp
@@ -239,7 +239,7 @@ ATF_TEST_CASE_WITHOUT_HEAD(require_memory_not_enough);
ATF_TEST_CASE_BODY(require_memory_not_enough) {
atf::tests::vars_map metadata;
metadata["require.memory"] = "128t";
-#if defined(__APPLE__) || defined(__NetBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
do_check("Not enough memory; needed 140737488355328, available [0-9]*",
metadata);
#else