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
d4507ec6
Commit
d4507ec6
authored
Jun 04, 2010
by
Pieter Noordhuis
Browse files
refactor list tests to test both encodings; implemented assert functions
parent
d1578a33
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
tests/support/test.tcl
View file @
d4507ec6
...
...
@@ -2,7 +2,38 @@ set ::passed 0
set ::failed 0
set ::testnum 0
proc test
{
name code okpattern
}
{
proc assert_match
{
pattern value
}
{
if
{
!
[
string match $pattern $value
]}
{
puts
"!! ERROR
\n
Expected '
$value
' to match '
$pattern
'"
error
"assertion"
}
}
proc assert_equal
{
expected value
}
{
if
{
$expected
ne $value
}
{
puts
"!! ERROR
\n
Expected '
$value
' to be equal to '
$expected
'"
error
"assertion"
}
}
proc assert_error
{
pattern code
}
{
if
{[
catch $code error
]}
{
assert_match $pattern $error
}
else
{
puts
"!! ERROR
\n
Expected an error but nothing was catched"
error
"assertion"
}
}
proc assert_encoding
{
enc key
}
{
assert_match
"* encoding:
$enc
*"
[
r debug object $key
]
}
proc assert_type
{
type key
}
{
assert_equal $type
[
r type $key
]
}
proc test
{
name code
{
okpattern notspecified
}}
{
# abort if tagged with a tag to deny
foreach tag $::denytags
{
if
{[
lsearch $::tags $tag
]
>= 0
}
{
...
...
@@ -28,16 +59,21 @@ proc test {name code okpattern} {
puts -nonewline
[
format
"#%03d %-68s "
$::testnum $name
]
flush stdout
if
{[
catch
{
set retval
[
uplevel 1 $code
]}
error
]}
{
puts
"EXCEPTION"
puts
"
\n
Caught error:
$error
"
error
"exception"
}
if
{
$okpattern
eq $retval ||
[
string match $okpattern $retval
]}
{
puts
"PASSED
"
incr ::passed
if
{
$error
eq
"assertion"
}
{
incr ::failed
}
else
{
puts
"EXCEPTION"
puts
"
\n
Caught error:
$error
"
error
"exception
"
}
}
else
{
puts
"!! ERROR expected
\n
'
$okpattern
'
\n
but got
\n
'
$retval
'"
incr ::failed
if
{
$okpattern
eq
"notspecified"
|| $okpattern eq $retval ||
[
string match $okpattern $retval
]}
{
puts
"PASSED"
incr ::passed
}
else
{
puts
"!! ERROR expected
\n
'
$okpattern
'
\n
but got
\n
'
$retval
'"
incr ::failed
}
}
if
{
$::traceleaks
}
{
if
{
!
[
string match
{
*0 leaks*
}
[
exec leaks redis-server
]]}
{
...
...
tests/test_helper.tcl
View file @
d4507ec6
...
...
@@ -73,7 +73,7 @@ proc main {} {
execute_tests
"integration/aof"
# run tests with VM enabled
set ::global_overrides
[
list
[
list
vm-enabled yes
]]
set ::global_overrides
{
vm-enabled yes
}
execute_tests
"unit/protocol"
execute_tests
"unit/basic"
execute_tests
"unit/type/list"
...
...
tests/unit/type/list.tcl
View file @
d4507ec6
This diff is collapsed.
Click to expand it.
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