Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
611959ee
Unverified
Commit
611959ee
authored
Apr 25, 2021
by
Oran Agra
Committed by
GitHub
Apr 25, 2021
Browse files
fuzz tester, try to print hung command (#8837)
parent
828ae842
Changes
4
Hide whitespace changes
Inline
Side-by-side
.github/workflows/ci.yml
View file @
611959ee
...
...
@@ -14,7 +14,7 @@ jobs:
run
:
make REDIS_CFLAGS='-Werror' BUILD_TLS=yes
-
name
:
test
run
:
|
sudo apt-get install tcl8.6
sudo apt-get install tcl8.6
tclx
./runtest --verbose
-
name
:
module api test
run
:
./runtest-moduleapi --verbose
...
...
.github/workflows/daily.yml
View file @
611959ee
...
...
@@ -20,7 +20,7 @@ jobs:
run
:
make REDIS_CFLAGS='-Werror -DREDIS_TEST'
-
name
:
test
run
:
|
sudo apt-get install tcl8.6
sudo apt-get install tcl8.6
tclx
./runtest --accurate --verbose --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --verbose
...
...
@@ -41,7 +41,7 @@ jobs:
run
:
make MALLOC=libc
-
name
:
test
run
:
|
sudo apt-get install tcl8.6
sudo apt-get install tcl8.6
tclx
./runtest --accurate --verbose --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --verbose
...
...
@@ -60,7 +60,7 @@ jobs:
run
:
make MALLOC=libc CFLAGS=-DNO_MALLOC_USABLE_SIZE
-
name
:
test
run
:
|
sudo apt-get install tcl8.6
sudo apt-get install tcl8.6
tclx
./runtest --accurate --verbose --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --verbose
...
...
@@ -81,7 +81,7 @@ jobs:
make 32bit REDIS_CFLAGS='-Werror -DREDIS_TEST'
-
name
:
test
run
:
|
sudo apt-get install tcl8.6
sudo apt-get install tcl8.6
tclx
./runtest --accurate --verbose --dump-logs
-
name
:
module api test
run
:
|
...
...
@@ -105,7 +105,7 @@ jobs:
make BUILD_TLS=yes
-
name
:
test
run
:
|
sudo apt-get install tcl8.6 tcl-tls
sudo apt-get install tcl8.6
tclx
tcl-tls
./utils/gen-test-certs.sh
./runtest --accurate --verbose --tls --dump-logs
./runtest --accurate --verbose --dump-logs
...
...
@@ -133,7 +133,7 @@ jobs:
make
-
name
:
test
run
:
|
sudo apt-get install tcl8.6 tcl-tls
sudo apt-get install tcl8.6
tclx
tcl-tls
./runtest --config io-threads 4 --config io-threads-do-reads yes --accurate --verbose --tags network --dump-logs
-
name
:
cluster tests
run
:
|
...
...
@@ -150,7 +150,7 @@ jobs:
-
name
:
test
run
:
|
sudo apt-get update
sudo apt-get install tcl8.6 valgrind -y
sudo apt-get install tcl8.6
tclx
valgrind -y
./runtest --valgrind --verbose --clients 1 --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --valgrind --no-latency --verbose --clients
1
...
...
@@ -170,7 +170,7 @@ jobs:
-
name
:
test
run
:
|
sudo apt-get update
sudo apt-get install tcl8.6 valgrind -y
sudo apt-get install tcl8.6
tclx
valgrind -y
./runtest --valgrind --verbose --clients 1 --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --valgrind --no-latency --verbose --clients
1
...
...
@@ -188,7 +188,7 @@ jobs:
make
-
name
:
test
run
:
|
yum -y install which tcl
yum -y install which tcl
tclx
./runtest --accurate --verbose --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --verbose
...
...
@@ -211,7 +211,7 @@ jobs:
scl enable devtoolset-7 "make BUILD_TLS=yes"
-
name
:
test
run
:
|
yum -y install tcl tcltls
yum -y install tcl tcltls
tclx
./utils/gen-test-certs.sh
./runtest --accurate --verbose --tls --dump-logs
./runtest --accurate --verbose --dump-logs
...
...
@@ -257,7 +257,7 @@ jobs:
with
:
usesh
:
true
sync
:
rsync
prepare
:
pkg install -y bash gmake lang/tcl86
prepare
:
pkg install -y bash gmake lang/tcl86
lang/tclx
run
:
>
gmake &&
./runtest --accurate --verbose --no-latency --dump-logs &&
...
...
@@ -277,7 +277,7 @@ jobs:
make REDIS_CFLAGS='-Werror'
-
name
:
test
run
:
|
apk add tcl procps
apk add tcl procps
tclx
./runtest --accurate --verbose --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --verbose
...
...
@@ -298,7 +298,7 @@ jobs:
make REDIS_CFLAGS='-Werror' USE_JEMALLOC=no CFLAGS=-DUSE_MALLOC_USABLE_SIZE
-
name
:
test
run
:
|
apk add tcl procps
apk add tcl procps
tclx
./runtest --accurate --verbose --dump-logs
-
name
:
module api test
run
:
./runtest-moduleapi --verbose
...
...
tests/integration/corrupt-dump-fuzzer.tcl
View file @
611959ee
...
...
@@ -2,6 +2,15 @@
tags
{
"dump"
"corruption"
}
{
# catch sigterm so that in case one of the random command hangs the test,
# usually due to redis not putting a response in the output buffers,
# we'll know which command it was
if
{
!
[
catch
{
package require Tclx
}
err
]
}
{
signal error SIGTERM
}
proc generate_collections
{
suffix elements
}
{
set rd
[
redis_deferring_client
]
for
{
set j 0
}
{
$j
< $elements
}
{
incr j
}
{
...
...
tests/support/util.tcl
View file @
611959ee
...
...
@@ -641,6 +641,12 @@ proc generate_fuzzy_traffic_on_key {key duration} {
r
{*}
$cmd
}
err
]
}
{
incr succeeded
}
else
{
set err
[
format
"%s"
$err
]
;
# convert to string for pattern matching
if
{[
string match
"*SIGTERM*"
$err
]}
{
puts
"command caused test to hang?
$cmd
"
exit 1
}
}
}
...
...
@@ -761,4 +767,4 @@ proc psubscribe {client channels} {
proc punsubscribe
{
client
{
channels
{}}}
{
$client punsubscribe
{*}
$channels
consume_subscribe_messages $client punsubscribe $channels
}
\ No newline at end of file
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment