redict/tests/unit/moduleapi/mallocsize.tcl
guybe7 fe1c096b18
Add RM_MallocSizeString, RM_MallocSizeDict (#10542)
Add APIs to allow modules to compute the memory consumption of opaque objects owned by redis.
Without these, the mem_usage callbacks of module data types are useless in many cases.

Other changes:
Fix streamRadixTreeMemoryUsage to include the size of the rax structure itself
2022-04-17 08:31:57 +03:00

22 lines
629 B
Tcl

set testmodule [file normalize tests/modules/mallocsize.so]
start_server {tags {"modules"}} {
r module load $testmodule
test {MallocSize of raw bytes} {
assert_equal [r mallocsize.setraw key 40] {OK}
assert_morethan [r memory usage key] 40
}
test {MallocSize of string} {
assert_equal [r mallocsize.setstr key abcdefg] {OK}
assert_morethan [r memory usage key] 7 ;# Length of "abcdefg"
}
test {MallocSize of dict} {
assert_equal [r mallocsize.setdict key f1 v1 f2 v2] {OK}
assert_morethan [r memory usage key] 8 ;# Length of "f1v1f2v2"
}
}