xref: /xnu-8020.140.41/tests/hazard.c (revision 27b03b360a988dfd3dfdf34262bb0042026747cc)
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_lck_ticket_allow_invalid, "hw_lck_ticket_allow_invalid",
27     T_META_NAMESPACE("xnu.sync"),
28     T_META_CHECK_LEAKS(false))
29 {
30 	T_EXPECT_EQ(1ll, run_sysctl_test("hw_lck_ticket_allow_invalid", 0), "test succeeded");
31 }
32