Commit 06383fa1 authored by Clemens Backes's avatar Clemens Backes Committed by V8 LUCI CQ

[test] Split BitVectorTest unittest in multiple tests

Instead of one big test which tests multiple functions, split the unit
test into multiple smaller tests.
Also, use TestWithZone instead of TestWithIsolate, because the isolate
is never used.

R=jkummerow@chromium.org

Bug: v8:12425
Change-Id: I32148e40b5ed2b006cc647d42bdfe564ccc6d0ed
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3776676
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81852}
parent c6415306
......@@ -13,121 +13,117 @@
namespace v8 {
namespace internal {
using BitVectorTest = TestWithIsolate;
using BitVectorTest = TestWithZone;
TEST_F(BitVectorTest, BitVector) {
v8::internal::AccountingAllocator allocator;
Zone zone(&allocator, ZONE_NAME);
{
BitVector v(15, &zone);
v.Add(1);
EXPECT_TRUE(v.Contains(1));
v.Remove(0);
EXPECT_TRUE(!v.Contains(0));
v.Add(0);
v.Add(1);
BitVector w(15, &zone);
w.Add(1);
v.Intersect(w);
EXPECT_TRUE(!v.Contains(0));
EXPECT_TRUE(v.Contains(1));
}
TEST_F(BitVectorTest, SmallBitVector) {
BitVector v(15, zone());
v.Add(1);
EXPECT_TRUE(v.Contains(1));
v.Remove(0);
EXPECT_TRUE(!v.Contains(0));
v.Add(0);
v.Add(1);
BitVector w(15, zone());
w.Add(1);
v.Intersect(w);
EXPECT_TRUE(!v.Contains(0));
EXPECT_TRUE(v.Contains(1));
}
{
BitVector v(64, &zone);
v.Add(27);
v.Add(30);
v.Add(31);
v.Add(33);
BitVector::Iterator iter = v.begin();
BitVector::Iterator end = v.end();
EXPECT_NE(iter, end);
EXPECT_EQ(27, *iter);
++iter;
EXPECT_NE(iter, end);
EXPECT_EQ(30, *iter);
++iter;
EXPECT_NE(iter, end);
EXPECT_EQ(31, *iter);
++iter;
EXPECT_NE(iter, end);
EXPECT_EQ(33, *iter);
++iter;
EXPECT_TRUE(!(iter != end));
}
TEST_F(BitVectorTest, SmallBitVectorIterator) {
BitVector v(64, zone());
v.Add(27);
v.Add(30);
v.Add(31);
v.Add(33);
BitVector::Iterator iter = v.begin();
BitVector::Iterator end = v.end();
EXPECT_NE(iter, end);
EXPECT_EQ(27, *iter);
++iter;
EXPECT_NE(iter, end);
EXPECT_EQ(30, *iter);
++iter;
EXPECT_NE(iter, end);
EXPECT_EQ(31, *iter);
++iter;
EXPECT_NE(iter, end);
EXPECT_EQ(33, *iter);
++iter;
EXPECT_TRUE(!(iter != end));
}
{
BitVector v(15, &zone);
v.Add(0);
BitVector w(15, &zone);
w.Add(1);
v.Union(w);
EXPECT_TRUE(v.Contains(0));
EXPECT_TRUE(v.Contains(1));
}
TEST_F(BitVectorTest, Union) {
BitVector v(15, zone());
v.Add(0);
BitVector w(15, zone());
w.Add(1);
v.Union(w);
EXPECT_TRUE(v.Contains(0));
EXPECT_TRUE(v.Contains(1));
}
{
BitVector v(15, &zone);
v.Add(0);
BitVector w(15, &zone);
w.CopyFrom(v);
EXPECT_TRUE(w.Contains(0));
w.Add(1);
BitVector u(w, &zone);
EXPECT_TRUE(u.Contains(0));
EXPECT_TRUE(u.Contains(1));
v.Union(w);
EXPECT_TRUE(v.Contains(0));
EXPECT_TRUE(v.Contains(1));
}
TEST_F(BitVectorTest, CopyFrom) {
BitVector v(15, zone());
v.Add(0);
BitVector w(15, zone());
w.CopyFrom(v);
EXPECT_TRUE(w.Contains(0));
w.Add(1);
BitVector u(w, zone());
EXPECT_TRUE(u.Contains(0));
EXPECT_TRUE(u.Contains(1));
v.Union(w);
EXPECT_TRUE(v.Contains(0));
EXPECT_TRUE(v.Contains(1));
}
{
BitVector v(35, &zone);
v.Add(0);
BitVector w(35, &zone);
w.Add(33);
v.Union(w);
EXPECT_TRUE(v.Contains(0));
EXPECT_TRUE(v.Contains(33));
}
TEST_F(BitVectorTest, Union2) {
BitVector v(35, zone());
v.Add(0);
BitVector w(35, zone());
w.Add(33);
v.Union(w);
EXPECT_TRUE(v.Contains(0));
EXPECT_TRUE(v.Contains(33));
}
{
BitVector v(35, &zone);
v.Add(32);
v.Add(33);
BitVector w(35, &zone);
w.Add(33);
v.Intersect(w);
EXPECT_TRUE(!v.Contains(32));
EXPECT_TRUE(v.Contains(33));
BitVector r(35, &zone);
r.CopyFrom(v);
EXPECT_TRUE(!r.Contains(32));
EXPECT_TRUE(r.Contains(33));
}
TEST_F(BitVectorTest, Intersect) {
BitVector v(35, zone());
v.Add(32);
v.Add(33);
BitVector w(35, zone());
w.Add(33);
v.Intersect(w);
EXPECT_TRUE(!v.Contains(32));
EXPECT_TRUE(v.Contains(33));
BitVector r(35, zone());
r.CopyFrom(v);
EXPECT_TRUE(!r.Contains(32));
EXPECT_TRUE(r.Contains(33));
}
{
BitVector v(35, &zone);
v.Add(32);
v.Add(33);
EXPECT_TRUE(v.Contains(32));
EXPECT_TRUE(v.Contains(33));
EXPECT_TRUE(!v.Contains(22));
EXPECT_TRUE(!v.Contains(34));
v.Resize(50, &zone);
EXPECT_TRUE(v.Contains(32));
EXPECT_TRUE(v.Contains(33));
EXPECT_TRUE(!v.Contains(22));
EXPECT_TRUE(!v.Contains(34));
EXPECT_TRUE(!v.Contains(43));
v.Resize(300, &zone);
EXPECT_TRUE(v.Contains(32));
EXPECT_TRUE(v.Contains(33));
EXPECT_TRUE(!v.Contains(22));
EXPECT_TRUE(!v.Contains(34));
EXPECT_TRUE(!v.Contains(43));
EXPECT_TRUE(!v.Contains(243));
}
TEST_F(BitVectorTest, Resize) {
BitVector v(35, zone());
v.Add(32);
v.Add(33);
EXPECT_TRUE(v.Contains(32));
EXPECT_TRUE(v.Contains(33));
EXPECT_TRUE(!v.Contains(22));
EXPECT_TRUE(!v.Contains(34));
v.Resize(50, zone());
EXPECT_TRUE(v.Contains(32));
EXPECT_TRUE(v.Contains(33));
EXPECT_TRUE(!v.Contains(22));
EXPECT_TRUE(!v.Contains(34));
EXPECT_TRUE(!v.Contains(43));
v.Resize(300, zone());
EXPECT_TRUE(v.Contains(32));
EXPECT_TRUE(v.Contains(33));
EXPECT_TRUE(!v.Contains(22));
EXPECT_TRUE(!v.Contains(34));
EXPECT_TRUE(!v.Contains(43));
EXPECT_TRUE(!v.Contains(243));
}
} // namespace internal
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment