提交 93959bc0 编写于 作者: A antirez

Sentinel / Cluster test: exit with non-zero error code on failures.

上级 2e92d0f0
...@@ -17,6 +17,7 @@ proc main {} { ...@@ -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 ...@@ -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} { ...@@ -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} { ...@@ -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 {} { ...@@ -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 {} { ...@@ -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]} {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册