]>
git.saurik.com Git - apple/xnu.git/blob - tests/xnu_quick_test_getsetpriority.c
1 #include <darwintest.h>
8 T_GLOBAL_META(T_META_NAMESPACE("xnu.quicktest"), T_META_CHECK_LEAKS(false));
10 T_DECL(getpriority_setpriority
, "Tests getpriority and setpriority system calls", T_META_ASROOT(true))
15 /* getpriority returns scheduling priority so -1 is a valid value */
17 my_priority
= getpriority(PRIO_PROCESS
, 0);
20 T_ASSERT_FALSE(my_priority
== -1 && errno
!= 0, "Verify getpriority is successful", NULL
);
22 /* change scheduling priority*/
23 my_new_priority
= (my_priority
== PRIO_MIN
) ? (my_priority
+ 10) : (PRIO_MIN
);
26 T_ASSERT_POSIX_SUCCESS(setpriority(PRIO_PROCESS
, 0, my_new_priority
), "Change scheduling priority", NULL
);
30 my_priority
= getpriority(PRIO_PROCESS
, 0);
32 T_ASSERT_FALSE(my_priority
== -1 && errno
!= 0, "Verify getpriority change is successful", NULL
);
35 T_ASSERT_EQ(my_priority
, my_new_priority
, "Verify setpriority correctly set scheduling priority", NULL
);
37 /* reset scheduling priority */
39 T_ASSERT_POSIX_SUCCESS(setpriority(PRIO_PROCESS
, 0, 0), "Reset scheduling priority", NULL
);