1 #include <sys/sysctl.h>
2 #include <darwintest.h>
3 #include <darwintest_utils.h>
4
5 static int64_t
run_sysctl_test(const char * t,int64_t value)6 run_sysctl_test(const char *t, int64_t value)
7 {
8 char name[1024];
9 int64_t result = 0;
10 size_t s = sizeof(value);
11 int rc;
12
13 snprintf(name, sizeof(name), "debug.test.%s", t);
14 rc = sysctlbyname(name, &result, &s, &value, s);
15 T_ASSERT_POSIX_SUCCESS(rc, "sysctlbyname(%s)", t);
16 return result;
17 }
18
19 T_DECL(hazard_basic, "hazard_basic",
20 T_META_NAMESPACE("xnu.sync"),
21 T_META_CHECK_LEAKS(false))
22 {
23 T_EXPECT_EQ(1ll, run_sysctl_test("hazard_basic", 0), "test succeeded");
24 }
25
26 T_DECL(hw_lock_allow_invalid, "hw_lock_allow_invalid",
27 T_META_NAMESPACE("xnu.sync"),
28 T_META_CHECK_LEAKS(false))
29 {
30 T_EXPECT_EQ(1ll, run_sysctl_test("hw_lock_allow_invalid", 0), "test succeeded");
31 }
32
33 T_DECL(hw_lck_ticket_allow_invalid, "hw_lck_ticket_allow_invalid",
34 T_META_NAMESPACE("xnu.sync"),
35 T_META_CHECK_LEAKS(false))
36 {
37 T_EXPECT_EQ(1ll, run_sysctl_test("hw_lck_ticket_allow_invalid", 0), "test succeeded");
38 }
39