diff options
author | antirez <antirez@gmail.com> | 2013-05-30 18:54:28 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2013-05-30 18:54:28 +0200 |
commit | 434a86dbd879e7feeea6c939899565717bf9d913 (patch) | |
tree | e84a17d7b297f31d16bc3a744c127e2c3e0bc85d /tests/integration/replication-4.tcl | |
parent | 915c06a96ca7d96818321da5e0a8201c11bbac22 (diff) | |
download | redis-434a86dbd879e7feeea6c939899565717bf9d913.tar.gz |
Tests added for min-slaves feature.
Diffstat (limited to 'tests/integration/replication-4.tcl')
-rw-r--r-- | tests/integration/replication-4.tcl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/integration/replication-4.tcl b/tests/integration/replication-4.tcl index 29ab48fc2..7a3b0822f 100644 --- a/tests/integration/replication-4.tcl +++ b/tests/integration/replication-4.tcl @@ -54,3 +54,45 @@ start_server {tags {"repl"}} { } } } + +start_server {tags {"repl"}} { + start_server {} { + set master [srv -1 client] + set master_host [srv -1 host] + set master_port [srv -1 port] + set slave [srv 0 client] + + test {First server should have role slave after SLAVEOF} { + $slave slaveof $master_host $master_port + wait_for_condition 50 100 { + [s 0 master_link_status] eq {up} + } else { + fail "Replication not started." + } + } + + test {With min-slaves-to-write (1,3): master should be writable} { + $master config set min-slaves-max-lag 3 + $master config set min-slaves-to-write 1 + $master set foo bar + } {OK} + + test {With min-slaves-to-write (2,3): master should not be writable} { + $master config set min-slaves-max-lag 3 + $master config set min-slaves-to-write 2 + catch {$master set foo bar} e + set e + } {NOREPLICAS*} + + test {With min-slaves-to-write: master not writable with lagged slave} { + $master config set min-slaves-max-lag 2 + $master config set min-slaves-to-write 1 + assert {[$master set foo bar] eq {OK}} + $slave deferred 1 + $slave debug sleep 4 + after 3000 + catch {$master set foo bar} e + set e + } {NOREPLICAS*} + } +} |