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..fdb504966b1bbe5ddb614003232bf1ebe99af6b0 100644 |
--- a/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
+++ b/sandbox/linux/seccomp-bpf/syscall_iterator_unittest.cc |
@@ -13,18 +13,16 @@ namespace sandbox { |
namespace { |
-const bool kFalseTrue[] = {false, true}; |
+const SyscallSet kSyscallSets[] = {SyscallSet::ALL, SyscallSet::INVALID_ONLY}; |
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 +42,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,10 +77,9 @@ 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(); |
+ for (uint32_t sysnum : set) { |
if (!SyscallIterator::IsValid(sysnum)) { |
SANDBOX_ASSERT(i < arraysize(kExpected)); |
SANDBOX_ASSERT(kExpected[i] == sysnum); |
@@ -94,6 +90,12 @@ SANDBOX_TEST(SyscallIterator, InvalidSyscalls) { |
} |
} |
+SANDBOX_TEST(SyscallIterator, InvalidOnlyIsOnlyInvalid) { |
+ for (uint32_t sysnum : SyscallSet::INVALID_ONLY) { |
+ SANDBOX_ASSERT(!SyscallIterator::IsValid(sysnum)); |
+ } |
+} |
+ |
} // namespace |
} // namespace sandbox |