diff options
author | filipe oliveira <filipecosta.90@gmail.com> | 2020-11-04 12:49:15 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-04 14:49:15 +0200 |
commit | 10b50069344120c1d46418838bfc2de38b65ca4a (patch) | |
tree | e79e2751abc7f6187882c00fe35963655ffaa609 /tests | |
parent | f4ca3d8757d6abb3536610ddb7b9ab3ad39e81df (diff) | |
download | redis-10b50069344120c1d46418838bfc2de38b65ca4a.tar.gz |
Enable specifying TLS ciphers(suites) in redis-cli/redis-benchmark (#8005)
Enable specifying the preferred ciphers and/or ciphersuites for redis-cli/redis-benchmark.
Co-authored-by: Yossi Gottlieb <yossigo@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/redis-benchmark.tcl | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/integration/redis-benchmark.tcl b/tests/integration/redis-benchmark.tcl index 8abeabf0b..4a4be2ebc 100644 --- a/tests/integration/redis-benchmark.tcl +++ b/tests/integration/redis-benchmark.tcl @@ -123,5 +123,46 @@ start_server {tags {"benchmark"}} { # ensure the keyspace has the desired size assert_match {50} [scan [regexp -inline {keys\=([\d]*)} [r info keyspace]] keys=%d] } + + # tls specific tests + if {$::tls} { + test {benchmark: specific tls-ciphers} { + r flushall + r config resetstat + set cmd [redisbenchmark $master_host $master_port "-r 50 -t set -n 1000 --tls-ciphers \"DEFAULT:-AES128-SHA256\""] + 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" + } + assert_match {*calls=1000,*} [cmdstat set] + # assert one of the non benchmarked commands is not present + assert_match {} [cmdstat get] + } + + 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] + } + } + } } } |