test infra - reduce disk space usage
this is important when running a test with --loop
This commit is contained in:
parent
e783c03dd1
commit
fc18f16260
@ -25,7 +25,7 @@ start_server [list overrides [list "dir" $server_path "dbfilename" "encodings.rd
|
|||||||
|
|
||||||
set server_path [tmpdir "server.rdb-startup-test"]
|
set server_path [tmpdir "server.rdb-startup-test"]
|
||||||
|
|
||||||
start_server [list overrides [list "dir" $server_path]] {
|
start_server [list overrides [list "dir" $server_path] keep_persistence true] {
|
||||||
test {Server started empty with non-existing RDB file} {
|
test {Server started empty with non-existing RDB file} {
|
||||||
r debug digest
|
r debug digest
|
||||||
} {0000000000000000000000000000000000000000}
|
} {0000000000000000000000000000000000000000}
|
||||||
@ -33,13 +33,13 @@ start_server [list overrides [list "dir" $server_path]] {
|
|||||||
r save
|
r save
|
||||||
}
|
}
|
||||||
|
|
||||||
start_server [list overrides [list "dir" $server_path]] {
|
start_server [list overrides [list "dir" $server_path] keep_persistence true] {
|
||||||
test {Server started empty with empty RDB file} {
|
test {Server started empty with empty RDB file} {
|
||||||
r debug digest
|
r debug digest
|
||||||
} {0000000000000000000000000000000000000000}
|
} {0000000000000000000000000000000000000000}
|
||||||
}
|
}
|
||||||
|
|
||||||
start_server [list overrides [list "dir" $server_path]] {
|
start_server [list overrides [list "dir" $server_path] keep_persistence true] {
|
||||||
test {Test RDB stream encoding} {
|
test {Test RDB stream encoding} {
|
||||||
for {set j 0} {$j < 1000} {incr j} {
|
for {set j 0} {$j < 1000} {incr j} {
|
||||||
if {rand() < 0.9} {
|
if {rand() < 0.9} {
|
||||||
@ -64,7 +64,7 @@ set defaults {}
|
|||||||
proc start_server_and_kill_it {overrides code} {
|
proc start_server_and_kill_it {overrides code} {
|
||||||
upvar defaults defaults srv srv server_path server_path
|
upvar defaults defaults srv srv server_path server_path
|
||||||
set config [concat $defaults $overrides]
|
set config [concat $defaults $overrides]
|
||||||
set srv [start_server [list overrides $config]]
|
set srv [start_server [list overrides $config keep_persistence true]]
|
||||||
uplevel 1 $code
|
uplevel 1 $code
|
||||||
kill_server $srv
|
kill_server $srv
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,16 @@ proc check_valgrind_errors stderr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc clean_persistence config {
|
||||||
|
# we may wanna keep the logs for later, but let's clean the persistence
|
||||||
|
# files right away, since they can accumulate and take up a lot of space
|
||||||
|
set config [dict get $config "config"]
|
||||||
|
set rdb [format "%s/%s" [dict get $config "dir"] "dump.rdb"]
|
||||||
|
set aof [format "%s/%s" [dict get $config "dir"] "appendonly.aof"]
|
||||||
|
catch {exec rm -rf $rdb}
|
||||||
|
catch {exec rm -rf $aof}
|
||||||
|
}
|
||||||
|
|
||||||
proc kill_server config {
|
proc kill_server config {
|
||||||
# nothing to kill when running against external server
|
# nothing to kill when running against external server
|
||||||
if {$::external} return
|
if {$::external} return
|
||||||
@ -238,19 +248,27 @@ proc start_server {options {code undefined}} {
|
|||||||
set baseconfig "default.conf"
|
set baseconfig "default.conf"
|
||||||
set overrides {}
|
set overrides {}
|
||||||
set tags {}
|
set tags {}
|
||||||
|
set keep_persistence false
|
||||||
|
|
||||||
# parse options
|
# parse options
|
||||||
foreach {option value} $options {
|
foreach {option value} $options {
|
||||||
switch $option {
|
switch $option {
|
||||||
"config" {
|
"config" {
|
||||||
set baseconfig $value }
|
set baseconfig $value
|
||||||
|
}
|
||||||
"overrides" {
|
"overrides" {
|
||||||
set overrides $value }
|
set overrides $value
|
||||||
|
}
|
||||||
"tags" {
|
"tags" {
|
||||||
set tags $value
|
set tags $value
|
||||||
set ::tags [concat $::tags $value] }
|
set ::tags [concat $::tags $value]
|
||||||
|
}
|
||||||
|
"keep_persistence" {
|
||||||
|
set keep_persistence $value
|
||||||
|
}
|
||||||
default {
|
default {
|
||||||
error "Unknown option $option" }
|
error "Unknown option $option"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -436,6 +454,10 @@ proc start_server {options {code undefined}} {
|
|||||||
|
|
||||||
set ::tags [lrange $::tags 0 end-[llength $tags]]
|
set ::tags [lrange $::tags 0 end-[llength $tags]]
|
||||||
kill_server $srv
|
kill_server $srv
|
||||||
|
if {!$keep_persistence} {
|
||||||
|
clean_persistence $srv
|
||||||
|
}
|
||||||
|
set _ ""
|
||||||
} else {
|
} else {
|
||||||
set ::tags [lrange $::tags 0 end-[llength $tags]]
|
set ::tags [lrange $::tags 0 end-[llength $tags]]
|
||||||
set _ $srv
|
set _ $srv
|
||||||
|
@ -12,7 +12,7 @@ tags "modules" {
|
|||||||
|
|
||||||
test {modules global are lost without aux} {
|
test {modules global are lost without aux} {
|
||||||
set server_path [tmpdir "server.module-testrdb"]
|
set server_path [tmpdir "server.module-testrdb"]
|
||||||
start_server [list overrides [list loadmodule "$testmodule" "dir" $server_path]] {
|
start_server [list overrides [list loadmodule "$testmodule" "dir" $server_path] keep_persistence true] {
|
||||||
r testrdb.set.before global1
|
r testrdb.set.before global1
|
||||||
assert_equal "global1" [r testrdb.get.before]
|
assert_equal "global1" [r testrdb.get.before]
|
||||||
}
|
}
|
||||||
@ -23,7 +23,7 @@ tags "modules" {
|
|||||||
|
|
||||||
test {modules are able to persist globals before and after} {
|
test {modules are able to persist globals before and after} {
|
||||||
set server_path [tmpdir "server.module-testrdb"]
|
set server_path [tmpdir "server.module-testrdb"]
|
||||||
start_server [list overrides [list loadmodule "$testmodule 2" "dir" $server_path]] {
|
start_server [list overrides [list loadmodule "$testmodule 2" "dir" $server_path] keep_persistence true] {
|
||||||
r testrdb.set.before global1
|
r testrdb.set.before global1
|
||||||
r testrdb.set.after global2
|
r testrdb.set.after global2
|
||||||
assert_equal "global1" [r testrdb.get.before]
|
assert_equal "global1" [r testrdb.get.before]
|
||||||
@ -38,7 +38,7 @@ tags "modules" {
|
|||||||
|
|
||||||
test {modules are able to persist globals just after} {
|
test {modules are able to persist globals just after} {
|
||||||
set server_path [tmpdir "server.module-testrdb"]
|
set server_path [tmpdir "server.module-testrdb"]
|
||||||
start_server [list overrides [list loadmodule "$testmodule 1" "dir" $server_path]] {
|
start_server [list overrides [list loadmodule "$testmodule 1" "dir" $server_path] keep_persistence true] {
|
||||||
r testrdb.set.after global2
|
r testrdb.set.after global2
|
||||||
assert_equal "global2" [r testrdb.get.after]
|
assert_equal "global2" [r testrdb.get.after]
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user