| Index: sandbox/linux/services/syscall_wrappers_unittest.cc
|
| diff --git a/sandbox/linux/services/syscall_wrappers_unittest.cc b/sandbox/linux/services/syscall_wrappers_unittest.cc
|
| index a8b48fe586f04677a4add441b47a5dd2f42986d4..1878ff3fe792afb9d5a83b0d7a9558c2ae56080a 100644
|
| --- a/sandbox/linux/services/syscall_wrappers_unittest.cc
|
| +++ b/sandbox/linux/services/syscall_wrappers_unittest.cc
|
| @@ -8,11 +8,13 @@
|
| #include <sys/types.h>
|
| #include <sys/wait.h>
|
| #include <unistd.h>
|
| +#include <cstring>
|
|
|
| #include "base/logging.h"
|
| #include "base/posix/eintr_wrapper.h"
|
| #include "base/third_party/valgrind/valgrind.h"
|
| #include "build/build_config.h"
|
| +#include "sandbox/linux/system_headers/linux_signal.h"
|
| #include "sandbox/linux/tests/test_utils.h"
|
| #include "sandbox/linux/tests/unit_tests.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -60,6 +62,38 @@ TEST(SyscallWrappers, CloneChildSettid) {
|
| EXPECT_EQ(kSuccessExit, WEXITSTATUS(status));
|
| }
|
|
|
| +TEST(SyscallWrappers, GetRESUid) {
|
| + uid_t ruid, euid, suid;
|
| + uid_t sys_ruid, sys_euid, sys_suid;
|
| + ASSERT_EQ(0, getresuid(&ruid, &euid, &suid));
|
| + ASSERT_EQ(0, sys_getresuid(&sys_ruid, &sys_euid, &sys_suid));
|
| + EXPECT_EQ(ruid, sys_ruid);
|
| + EXPECT_EQ(euid, sys_euid);
|
| + EXPECT_EQ(suid, sys_suid);
|
| +}
|
| +
|
| +TEST(SyscallWrappers, GetRESGid) {
|
| + gid_t rgid, egid, sgid;
|
| + gid_t sys_rgid, sys_egid, sys_sgid;
|
| + ASSERT_EQ(0, getresgid(&rgid, &egid, &sgid));
|
| + ASSERT_EQ(0, sys_getresgid(&sys_rgid, &sys_egid, &sys_sgid));
|
| + EXPECT_EQ(rgid, sys_rgid);
|
| + EXPECT_EQ(egid, sys_egid);
|
| + EXPECT_EQ(sgid, sys_sgid);
|
| +}
|
| +
|
| +TEST(SyscallWrappers, LinuxSigSet) {
|
| + sigset_t sigset;
|
| + ASSERT_EQ(0, sigemptyset(&sigset));
|
| + ASSERT_EQ(0, sigaddset(&sigset, LINUX_SIGSEGV));
|
| + ASSERT_EQ(0, sigaddset(&sigset, LINUX_SIGBUS));
|
| + uint64_t linux_sigset = 0;
|
| + std::memcpy(&linux_sigset, &sigset,
|
| + std::min(sizeof(sigset), sizeof(linux_sigset)));
|
| + EXPECT_EQ((1ULL << (LINUX_SIGSEGV - 1)) | (1ULL << (LINUX_SIGBUS - 1)),
|
| + linux_sigset);
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace sandbox
|
|
|