14 static void test_uwrap_seteuid(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);
33 assert_int_equal(u, 0x0);
37 assert_int_equal(rc, -1);
38 assert_int_equal(errno, EINVAL);
41 assert_int_equal(u, 0x0);
44 assert_return_code(rc, errno);
47 cp_ruid = cp_euid = cp_suid = -1;
48 rc = getresuid(&cp_ruid, &cp_euid, &cp_suid);
49 assert_return_code(rc, errno);
50 assert_int_equal(cp_ruid, 0);
51 assert_int_equal(cp_euid, 0x4444);
52 assert_int_equal(cp_suid, 0);
56 assert_int_equal(u, 0x4444);
59 * The euid needs to be 0 in order to change to an
60 * unknown value (here 0x5555).
63 assert_int_equal(rc, -1);
64 assert_int_equal(errno, EPERM);
67 cp_ruid = cp_euid = cp_suid = -1;
68 rc = getresuid(&cp_ruid, &cp_euid, &cp_suid);
69 assert_return_code(rc, errno);
70 assert_int_equal(cp_ruid, 0);
71 assert_int_equal(cp_euid, 0x4444);
72 assert_int_equal(cp_suid, 0);
76 assert_int_equal(u, 0x4444);
79 assert_int_equal(rc, 0);
82 cp_ruid = cp_euid = cp_suid = -1;
83 rc = getresuid(&cp_ruid, &cp_euid, &cp_suid);
84 assert_return_code(rc, errno);
85 assert_int_equal(cp_ruid, 0);
86 assert_int_equal(cp_euid, 0);
87 assert_int_equal(cp_suid, 0);
91 assert_int_equal(u, 0);
94 assert_return_code(rc, errno);
97 cp_ruid = cp_euid = cp_suid = -1;
98 rc = getresuid(&cp_ruid, &cp_euid, &cp_suid);
99 assert_return_code(rc, errno);
100 assert_int_equal(cp_ruid, 0);
101 assert_int_equal(cp_euid, 0x5555);
102 assert_int_equal(cp_suid, 0);
106 assert_int_equal(u, 0x5555);
112 const struct CMUnitTest uwrap_tests[] = {
113 cmocka_unit_test(test_uwrap_seteuid),
116 rc = cmocka_run_group_tests(uwrap_tests, NULL, NULL);