File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change 10
10
#include " absl/strings/str_cat.h"
11
11
#include " base/gtest.h"
12
12
#include " base/logging.h"
13
+ #include " core/heap_size.h"
13
14
#include " facade/facade_test.h"
14
15
15
16
using namespace testing ;
@@ -209,4 +210,24 @@ TEST_F(RedisParserTest, NestedArray) {
209
210
ASSERT_THAT (args_[1 ].GetVec (), ElementsAre (" car" ));
210
211
}
211
212
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
+
212
233
} // namespace facade
You can’t perform that action at this time.
0 commit comments