Sentinel / Cluster test: exit with non-zero error code on failures.
This commit is contained in:
parent
7f330b16f9
commit
65090401b7
@ -17,6 +17,7 @@ proc main {} {
|
|||||||
}
|
}
|
||||||
run_tests
|
run_tests
|
||||||
cleanup
|
cleanup
|
||||||
|
end_tests
|
||||||
}
|
}
|
||||||
|
|
||||||
if {[catch main e]} {
|
if {[catch main e]} {
|
||||||
|
@ -19,6 +19,7 @@ set ::verbose 0
|
|||||||
set ::valgrind 0
|
set ::valgrind 0
|
||||||
set ::pause_on_error 0
|
set ::pause_on_error 0
|
||||||
set ::simulate_error 0
|
set ::simulate_error 0
|
||||||
|
set ::failed 0
|
||||||
set ::sentinel_instances {}
|
set ::sentinel_instances {}
|
||||||
set ::redis_instances {}
|
set ::redis_instances {}
|
||||||
set ::sentinel_base_port 20000
|
set ::sentinel_base_port 20000
|
||||||
@ -231,6 +232,7 @@ proc test {descr code} {
|
|||||||
flush stdout
|
flush stdout
|
||||||
|
|
||||||
if {[catch {set retval [uplevel 1 $code]} error]} {
|
if {[catch {set retval [uplevel 1 $code]} error]} {
|
||||||
|
incr ::failed
|
||||||
if {[string match "assertion:*" $error]} {
|
if {[string match "assertion:*" $error]} {
|
||||||
set msg [string range $error 10 end]
|
set msg [string range $error 10 end]
|
||||||
puts [colorstr red $msg]
|
puts [colorstr red $msg]
|
||||||
@ -246,6 +248,7 @@ proc test {descr code} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Execute all the units inside the 'tests' directory.
|
||||||
proc run_tests {} {
|
proc run_tests {} {
|
||||||
set tests [lsort [glob ../tests/*]]
|
set tests [lsort [glob ../tests/*]]
|
||||||
foreach test $tests {
|
foreach test $tests {
|
||||||
@ -258,6 +261,17 @@ proc run_tests {} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Print a message and exists with 0 / 1 according to zero or more failures.
|
||||||
|
proc end_tests {} {
|
||||||
|
if {$::failed == 0} {
|
||||||
|
puts "GOOD! No errors."
|
||||||
|
exit 0
|
||||||
|
} else {
|
||||||
|
puts "WARNING $::failed tests faield."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# The "S" command is used to interact with the N-th Sentinel.
|
# The "S" command is used to interact with the N-th Sentinel.
|
||||||
# The general form is:
|
# The general form is:
|
||||||
#
|
#
|
||||||
|
@ -13,6 +13,7 @@ proc main {} {
|
|||||||
spawn_instance redis $::redis_base_port $::instances_count
|
spawn_instance redis $::redis_base_port $::instances_count
|
||||||
run_tests
|
run_tests
|
||||||
cleanup
|
cleanup
|
||||||
|
end_tests
|
||||||
}
|
}
|
||||||
|
|
||||||
if {[catch main e]} {
|
if {[catch main e]} {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user