Skip to content

Commit eba722b

Browse files
authored
chore: add a test for HeapSize() function (#3349)
1 parent c8a98fd commit eba722b

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/facade/redis_parser_test.cc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "absl/strings/str_cat.h"
1111
#include "base/gtest.h"
1212
#include "base/logging.h"
13+
#include "core/heap_size.h"
1314
#include "facade/facade_test.h"
1415

1516
using namespace testing;
@@ -209,4 +210,24 @@ TEST_F(RedisParserTest, NestedArray) {
209210
ASSERT_THAT(args_[1].GetVec(), ElementsAre("car"));
210211
}
211212

213+
TEST_F(RedisParserTest, UsedMemory) {
214+
vector<vector<uint8_t>> blobs;
215+
for (size_t i = 0; i < 100; ++i) {
216+
blobs.emplace_back(vector<uint8_t>(200));
217+
}
218+
EXPECT_GT(dfly::HeapSize(blobs), 20000);
219+
220+
std::vector<std::unique_ptr<RespVec>> stash;
221+
RespVec vec;
222+
for (unsigned i = 0; i < 10; ++i) {
223+
vec.emplace_back(RespExpr::STRING);
224+
vec.back().u = RespExpr::Buffer(nullptr, 0);
225+
}
226+
227+
for (unsigned i = 0; i < 100; i++) {
228+
stash.emplace_back(new RespExpr::Vec(vec));
229+
}
230+
EXPECT_GT(dfly::HeapSize(stash), 30000);
231+
}
232+
212233
} // namespace facade

0 commit comments

Comments
 (0)