1 #include <darwintest.h>
3 #include <System/sys/proc_uuid_policy.h>
6 T_GLOBAL_META(T_META_RUN_CONCURRENTLY(true));
8 #define NUM_PROC_UUID_POLICY_FLAGS 4
10 T_DECL(proc_uuid_policy_26567533
, "Tests passing a NULL uuid in (uap->uuid).", T_META_LTEPHASE(LTE_POSTINIT
))
14 memset(null_uuid
, 0, sizeof(uuid_t
));
16 uint32_t policy_flags
[] = {
17 PROC_UUID_POLICY_FLAGS_NONE
,
18 PROC_UUID_NO_CELLULAR
,
19 PROC_UUID_NECP_APP_POLICY
,
20 PROC_UUID_ALT_DYLD_POLICY
23 for (i
= 0; i
< NUM_PROC_UUID_POLICY_FLAGS
; i
++) {
24 T_LOG("Testing policy add with flag value 0x%x", policy_flags
[i
]);
26 /* Since UUID is null, this call should fail with errno = EINVAL. */
27 ret
= proc_uuid_policy(PROC_UUID_POLICY_OPERATION_ADD
, null_uuid
, sizeof(uuid_t
), policy_flags
[i
]);
29 T_ASSERT_TRUE(ret
== -1, "proc_uuid_policy returned %d", ret
);
31 T_ASSERT_TRUE(errno
= EINVAL
, "errno is %d", errno
);
34 for (i
= 0; i
< NUM_PROC_UUID_POLICY_FLAGS
; i
++) {
35 T_LOG("Testing policy remove with flag value 0x%x", policy_flags
[i
]);
37 /* Since UUID is null, this call should fail with errno = EINVAL. */
38 ret
= proc_uuid_policy(PROC_UUID_POLICY_OPERATION_REMOVE
, null_uuid
, sizeof(uuid_t
), policy_flags
[i
]);
40 T_ASSERT_TRUE(ret
== -1, "proc_uuid_policy returned %d", ret
);
42 T_ASSERT_TRUE(errno
= EINVAL
, "errno is %d", errno
);