summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc')
-rw-r--r--compiler-rt/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc b/compiler-rt/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
index 0e04ac87045..f03720cd1f2 100644
--- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_bvgraph_test.cc
+++ b/compiler-rt/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> > >();
+}
OpenPOWER on IntegriCloud