summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/tests/unit/moduleapi/keyspace_events.tcl
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:52:54 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:52:54 +0100
commitdcacc00e3750300617ba6e16eb346713f91a783a (patch)
tree38e2d4fb5ed9d119711d4295c6eda4b014af73fd /examples/redis-unstable/tests/unit/moduleapi/keyspace_events.tcl
parent58dac10aeb8f5a041c46bddbeaf4c7966a99b998 (diff)
downloadcrep-dcacc00e3750300617ba6e16eb346713f91a783a.tar.gz
Remove testing data
Diffstat (limited to 'examples/redis-unstable/tests/unit/moduleapi/keyspace_events.tcl')
-rw-r--r--examples/redis-unstable/tests/unit/moduleapi/keyspace_events.tcl140
1 files changed, 0 insertions, 140 deletions
diff --git a/examples/redis-unstable/tests/unit/moduleapi/keyspace_events.tcl b/examples/redis-unstable/tests/unit/moduleapi/keyspace_events.tcl
deleted file mode 100644
index 5d62a71..0000000
--- a/examples/redis-unstable/tests/unit/moduleapi/keyspace_events.tcl
+++ /dev/null
@@ -1,140 +0,0 @@
-set testmodule [file normalize tests/modules/keyspace_events.so]
-
-tags "modules external:skip" {
- start_server [list overrides [list loadmodule "$testmodule"]] {
-
- # avoid using shared integers, to increase the chance of detection heap issues
- r config set maxmemory-policy allkeys-lru
- r config set maxmemory 1gb
-
- test {Test loaded key space event} {
- r set x 1
- r hset y f v
- r lpush z 1 2 3
- r sadd p 1 2 3
- r zadd t 1 f1 2 f2
- r xadd s * f v
- r debug reload
- assert_equal {1 x} [r keyspace.is_key_loaded x]
- assert_equal {1 y} [r keyspace.is_key_loaded y]
- assert_equal {1 z} [r keyspace.is_key_loaded z]
- assert_equal {1 p} [r keyspace.is_key_loaded p]
- assert_equal {1 t} [r keyspace.is_key_loaded t]
- assert_equal {1 s} [r keyspace.is_key_loaded s]
- }
-
- test {Nested multi due to RM_Call} {
- r del multi
- r del lua
-
- r set x 1
- r set x_copy 1
- r keyspace.del_key_copy x
- r keyspace.incr_case1 x
- r keyspace.incr_case2 x
- r keyspace.incr_case3 x
- assert_equal {} [r get multi]
- assert_equal {} [r get lua]
- r get x
- } {3}
-
- test {Nested multi due to RM_Call, with client MULTI} {
- r del multi
- r del lua
-
- r set x 1
- r set x_copy 1
- r multi
- r keyspace.del_key_copy x
- r keyspace.incr_case1 x
- r keyspace.incr_case2 x
- r keyspace.incr_case3 x
- r exec
- assert_equal {1} [r get multi]
- assert_equal {} [r get lua]
- r get x
- } {3}
-
- test {Nested multi due to RM_Call, with EVAL} {
- r del multi
- r del lua
-
- r set x 1
- r set x_copy 1
- r eval {
- redis.pcall('keyspace.del_key_copy', KEYS[1])
- redis.pcall('keyspace.incr_case1', KEYS[1])
- redis.pcall('keyspace.incr_case2', KEYS[1])
- redis.pcall('keyspace.incr_case3', KEYS[1])
- } 1 x
- assert_equal {} [r get multi]
- assert_equal {1} [r get lua]
- r get x
- } {3}
-
- test {Test module key space event} {
- r keyspace.notify x
- assert_equal {1 x} [r keyspace.is_module_key_notified x]
- }
-
- test "Keyspace notifications: module events test" {
- r config set notify-keyspace-events Kd
- r del x
- set rd1 [redis_deferring_client]
- assert_equal {1} [psubscribe $rd1 *]
- r keyspace.notify x
- assert_equal {pmessage * __keyspace@9__:x notify} [$rd1 read]
- $rd1 close
- }
-
- test "Keyspace notifications: unsubscribe removes handler" {
- r config set notify-keyspace-events KEA
- set before [r keyspace.callback_count]
- r set a 1
- r del a
- wait_for_condition 100 10 {
- [r keyspace.callback_count] > $before
- } else {
- fail "callback did not trigger"
- }
- set before_unsub [r keyspace.callback_count]
- r keyspace.unsubscribe 4 ;# REDISMODULE_NOTIFY_GENERIC
- r set a 1
- r del a
- set after_unsub [r keyspace.callback_count]
- assert_equal $before_unsub $after_unsub
- }
-
- test {Test expired key space event} {
- set prev_expired [s expired_keys]
- r set exp 1 PX 10
- wait_for_condition 100 10 {
- [s expired_keys] eq $prev_expired + 1
- } else {
- fail "key not expired"
- }
- assert_equal [r get testkeyspace:expired] 1
- }
-
- test "Unload the module - testkeyspace" {
- assert_equal {OK} [r module unload testkeyspace]
- }
-
- test "Verify RM_StringDMA with expiration are not causing invalid memory access" {
- assert_equal {OK} [r set x 1 EX 1]
- }
- }
-
- start_server {} {
- test {OnLoad failure will handle un-registration} {
- catch {r module load $testmodule noload}
- r set x 1
- r hset y f v
- r lpush z 1 2 3
- r sadd p 1 2 3
- r zadd t 1 f1 2 f2
- r xadd s * f v
- r ping
- }
- }
-}