Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
d8f160a8
Commit
d8f160a8
authored
Dec 14, 2010
by
Pieter Noordhuis
Browse files
Add test cases for GETRANGE against integer-encoded strings
parent
ef11bccc
Changes
1
Show whitespace changes
Inline
Side-by-side
tests/unit/basic.tcl
View file @
d8f160a8
...
...
@@ -563,39 +563,39 @@ start_server {tags {"basic"}} {
assert_error
"*maximum allowed size*"
{
r setrange mykey
[
expr 512*1024*1024-4
]
world
}
}
test
{
SUBSTR basics
}
{
set res
{}
r set foo
"Hello World"
lappend res
[
r substr foo 0 3
]
lappend res
[
r substr foo 0 -1
]
lappend res
[
r substr foo -4 -1
]
lappend res
[
r substr foo 5 3
]
lappend res
[
r substr foo 5 5000
]
lappend res
[
r substr foo -5000 10000
]
set _ $res
}
{
Hell
{
Hello World
}
orld
{}
{
World
}
{
Hello World
}}
test
{
SUBSTR against integer encoded values
}
{
r set foo 123
r substr foo 0 -2
}
{
12
}
test
{
SUBSTR fuzzing
}
{
set err
{}
test
"GETRANGE against non-existing key"
{
r del mykey
assert_equal
""
[
r getrange mykey 0 -1
]
}
test
"GETRANGE against string value"
{
r set mykey
"Hello World"
assert_equal
"Hell"
[
r getrange mykey 0 3
]
assert_equal
"Hello World"
[
r getrange mykey 0 -1
]
assert_equal
"orld"
[
r getrange mykey -4 -1
]
assert_equal
""
[
r getrange mykey 5 3
]
assert_equal
" World"
[
r getrange mykey 5 5000
]
assert_equal
"Hello World"
[
r getrange mykey -5000 10000
]
}
test
"GETRANGE against integer-encoded value"
{
r set mykey 1234
assert_equal
"123"
[
r getrange mykey 0 2
]
assert_equal
"1234"
[
r getrange mykey 0 -1
]
assert_equal
"234"
[
r getrange mykey -3 -1
]
assert_equal
""
[
r getrange mykey 5 3
]
assert_equal
"4"
[
r getrange mykey 3 5000
]
assert_equal
"1234"
[
r getrange mykey -5000 10000
]
}
test
"GETRANGE fuzzing"
{
for
{
set i 0
}
{
$i
< 1000
}
{
incr i
}
{
set bin
[
randstring 0 1024 binary
]
r set bin
[
set bin
[
randstring 0 1024 binary
]
]
set _start
[
set start
[
randomInt 1500
]]
set _end
[
set end
[
randomInt 1500
]]
if
{
$_start < 0
}
{
set _start
"end-
[
abs
(
$_start
)
-1
]
"
}
if
{
$_end < 0
}
{
set _end
"end-
[
abs
(
$_end
)
-1
]
"
}
set s1
[
string range $bin $_start $_end
]
r set bin $bin
set s2
[
r substr bin $start $end
]
if
{
$s1
!= $s2
}
{
set err
"String mismatch"
break
assert_equal
[
string range $bin $_start $_end
]
[
r getrange bin $start $end
]
}
}
set _ $err
}
{}
}
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