Index: sandbox/linux/seccomp-bpf/trap_unittest.cc |
diff --git a/sandbox/linux/seccomp-bpf/trap_unittest.cc b/sandbox/linux/seccomp-bpf/trap_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..99f94bfb3a499e603b1b5dbd3db845261886cf92 |
--- /dev/null |
+++ b/sandbox/linux/seccomp-bpf/trap_unittest.cc |
@@ -0,0 +1,28 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "sandbox/linux/seccomp-bpf/trap.h" |
+ |
+#include <signal.h> |
+ |
+#include "sandbox/linux/tests/unit_tests.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace sandbox { |
+namespace { |
+ |
+SANDBOX_TEST_ALLOW_NOISE(Trap, SigSysAction) { |
+ // This creates a global Trap instance, and registers the signal handler |
+ // (Trap::SigSysAction). |
+ Trap::Registry(); |
+ |
+ // Send SIGSYS to self. If signal handler (SigSysAction) is not registered, |
+ // the process will be terminated with status code -SIGSYS. |
+ // Note that, SigSysAction handler would output an error message |
+ // "Unexpected SIGSYS received." so it is necessary to allow the noise. |
+ raise(SIGSYS); |
+} |
+ |
+} // namespace |
+} // namespace sandbox |