summaryrefslogtreecommitdiff
path: root/absl/strings/cord_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'absl/strings/cord_test.cc')
-rw-r--r--absl/strings/cord_test.cc73
1 files changed, 2 insertions, 71 deletions
diff --git a/absl/strings/cord_test.cc b/absl/strings/cord_test.cc
index e499b55f..c26e506d 100644
--- a/absl/strings/cord_test.cc
+++ b/absl/strings/cord_test.cc
@@ -231,15 +231,7 @@ ABSL_NAMESPACE_END
// and with our without expected CRCs being set on the subject Cords.
class CordTest : public testing::TestWithParam<int> {
public:
- CordTest() : was_btree_(absl::cord_internal::cord_btree_enabled.load()) {
- absl::cord_internal::cord_btree_enabled.store(UseBtree());
- }
- ~CordTest() override {
- absl::cord_internal::cord_btree_enabled.store(was_btree_);
- }
-
// Returns true if test is running with btree enabled.
- bool UseBtree() const { return GetParam() == 1 || GetParam() == 3; }
bool UseCrc() const { return GetParam() == 2 || GetParam() == 3; }
void MaybeHarden(absl::Cord& c) {
if (UseCrc()) {
@@ -255,27 +247,19 @@ class CordTest : public testing::TestWithParam<int> {
static std::string ToString(testing::TestParamInfo<int> param) {
switch (param.param) {
case 0:
- return "Concat";
- case 1:
return "Btree";
- case 2:
- return "ConcatHardened";
- case 3:
+ case 1:
return "BtreeHardened";
default:
assert(false);
return "???";
}
}
-
- private:
- const bool was_btree_;
};
-INSTANTIATE_TEST_SUITE_P(WithParam, CordTest, testing::Values(0, 1, 2, 3),
+INSTANTIATE_TEST_SUITE_P(WithParam, CordTest, testing::Values(0, 1),
CordTest::ToString);
-
TEST(CordRepFlat, AllFlatCapacities) {
// Explicitly and redundantly assert built-in min/max limits
static_assert(absl::cord_internal::kFlatOverhead < 32, "");
@@ -1561,8 +1545,6 @@ TEST(CordTest, CordMemoryUsageFlatHardenedAndShared) {
}
TEST(CordTest, CordMemoryUsageBTree) {
- absl::cord_internal::enable_cord_btree(true);
-
absl::Cord cord1;
size_t flats1_size = 0;
absl::Cord flats1[4] = {MakeCord(1000, 'a'), MakeCord(1100, 'a'),
@@ -1611,57 +1593,6 @@ TEST(CordTest, CordMemoryUsageBTree) {
rep2_size);
}
-TEST(CordTest, CordMemoryUsageConcat) {
- absl::cord_internal::enable_cord_btree(false);
-
- absl::Cord cord1;
- size_t flats1_size = 0;
- absl::Cord flats1[4] = {MakeCord(1000, 'a'), MakeCord(1100, 'a'),
- MakeCord(1200, 'a'), MakeCord(1300, 'a')};
- for (absl::Cord flat : flats1) {
- flats1_size += absl::CordTestPeer::Tree(flat)->flat()->AllocatedSize();
- cord1.Append(std::move(flat));
- }
-
- // Make sure the created cord is a CONCAT tree. Under some builds such as
- // windows DLL, we may have ODR like effects on the flag, meaning the DLL
- // code will run with the picked up default.
- if (!absl::CordTestPeer::Tree(cord1)->IsConcat()) {
- ABSL_RAW_LOG(WARNING, "Cord library code not respecting btree flag");
- return;
- }
-
- size_t rep1_size = sizeof(CordRepConcat) * 3 + flats1_size;
- size_t rep1_shared_size = sizeof(CordRepConcat) * 3 + flats1_size / 2;
-
- EXPECT_EQ(cord1.EstimatedMemoryUsage(), sizeof(absl::Cord) + rep1_size);
- EXPECT_EQ(cord1.EstimatedMemoryUsage(kFairShare),
- sizeof(absl::Cord) + rep1_shared_size);
-
- absl::Cord cord2;
- size_t flats2_size = 0;
- absl::Cord flats2[4] = {MakeCord(600, 'a'), MakeCord(700, 'a'),
- MakeCord(800, 'a'), MakeCord(900, 'a')};
- for (absl::Cord& flat : flats2) {
- flats2_size += absl::CordTestPeer::Tree(flat)->flat()->AllocatedSize();
- cord2.Append(std::move(flat));
- }
-
- size_t rep2_size = sizeof(CordRepConcat) * 3 + flats2_size;
-
- EXPECT_EQ(cord2.EstimatedMemoryUsage(), sizeof(absl::Cord) + rep2_size);
- EXPECT_EQ(cord2.EstimatedMemoryUsage(kFairShare),
- sizeof(absl::Cord) + rep2_size);
-
- absl::Cord cord(cord1);
- cord.Append(std::move(cord2));
- EXPECT_EQ(cord.EstimatedMemoryUsage(),
- sizeof(absl::Cord) + sizeof(CordRepConcat) + rep1_size + rep2_size);
- EXPECT_EQ(cord.EstimatedMemoryUsage(kFairShare),
- sizeof(absl::Cord) + sizeof(CordRepConcat) + rep1_shared_size / 2 +
- rep2_size);
-}
-
// Regtest for a change that had to be rolled back because it expanded out
// of the InlineRep too soon, which was observable through MemoryUsage().
TEST_P(CordTest, CordMemoryUsageInlineRep) {