summaryrefslogtreecommitdiff
path: root/tests/unit/moduleapi/propagate.tcl
blob: aa0f55e5e3871390568d66d1aa778773c6430625 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
set testmodule [file normalize tests/modules/propagate.so]

tags "modules" {
    test {Modules can propagate in async and threaded contexts} {
        start_server {} {
            set replica [srv 0 client]
            set replica_host [srv 0 host]
            set replica_port [srv 0 port]
            start_server [list overrides [list loadmodule "$testmodule"]] {
                set master [srv 0 client]
                set master_host [srv 0 host]
                set master_port [srv 0 port]

                # Start the replication process...
                $replica replicaof $master_host $master_port
                wait_for_sync $replica

                after 1000
                $master propagate-test

                wait_for_condition 5000 10 {
                    ([$replica get timer] eq "10") && \
                    ([$replica get a-from-thread] eq "10")
                } else {
                    fail "The two counters don't match the expected value."
                }

                $master propagate-test-2
                $master propagate-test-3
                $master multi
                $master propagate-test-2
                $master propagate-test-3
                $master exec
                wait_for_ofs_sync $master $replica

                assert_equal [s -1 unexpected_error_replies] 0
            }
        }
    }
}

tags "modules aof" {
    test {Modules RM_Replicate replicates MULTI/EXEC correctly} {
        start_server [list overrides [list loadmodule "$testmodule"]] {
            # Enable the AOF
            r config set appendonly yes
            r config set auto-aof-rewrite-percentage 0 ; # Disable auto-rewrite.
            waitForBgrewriteaof r

            r propagate-test-2
            r propagate-test-3
            r multi
            r propagate-test-2
            r propagate-test-3
            r exec

            # Load the AOF
            r debug loadaof

            assert_equal [s 0 unexpected_error_replies] 0
        }
    }
}