summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/tests/integration/redis-benchmark.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/integration/redis-benchmark.tcl
parent58dac10aeb8f5a041c46bddbeaf4c7966a99b998 (diff)
downloadcrep-dcacc00e3750300617ba6e16eb346713f91a783a.tar.gz
Remove testing data
Diffstat (limited to 'examples/redis-unstable/tests/integration/redis-benchmark.tcl')
-rw-r--r--examples/redis-unstable/tests/integration/redis-benchmark.tcl179
1 files changed, 0 insertions, 179 deletions
diff --git a/examples/redis-unstable/tests/integration/redis-benchmark.tcl b/examples/redis-unstable/tests/integration/redis-benchmark.tcl
deleted file mode 100644
index c325440..0000000
--- a/examples/redis-unstable/tests/integration/redis-benchmark.tcl
+++ /dev/null
@@ -1,179 +0,0 @@
-source tests/support/benchmark.tcl
-source tests/support/cli.tcl
-
-proc cmdstat {cmd} {
- return [cmdrstat $cmd r]
-}
-
-# common code to reset stats, flush the db and run redis-benchmark
-proc common_bench_setup {cmd} {
- r config resetstat
- r flushall
- if {[catch { exec {*}$cmd } error]} {
- set first_line [lindex [split $error "\n"] 0]
- puts [colorstr red "redis-benchmark non zero code. first line: $first_line"]
- fail "redis-benchmark non zero code. first line: $first_line"
- }
-}
-
-# we use this extra asserts on a simple set,get test for features like uri parsing
-# and other simple flag related tests
-proc default_set_get_checks {} {
- assert_match {*calls=10,*} [cmdstat set]
- assert_match {*calls=10,*} [cmdstat get]
- # assert one of the non benchmarked commands is not present
- assert_match {} [cmdstat lrange]
-}
-
-tags {"benchmark network external:skip logreqres:skip"} {
- start_server {} {
- set master_host [srv 0 host]
- set master_port [srv 0 port]
- r select 0
-
- test {benchmark: set,get} {
- set cmd [redisbenchmark $master_host $master_port "-c 5 -n 10 -t set,get"]
- common_bench_setup $cmd
- default_set_get_checks
- }
-
- test {benchmark: connecting using URI set,get} {
- set cmd [redisbenchmarkuri $master_host $master_port "-c 5 -n 10 -t set,get"]
- common_bench_setup $cmd
- default_set_get_checks
- }
-
- test {benchmark: connecting using URI with authentication set,get} {
- r config set masterauth pass
- set cmd [redisbenchmarkuriuserpass $master_host $master_port "default" pass "-c 5 -n 10 -t set,get"]
- common_bench_setup $cmd
- default_set_get_checks
- }
-
- test {benchmark: full test suite} {
- set cmd [redisbenchmark $master_host $master_port "-c 10 -n 100"]
- common_bench_setup $cmd
-
- # ping total calls are 2*issued commands per test due to PING_INLINE and PING_MBULK
- assert_match {*calls=200,*} [cmdstat ping]
- assert_match {*calls=100,*} [cmdstat set]
- assert_match {*calls=100,*} [cmdstat get]
- assert_match {*calls=100,*} [cmdstat incr]
- # lpush total calls are 2*issued commands per test due to the lrange tests
- assert_match {*calls=200,*} [cmdstat lpush]
- assert_match {*calls=100,*} [cmdstat rpush]
- assert_match {*calls=100,*} [cmdstat lpop]
- assert_match {*calls=100,*} [cmdstat rpop]
- assert_match {*calls=100,*} [cmdstat sadd]
- assert_match {*calls=100,*} [cmdstat hset]
- assert_match {*calls=100,*} [cmdstat spop]
- assert_match {*calls=100,*} [cmdstat zadd]
- assert_match {*calls=100,*} [cmdstat zpopmin]
- assert_match {*calls=400,*} [cmdstat lrange]
- assert_match {*calls=100,*} [cmdstat mset]
- # assert one of the non benchmarked commands is not present
- assert_match {} [cmdstat rpoplpush]
- }
-
- test {benchmark: multi-thread set,get} {
- set cmd [redisbenchmark $master_host $master_port "--threads 10 -c 5 -n 10 -t set,get"]
- common_bench_setup $cmd
- default_set_get_checks
-
- # ensure only one key was populated
- assert_match {1} [scan [regexp -inline {keys\=([\d]*)} [r info keyspace]] keys=%d]
- }
-
- test {benchmark: pipelined full set,get} {
- set cmd [redisbenchmark $master_host $master_port "-P 5 -c 10 -n 10010 -t set,get"]
- common_bench_setup $cmd
- assert_match {*calls=10010,*} [cmdstat set]
- assert_match {*calls=10010,*} [cmdstat get]
- # assert one of the non benchmarked commands is not present
- assert_match {} [cmdstat lrange]
-
- # ensure only one key was populated
- assert_match {1} [scan [regexp -inline {keys\=([\d]*)} [r info keyspace]] keys=%d]
- }
-
- test {benchmark: arbitrary command} {
- set cmd [redisbenchmark $master_host $master_port "-c 5 -n 150 INCRBYFLOAT mykey 10.0"]
- common_bench_setup $cmd
- assert_match {*calls=150,*} [cmdstat incrbyfloat]
- # assert one of the non benchmarked commands is not present
- assert_match {} [cmdstat get]
-
- # ensure only one key was populated
- assert_match {1} [scan [regexp -inline {keys\=([\d]*)} [r info keyspace]] keys=%d]
- }
-
- test {benchmark: keyspace length} {
- set cmd [redisbenchmark $master_host $master_port "-r 50 -t set -n 1000"]
- common_bench_setup $cmd
- assert_match {*calls=1000,*} [cmdstat set]
- # assert one of the non benchmarked commands is not present
- assert_match {} [cmdstat get]
-
- # ensure the keyspace has the desired size
- assert_match {50} [scan [regexp -inline {keys\=([\d]*)} [r info keyspace]] keys=%d]
- }
-
- test {benchmark: clients idle mode should return error when reached maxclients limit} {
- set cmd [redisbenchmark $master_host $master_port "-c 10 -I"]
- set original_maxclients [lindex [r config get maxclients] 1]
- r config set maxclients 5
- catch { exec {*}$cmd } error
- assert_match "*Error*" $error
- r config set maxclients $original_maxclients
- }
-
- test {benchmark: read last argument from stdin} {
- set base_cmd [redisbenchmark $master_host $master_port "-x -n 10 set key"]
- set cmd "printf arg | $base_cmd"
- common_bench_setup $cmd
- r get key
- } {arg}
-
- # tls specific tests
- if {$::tls} {
- test {benchmark: specific tls-ciphers} {
- set cmd [redisbenchmark $master_host $master_port "-r 50 -t set -n 1000 --tls-ciphers \"DEFAULT:-AES128-SHA256\""]
- common_bench_setup $cmd
- assert_match {*calls=1000,*} [cmdstat set]
- # assert one of the non benchmarked commands is not present
- assert_match {} [cmdstat get]
- }
-
- test {benchmark: tls connecting using URI with authentication set,get} {
- r config set masterauth pass
- set cmd [redisbenchmarkuriuserpass $master_host $master_port "default" pass "-c 5 -n 10 -t set,get"]
- common_bench_setup $cmd
- default_set_get_checks
- }
-
- test {benchmark: specific tls-ciphersuites} {
- r flushall
- r config resetstat
- set ciphersuites_supported 1
- set cmd [redisbenchmark $master_host $master_port "-r 50 -t set -n 1000 --tls-ciphersuites \"TLS_AES_128_GCM_SHA256\""]
- if {[catch { exec {*}$cmd } error]} {
- set first_line [lindex [split $error "\n"] 0]
- if {[string match "*Invalid option*" $first_line]} {
- set ciphersuites_supported 0
- if {$::verbose} {
- puts "Skipping test, TLSv1.3 not supported."
- }
- } else {
- puts [colorstr red "redis-benchmark non zero code. first line: $first_line"]
- fail "redis-benchmark non zero code. first line: $first_line"
- }
- }
- if {$ciphersuites_supported} {
- assert_match {*calls=1000,*} [cmdstat set]
- # assert one of the non benchmarked commands is not present
- assert_match {} [cmdstat get]
- }
- }
- }
- }
-}