X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fbase%2Faddr_range.test.cc;h=890fb4f3a8b2ea42fcd99faa5ec3b1156a53296d;hb=7ff32d7b53b1a699f4383d3c9c5279b6ab894d55;hp=4ab4ae402fd8df76ed3f8e204d64618308fbcd48;hpb=b4c9996d894118be04cdf4ed793b35a1d5001942;p=gem5.git diff --git a/src/base/addr_range.test.cc b/src/base/addr_range.test.cc index 4ab4ae402..890fb4f3a 100644 --- a/src/base/addr_range.test.cc +++ b/src/base/addr_range.test.cc @@ -261,6 +261,30 @@ TEST(AddrRangeTest, isSubsetPartialSubset) EXPECT_FALSE(r2.isSubset(r1)); } +TEST(AddrRangeTest, isSubsetInterleavedCompleteOverlap) +{ + AddrRange r1(0x00, 0x100, {0x40}, 0); + AddrRange r2(0x00, 0x40); + + EXPECT_TRUE(r2.isSubset(r1)); +} + +TEST(AddrRangeTest, isSubsetInterleavedNoOverlap) +{ + AddrRange r1(0x00, 0x100, {0x40}, 1); + AddrRange r2(0x00, 0x40); + + EXPECT_FALSE(r2.isSubset(r1)); +} + +TEST(AddrRangeTest, isSubsetInterleavedPartialOverlap) +{ + AddrRange r1(0x00, 0x100, {0x40}, 0); + AddrRange r2(0x10, 0x50); + + EXPECT_FALSE(r2.isSubset(r1)); +} + TEST(AddrRangeTest, Contains) { AddrRange r(0xF0, 0xF5); @@ -1038,4 +1062,4 @@ TEST(AddrRangeTest, RangeSizeConstruction){ AddrRange r = RangeSize(0x5, 5); EXPECT_EQ(0x5, r.start()); EXPECT_EQ(0xA, r.end()); -} \ No newline at end of file +}