summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2014-02-14 12:08:23 +0000
committerKostya Serebryany <kcc@google.com>2014-02-14 12:08:23 +0000
commit0c4fa9907ba77a1a803ca9f7da4cb09901951991 (patch)
tree9151c6554c655fb6b0a13bb57f1f869640516a7e /lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
parent097f7a0ea4878c395c9949b67f7aee59c134909f (diff)
[sanitizer] add iterators to bit vectors; make bit vector operations use little stack; add common flag 'detect_deadlocks'
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201405 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc')
-rw-r--r--lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc b/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
index 0e04ac870..f03720cd1 100644
--- a/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
+++ b/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
@@ -78,21 +78,21 @@ TEST(SanitizerCommon, BVGraph) {
EXPECT_GT(num_reachable, 0);
}
-TEST(SanitizerCommon, BVGraph_isReachable) {
- typedef TwoLevelBitVector<> BV;
+template <class BV>
+void Test_isReachable() {
uptr path[5];
BVGraph<BV> g;
g.clear();
BV target;
target.clear();
- uptr t0 = 100;
+ uptr t0 = 0;
uptr t1 = g.size() - 1;
target.setBit(t0);
target.setBit(t1);
- uptr f0 = 0;
- uptr f1 = 99;
- uptr f2 = 200;
+ uptr f0 = 1;
+ uptr f1 = 2;
+ uptr f2 = g.size() / 2;
uptr f3 = g.size() - 2;
EXPECT_FALSE(g.isReachable(f0, target));
@@ -127,3 +127,10 @@ TEST(SanitizerCommon, BVGraph_isReachable) {
EXPECT_TRUE(g.isReachable(f2, target));
EXPECT_TRUE(g.isReachable(f3, target));
}
+
+TEST(SanitizerCommon, BVGraph_isReachable) {
+ Test_isReachable<BasicBitVector<u8> >();
+ Test_isReachable<BasicBitVector<> >();
+ Test_isReachable<TwoLevelBitVector<> >();
+ Test_isReachable<TwoLevelBitVector<3, BasicBitVector<u8> > >();
+}