Index: sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
diff --git a/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc b/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
index e277f869aab8cdb31f6ccbb796e66e202602df91..3bc1eaa5b75a6551f3468ba51eeb2d0558820081 100644 |
--- a/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
+++ b/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
@@ -93,12 +93,32 @@ SANDBOX_TEST(SyscallIterator, InvalidSyscalls) { |
} |
} |
+SANDBOX_TEST(SyscallIterator, ValidOnlyIsOnlyValid) { |
+ for (uint32_t sysnum : SyscallSet::ValidOnly()) { |
+ SANDBOX_ASSERT(SyscallSet::IsValid(sysnum)); |
+ } |
+} |
+ |
SANDBOX_TEST(SyscallIterator, InvalidOnlyIsOnlyInvalid) { |
for (uint32_t sysnum : SyscallSet::InvalidOnly()) { |
SANDBOX_ASSERT(!SyscallSet::IsValid(sysnum)); |
} |
} |
+SANDBOX_TEST(SyscallIterator, AllIsValidOnlyPlusInvalidOnly) { |
+ std::vector<uint32_t> merged; |
+ const SyscallSet valid_only = SyscallSet::ValidOnly(); |
+ const SyscallSet invalid_only = SyscallSet::InvalidOnly(); |
+ std::merge(valid_only.begin(), |
+ valid_only.end(), |
+ invalid_only.begin(), |
+ invalid_only.end(), |
+ std::back_inserter(merged)); |
+ |
+ const SyscallSet all = SyscallSet::All(); |
+ SANDBOX_ASSERT(merged == std::vector<uint32_t>(all.begin(), all.end())); |
+} |
+ |
} // namespace |
} // namespace sandbox |