diff options
-rw-r--r-- | tests/cluster/tests/00-base.tcl | 33 | ||||
-rw-r--r-- | tests/cluster/tests/includes/init-tests.tcl | 40 | ||||
-rw-r--r-- | tests/instances.tcl | 2 |
3 files changed, 41 insertions, 34 deletions
diff --git a/tests/cluster/tests/00-base.tcl b/tests/cluster/tests/00-base.tcl index 5048aa230..2c6585970 100644 --- a/tests/cluster/tests/00-base.tcl +++ b/tests/cluster/tests/00-base.tcl @@ -8,13 +8,6 @@ if {$::simulate_error} { } } -test "Cluster nodes are reachable" { - foreach_redis_id id { - # Every node should just know itself. - assert {[R $id ping] eq {PONG}} - } -} - test "Different nodes have different IDs" { set ids {} set numnodes 0 @@ -29,32 +22,6 @@ test "Different nodes have different IDs" { assert {$numids == $numnodes} } -test "Check if nodes auto-discovery works" { - # Join node 0 with 1, 1 with 2, ... and so forth. - # If auto-discovery works all nodes will know every other node - # eventually. - set ids {} - foreach_redis_id id {lappend ids $id} - for {set j 0} {$j < [expr [llength $ids]-1]} {incr j} { - set a [lindex $ids $j] - set b [lindex $ids [expr $j+1]] - set b_port [get_instance_attrib redis $b port] - R $a cluster meet 127.0.0.1 $b_port - } - - foreach_redis_id id { - wait_for_condition 1000 50 { - [llength [get_cluster_nodes $id]] == [llength $ids] - } else { - fail "Cluster failed to join into a full mesh." - } - } -} - -test "Before slots allocation, all nodes report cluster failure" { - assert_cluster_state fail -} - test "It is possible to perform slot allocation" { cluster_allocate_slots 5 } diff --git a/tests/cluster/tests/includes/init-tests.tcl b/tests/cluster/tests/includes/init-tests.tcl index e3d5471d3..849dba23d 100644 --- a/tests/cluster/tests/includes/init-tests.tcl +++ b/tests/cluster/tests/includes/init-tests.tcl @@ -11,3 +11,43 @@ test "(init) Restart killed instances" { } } } + +test "Cluster nodes are reachable" { + foreach_redis_id id { + # Every node should just know itself. + assert {[R $id ping] eq {PONG}} + } +} + +test "Cluster nodes hard reset" { + foreach_redis_id id { + R $id flushall + R $id cluster reset hard + } +} + +test "Cluster Join and auto-discovery test" { + # Join node 0 with 1, 1 with 2, ... and so forth. + # If auto-discovery works all nodes will know every other node + # eventually. + set ids {} + foreach_redis_id id {lappend ids $id} + for {set j 0} {$j < [expr [llength $ids]-1]} {incr j} { + set a [lindex $ids $j] + set b [lindex $ids [expr $j+1]] + set b_port [get_instance_attrib redis $b port] + R $a cluster meet 127.0.0.1 $b_port + } + + foreach_redis_id id { + wait_for_condition 1000 50 { + [llength [get_cluster_nodes $id]] == [llength $ids] + } else { + fail "Cluster failed to join into a full mesh." + } + } +} + +test "Before slots allocation, all nodes report cluster failure" { + assert_cluster_state fail +} diff --git a/tests/instances.tcl b/tests/instances.tcl index 4575c8388..34c59a11c 100644 --- a/tests/instances.tcl +++ b/tests/instances.tcl @@ -363,7 +363,7 @@ proc kill_instance {type id} { # Return true of the instance of the specified type/id is killed. proc instance_is_killed {type id} { set pid [get_instance_attrib $type $id pid] - return $pid == -1 + expr {$pid == -1} } # Restart an instance previously killed by kill_instance |