14 static void test_uwrap_setuid(void **state)
19 uid_t cp_ruid, cp_euid, cp_suid;
22 (void) state; /* unused */
25 cp_ruid = cp_euid = cp_suid = -1;
26 rc = getresuid(&cp_ruid, &cp_euid, &cp_suid);
27 assert_return_code(rc, errno);
28 assert_int_equal(cp_ruid, 0);
29 assert_int_equal(cp_euid, 0);
30 assert_int_equal(cp_suid, 0);
34 /* BSD sets 0xFFFFFF as the UID number in this case */
36 assert_int_equal(rc, -1);
37 assert_int_equal(errno, EINVAL);
41 assert_int_equal(u, 0x0);
44 cp_ruid = cp_euid = cp_suid = -1;
45 rc = getresuid(&cp_ruid, &cp_euid, &cp_suid);
46 assert_return_code(rc, errno);
47 assert_int_equal(cp_ruid, 0);
48 assert_int_equal(cp_euid, 0);
49 assert_int_equal(cp_suid, 0);
53 assert_int_equal(rc, 0);
56 cp_ruid = cp_euid = cp_suid = -1;
57 rc = getresuid(&cp_ruid, &cp_euid, &cp_suid);
58 assert_return_code(rc, errno);
59 assert_int_equal(cp_ruid, 0x5555);
60 assert_int_equal(cp_euid, 0x5555);
61 assert_int_equal(cp_suid, 0x5555);
65 assert_int_equal(u, 0x5555);
68 assert_int_equal(u, 0x5555);
71 assert_int_equal(rc, -1);
72 assert_int_equal(errno, EPERM);
78 const struct CMUnitTest uwrap_tests[] = {
79 cmocka_unit_test(test_uwrap_setuid),
82 rc = cmocka_run_group_tests(uwrap_tests, NULL, NULL);