From 252cf3052dedbfd7a74d076898762e8ad0f265a0 Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 27 Mar 2013 11:31:27 +0100 Subject: [PATCH] Test: test replication of MULTI/EXEC. --- tests/unit/multi.tcl | 54 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/tests/unit/multi.tcl b/tests/unit/multi.tcl index 798f589b..6655bf62 100644 --- a/tests/unit/multi.tcl +++ b/tests/unit/multi.tcl @@ -252,4 +252,58 @@ start_server {tags {"multi"}} { r incr x r exec } {11} + + test {MULTI / EXEC is propagated correctly (single write command)} { + set repl [attach_to_replication_stream] + r multi + r set foo bar + r exec + assert_replication_stream $repl { + {select *} + {multi} + {set foo bar} + {exec} + } + close_replication_stream $repl + } + + test {MULTI / EXEC is propagated correctly (empty transaction)} { + set repl [attach_to_replication_stream] + r multi + r exec + r set foo bar + assert_replication_stream $repl { + {select *} + {set foo bar} + } + close_replication_stream $repl + } + + test {MULTI / EXEC is propagated correctly (read-only commands)} { + r set foo value1 + set repl [attach_to_replication_stream] + r multi + r get foo + r exec + r set foo value2 + assert_replication_stream $repl { + {select *} + {set foo value2} + } + close_replication_stream $repl + } + + test {MULTI / EXEC is propagated correctly (write command, no effect)} { + r del bar foo bar + set repl [attach_to_replication_stream] + r multi + r del foo + r exec + assert_replication_stream $repl { + {select *} + {multi} + {exec} + } + close_replication_stream $repl + } }