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 6a70beb673bcefe62b0bdd2bb98d741b5b7e4c54..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" |
@@ -80,6 +82,18 @@ TEST(SyscallWrappers, GetRESGid) { |
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 |