#include <sys/types.h>
#include <unistd.h>
+#include <errno.h>
#include <pwd.h>
-#ifdef HAVE_GETRESUID
static void test_uwrap_getresuid(void **state)
{
int rc;
- uid_t ru, eu, su;
+ uid_t u, ru, eu, su;
(void) state; /* unused */
- rc = setresuid(1, 2, -1);
- assert_int_equal(rc, 0);
+ rc = setresuid(0x4444, 0x5555, -1);
+ assert_return_code(rc, errno);
- ru = getuid();
- assert_int_equal(ru, 1);
+ u = getuid();
+ assert_int_equal(u, 0x4444);
- eu = geteuid();
- assert_int_equal(eu, 2);
+ u = geteuid();
+ assert_int_equal(u, 0x5555);
rc = getresuid(&ru, &eu, &su);
- assert_int_equal(ru, 1);
- assert_int_equal(eu, 2);
+ assert_return_code(rc, errno);
+
+ assert_int_equal(ru, 0x4444);
+ assert_int_equal(eu, 0x5555);
+ assert_int_equal(su, 0);
}
-#endif
int main(void) {
int rc;
const struct CMUnitTest uwrap_tests[] = {
-#ifdef HAVE_GETRESUID
cmocka_unit_test(test_uwrap_getresuid),
-#endif
};
rc = cmocka_run_group_tests(uwrap_tests, NULL, NULL);