Added module data type load/save tests
Former-commit-id: cae9924fd9eefcd88cef1c964f0bc8bce7dd4242
This commit is contained in:
parent
363cb7ec5b
commit
6da123ce77
@ -27,4 +27,5 @@ $TCLSH tests/test_helper.tcl \
|
|||||||
--single unit/moduleapi/auth \
|
--single unit/moduleapi/auth \
|
||||||
--single unit/moduleapi/keyspace_events \
|
--single unit/moduleapi/keyspace_events \
|
||||||
--single unit/moduleapi/blockedclient \
|
--single unit/moduleapi/blockedclient \
|
||||||
|
--single unit/moduleapi/moduleloadsave \
|
||||||
"${@}"
|
"${@}"
|
||||||
|
BIN
tests/assets/redis-module-save.rdb
Normal file
BIN
tests/assets/redis-module-save.rdb
Normal file
Binary file not shown.
@ -37,12 +37,10 @@ exec cp -f tests/assets/redis-save.rdb $server_path/dump.rdb
|
|||||||
start_server [list tags [list "loadsave"] overrides [list "dir" $server_path] keep_persistence true] {
|
start_server [list tags [list "loadsave"] overrides [list "dir" $server_path] keep_persistence true] {
|
||||||
test "Load various data types from Redis generated .rdb file" {
|
test "Load various data types from Redis generated .rdb file" {
|
||||||
set loaded_digest [r debug digest]
|
set loaded_digest [r debug digest]
|
||||||
|
puts loaded_digest
|
||||||
if {![string match $saved_digest $loaded_digest]} {
|
if {![string match $saved_digest $loaded_digest]} {
|
||||||
fail "Loaded data did not match saved data"
|
fail "Loaded data did not match saved data"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
puts $server_path
|
|
||||||
|
|
||||||
|
|
||||||
|
43
tests/unit/moduleapi/moduleloadsave.tcl
Normal file
43
tests/unit/moduleapi/moduleloadsave.tcl
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
set server_path [tmpdir "server.rdb-encoding-test"]
|
||||||
|
set testmodule [file normalize tests/modules/datatype.so]
|
||||||
|
|
||||||
|
# Store module data typed data to the database,
|
||||||
|
# compute the hash of the database,
|
||||||
|
# and save the data to a file
|
||||||
|
start_server [list tags [list "loadsave"] overrides [list "dir" $server_path "loadmodule" $testmodule] keep_persistence true] {
|
||||||
|
|
||||||
|
test "Save module data type to .rdb file" {
|
||||||
|
r datatype.set key1 100 stringval
|
||||||
|
r datatype.set key2 200 stringval
|
||||||
|
r datatype.set key3 300 stringval
|
||||||
|
r datatype.set key4 400 stringval
|
||||||
|
r datatype.set key5 500 stringval
|
||||||
|
set saved_digest [r debug digest];
|
||||||
|
r save
|
||||||
|
} {OK};
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load that data back from the file,
|
||||||
|
# and compare its hash to the previously computed hash
|
||||||
|
start_server [list tags [list "loadsave"] overrides [list "dir" $server_path "loadmodule" $testmodule] keep_persistence true] {
|
||||||
|
test "Load module data type from .rdb file" {
|
||||||
|
set loaded_digest [r debug digest]
|
||||||
|
if {![string match $saved_digest $loaded_digest]} {
|
||||||
|
fail "Loaded data did not match saved data"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load in data from a redis instance
|
||||||
|
# The hash should match what we get in redis
|
||||||
|
set saved_digest acffad6b89e21339dc5c80f53f6c6fa15977a848
|
||||||
|
exec cp -f tests/assets/redis-module-save.rdb $server_path/dump.rdb
|
||||||
|
|
||||||
|
start_server [list tags [list "loadsave"] overrides [list "dir" $server_path "loadmodule" $testmodule] keep_persistence true] {
|
||||||
|
test "Load module data type from Redis generated .rdb file" {
|
||||||
|
set loaded_digest [r debug digest]
|
||||||
|
if {![string match $saved_digest $loaded_digest]} {
|
||||||
|
fail "Loaded data did not match saved data"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user