diff options
author | Kostya Serebryany <kcc@google.com> | 2014-02-14 12:08:23 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2014-02-14 12:08:23 +0000 |
commit | 0c4fa9907ba77a1a803ca9f7da4cb09901951991 (patch) | |
tree | 9151c6554c655fb6b0a13bb57f1f869640516a7e /lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc | |
parent | 097f7a0ea4878c395c9949b67f7aee59c134909f (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.cc | 19 |
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> > >(); +} |