mirror of
https://github.com/fluencelabs/redis
synced 2025-04-25 02:22:13 +00:00
Redis Cluster test framework skeleton.
This commit is contained in:
parent
7d9b45b4a1
commit
c3f85c0107
14
runtest-cluster
Executable file
14
runtest-cluster
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
TCL_VERSIONS="8.5 8.6"
|
||||||
|
TCLSH=""
|
||||||
|
|
||||||
|
for VERSION in $TCL_VERSIONS; do
|
||||||
|
TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z $TCLSH ]
|
||||||
|
then
|
||||||
|
echo "You need tcl 8.5 or newer in order to run the Redis Sentinel test"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
$TCLSH tests/cluster/run.tcl $*
|
7
tests/cluster/cluster.tcl
Normal file
7
tests/cluster/cluster.tcl
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Cluster-specific test functions.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014 Salvatore Sanfilippo antirez@gmail.com
|
||||||
|
# This softare is released under the BSD License. See the COPYING file for
|
||||||
|
# more information.
|
||||||
|
|
||||||
|
|
22
tests/cluster/run.tcl
Normal file
22
tests/cluster/run.tcl
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Cluster test suite. Copyright (C) 2014 Salvatore Sanfilippo antirez@gmail.com
|
||||||
|
# This softare is released under the BSD License. See the COPYING file for
|
||||||
|
# more information.
|
||||||
|
|
||||||
|
cd tests/cluster
|
||||||
|
source cluster.tcl
|
||||||
|
source ../instances.tcl
|
||||||
|
|
||||||
|
proc main {} {
|
||||||
|
parse_options
|
||||||
|
spawn_instance redis $::redis_base_port $::instances_count {
|
||||||
|
"cluster-enabled yes"
|
||||||
|
"appendonly yes"
|
||||||
|
}
|
||||||
|
run_tests
|
||||||
|
cleanup
|
||||||
|
}
|
||||||
|
|
||||||
|
if {[catch main e]} {
|
||||||
|
puts $::errorInfo
|
||||||
|
cleanup
|
||||||
|
}
|
16
tests/cluster/tests/00-base.tcl
Normal file
16
tests/cluster/tests/00-base.tcl
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Check the basic monitoring and failover capabilities.
|
||||||
|
|
||||||
|
source "../tests/includes/init-tests.tcl"
|
||||||
|
|
||||||
|
if {$::simulate_error} {
|
||||||
|
test "This test will fail" {
|
||||||
|
fail "Simulated error"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test "Cluster nodes are reachable." {
|
||||||
|
foreach_redis_id id {
|
||||||
|
# Every node should just know itself.
|
||||||
|
assert {[R $id ping] eq {PONG}}
|
||||||
|
}
|
||||||
|
}
|
13
tests/cluster/tests/includes/init-tests.tcl
Normal file
13
tests/cluster/tests/includes/init-tests.tcl
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Initialization tests -- most units will start including this.
|
||||||
|
|
||||||
|
test "(init) Restart killed instances" {
|
||||||
|
foreach type {redis} {
|
||||||
|
foreach_${type}_id id {
|
||||||
|
if {[get_instance_attrib $type $id pid] == -1} {
|
||||||
|
puts -nonewline "$type/$id "
|
||||||
|
flush stdout
|
||||||
|
restart_instance $type $id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user