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
6e0e5bed
Commit
6e0e5bed
authored
Jun 02, 2010
by
Pieter Noordhuis
Browse files
basic support to tag tests
parent
9e5d2e8b
Changes
4
Hide whitespace changes
Inline
Side-by-side
tests/support/server.tcl
View file @
6e0e5bed
set ::global_overrides
{}
set ::tags
{}
proc error_and_quit
{
config_file error
}
{
proc error_and_quit
{
config_file error
}
{
puts
"!!COULD NOT START REDIS-SERVER
\n
"
puts
"!!COULD NOT START REDIS-SERVER
\n
"
puts
"CONFIGURATION:"
puts
"CONFIGURATION:"
...
@@ -80,18 +83,31 @@ proc ping_server {host port} {
...
@@ -80,18 +83,31 @@ proc ping_server {host port} {
return $retval
return $retval
}
}
set ::global_overrides
{}
# doesn't really belong here, but highly coupled to code in start_server
proc tags
{
tags code
}
{
set ::tags
[
concat $::tags $tags
]
uplevel 1 $code
set ::tags
[
lrange $::tags 0 end-
[
llength $tags
]]
}
proc start_server
{
options
{
code undefined
}}
{
proc start_server
{
options
{
code undefined
}}
{
# setup defaults
# setup defaults
set baseconfig
"default.conf"
set baseconfig
"default.conf"
set overrides
{}
set overrides
{}
set tags
{}
# parse options
# parse options
foreach
{
option value
}
$options
{
foreach
{
option value
}
$options
{
switch $option
{
switch $option
{
"config"
{
set baseconfig $value
}
"config"
{
"overrides"
{
set overrides $value
}
set baseconfig $value
}
default
{
error
"Unknown option
$option
"
}
"overrides"
{
set overrides $value
}
"tags"
{
set tags $value
set ::tags
[
concat $::tags $value
]
}
default
{
error
"Unknown option
$option
"
}
}
}
}
}
...
@@ -190,7 +206,12 @@ proc start_server {options {code undefined}} {
...
@@ -190,7 +206,12 @@ proc start_server {options {code undefined}} {
lappend ::servers $srv
lappend ::servers $srv
# execute provided block
# execute provided block
set curnum $::testnum
catch
{
uplevel 1 $code
}
err
catch
{
uplevel 1 $code
}
err
if
{
$curnum
== $::testnum
}
{
# don't check for leaks when no tests were executed
dict set srv
"skipleaks"
1
}
# pop the server object
# pop the server object
set ::servers
[
lrange $::servers 0 end-1
]
set ::servers
[
lrange $::servers 0 end-1
]
...
@@ -219,4 +240,7 @@ proc start_server {options {code undefined}} {
...
@@ -219,4 +240,7 @@ proc start_server {options {code undefined}} {
}
else
{
}
else
{
set _ $srv
set _ $srv
}
}
# remove tags
set ::tags
[
lrange $::tags 0 end-
[
llength $tags
]]
}
}
tests/support/test.tcl
View file @
6e0e5bed
...
@@ -3,6 +3,27 @@ set ::failed 0
...
@@ -3,6 +3,27 @@ set ::failed 0
set ::testnum 0
set ::testnum 0
proc test
{
name code okpattern
}
{
proc test
{
name code okpattern
}
{
# abort if tagged with a tag to deny
foreach tag $::denytags
{
if
{[
lsearch $::tags $tag
]
>= 0
}
{
return
}
}
# check if tagged with at least 1 tag to allow when there *is* a list
# of tags to allow, because default policy is to run everything
if
{[
llength $::allowtags
]
> 0
}
{
set matched 0
foreach tag $::allowtags
{
if
{[
lsearch $::tags $tag
]}
{
incr matched
}
}
if
{
$matched
< 1
}
{
return
}
}
incr ::testnum
incr ::testnum
puts -nonewline
[
format
"#%03d %-68s "
$::testnum $name
]
puts -nonewline
[
format
"#%03d %-68s "
$::testnum $name
]
flush stdout
flush stdout
...
...
tests/test_helper.tcl
View file @
6e0e5bed
...
@@ -13,6 +13,8 @@ set ::host 127.0.0.1
...
@@ -13,6 +13,8 @@ set ::host 127.0.0.1
set ::port 16379
set ::port 16379
set ::traceleaks 0
set ::traceleaks 0
set ::valgrind 0
set ::valgrind 0
set ::denytags
{}
set ::allowtags
{}
proc execute_tests name
{
proc execute_tests name
{
source
"tests/
$name.tcl
"
source
"tests/
$name.tcl
"
...
...
tests/unit/basic.tcl
View file @
6e0e5bed
start_server
{}
{
start_server
{
tags
{
basic
}
}
{
test
{
DEL all keys to start with a clean DB
}
{
test
{
DEL all keys to start with a clean DB
}
{
foreach key
[
r keys *
]
{
r del $key
}
foreach key
[
r keys *
]
{
r del $key
}
r dbsize
r dbsize
...
@@ -52,6 +52,7 @@ start_server {} {
...
@@ -52,6 +52,7 @@ start_server {} {
r get foo
r get foo
}
[
string repeat
"abcd"
1000000
]
}
[
string repeat
"abcd"
1000000
]
tags
{
slow
}
{
test
{
Very big payload random access
}
{
test
{
Very big payload random access
}
{
set err
{}
set err
{}
array set payload
{}
array set payload
{}
...
@@ -92,6 +93,7 @@ start_server {} {
...
@@ -92,6 +93,7 @@ start_server {} {
test
{
DBSIZE should be 10101 now
}
{
test
{
DBSIZE should be 10101 now
}
{
r dbsize
r dbsize
}
{
10101
}
}
{
10101
}
}
test
{
INCR against non existing key
}
{
test
{
INCR against non existing key
}
{
set res
{}
set res
{}
...
...
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