aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2015-10-27 10:20:53 +0100
committerAndreas Schneider <asn@samba.org>2015-10-27 14:55:29 +0100
commit1b9b469db765a9b52fa828053b8b0b801d372755 (patch)
treee9624557b50ad452cd1af96aa540a4300af55c50
parentf3d9e8e0ab9d146a4c76ac87690bbec2e3074bd2 (diff)
downloaduid_wrapper-1b9b469db765a9b52fa828053b8b0b801d372755.tar.gz
uid_wrapper-1b9b469db765a9b52fa828053b8b0b801d372755.tar.xz
uid_wrapper-1b9b469db765a9b52fa828053b8b0b801d372755.zip
tests: Fix test_syscall_setreuid to work with privilege checks
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--tests/test_syscall_setreuid.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/test_syscall_setreuid.c b/tests/test_syscall_setreuid.c
index b40a834..3f5624e 100644
--- a/tests/test_syscall_setreuid.c
+++ b/tests/test_syscall_setreuid.c
@@ -57,6 +57,15 @@ static void test_uwrap_syscall_setreuid(void **state)
rc = syscall(SYS_setreuid, 0x4444, 0x5555);
assert_return_code(rc, errno);
+#ifdef SYS_getresuid
+ cp_ruid = cp_euid = cp_suid = -1;
+ rc = syscall(SYS_getresuid, &cp_ruid, &cp_euid, &cp_suid);
+ assert_return_code(rc, errno);
+ assert_int_equal(cp_ruid, 0x4444);
+ assert_int_equal(cp_euid, 0x5555);
+ assert_int_equal(cp_suid, 0x5555);
+#endif
+
u = getuid();
assert_int_equal(u, 0x4444);
@@ -68,6 +77,16 @@ static void test_uwrap_syscall_setreuid(void **state)
rc = syscall(SYS_setreuid, -1, 0x6666);
assert_int_equal(rc, -1);
+ assert_int_equal(errno, EPERM);
+
+#ifdef SYS_getresuid
+ cp_ruid = cp_euid = cp_suid = -1;
+ rc = syscall(SYS_getresuid, &cp_ruid, &cp_euid, &cp_suid);
+ assert_return_code(rc, errno);
+ assert_int_equal(cp_ruid, 0x4444);
+ assert_int_equal(cp_euid, 0x5555);
+ assert_int_equal(cp_suid, 0x5555);
+#endif
}
int main(void) {