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 b01bfc65664906efaddfa6a8c7abbfe469698279..e277f869aab8cdb31f6ccbb796e66e202602df91 100644 |
--- a/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
+++ b/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
@@ -13,18 +13,19 @@ namespace sandbox { |
namespace { |
-const bool kFalseTrue[] = {false, true}; |
+const SyscallSet kSyscallSets[] = { |
+ SyscallSet::All(), |
+ SyscallSet::InvalidOnly(), |
+}; |
SANDBOX_TEST(SyscallIterator, Monotonous) { |
- for (bool invalid_only : kFalseTrue) { |
+ for (const SyscallSet& set : kSyscallSets) { |
uint32_t prev = 0; |
bool have_prev = false; |
- for (SyscallIterator iter(invalid_only); !iter.Done();) { |
- uint32_t sysnum = iter.Next(); |
- |
+ for (uint32_t sysnum : set) { |
if (have_prev) { |
SANDBOX_ASSERT(sysnum > prev); |
- } else if (!invalid_only) { |
+ } else if (set == SyscallSet::All()) { |
// The iterator should start at 0. |
SANDBOX_ASSERT(sysnum == 0); |
} |
@@ -44,8 +45,7 @@ SANDBOX_TEST(SyscallIterator, Monotonous) { |
void AssertRange(uint32_t min, uint32_t max) { |
SANDBOX_ASSERT(min < max); |
uint32_t prev = min - 1; |
- for (SyscallIterator iter(false); !iter.Done();) { |
- uint32_t sysnum = iter.Next(); |
+ for (uint32_t sysnum : SyscallSet::All()) { |
if (sysnum >= min && sysnum <= max) { |
SANDBOX_ASSERT(prev == sysnum - 1); |
prev = sysnum; |
@@ -80,11 +80,10 @@ SANDBOX_TEST(SyscallIterator, InvalidSyscalls) { |
0xFFFFFFFFu, |
}; |
- for (bool invalid_only : kFalseTrue) { |
+ for (const SyscallSet& set : kSyscallSets) { |
size_t i = 0; |
- for (SyscallIterator iter(invalid_only); !iter.Done();) { |
- uint32_t sysnum = iter.Next(); |
- if (!SyscallIterator::IsValid(sysnum)) { |
+ for (uint32_t sysnum : set) { |
+ if (!SyscallSet::IsValid(sysnum)) { |
SANDBOX_ASSERT(i < arraysize(kExpected)); |
SANDBOX_ASSERT(kExpected[i] == sysnum); |
++i; |
@@ -94,6 +93,12 @@ SANDBOX_TEST(SyscallIterator, InvalidSyscalls) { |
} |
} |
+SANDBOX_TEST(SyscallIterator, InvalidOnlyIsOnlyInvalid) { |
+ for (uint32_t sysnum : SyscallSet::InvalidOnly()) { |
+ SANDBOX_ASSERT(!SyscallSet::IsValid(sysnum)); |
+ } |
+} |
+ |
} // namespace |
} // namespace sandbox |