Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
hanoi2005
redis
提交
14e809d0
R
redis
项目概览
hanoi2005
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
14e809d0
编写于
11月 12, 2013
作者:
J
Jonathan Pickett
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
adjusting unit test timing and forcing double evaluation rather than string evaluation
上级
e0f78cd0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
22 deletion
+43
-22
tests/unit/expire.tcl
tests/unit/expire.tcl
+37
-20
tests/unit/type/zset.tcl
tests/unit/type/zset.tcl
+6
-2
未找到文件。
tests/unit/expire.tcl
浏览文件 @
14e809d0
...
...
@@ -8,8 +8,11 @@ start_server {tags {"expire"}} {
set v3
[
r expire x 10
]
set v4
[
r ttl x
]
r expire x 2
list $v1 $v2 $v3 $v4
}
{
1
[
45
]
1 10
}
assert
{
$v1
eq 1
}
assert
{
$v2
>= 4
}
assert
{
$v3
eq 1
}
assert
{
$v4
>= 9
}
}
test
{
EXPIRE - It should be still possible to read 'x'
}
{
r get x
...
...
@@ -105,10 +108,10 @@ start_server {tags {"expire"}} {
set expire 100
set maxExpire 120
if
{
[
string match
{
*win32*
}
[
platform::identify
]]
== 1
}
{
# tweaking windows expire times in order to bypass unit test failures. statement-statement execution time on a fully taxed system can be 1
50
ms.
# tweaking windows expire times in order to bypass unit test failures. statement-statement execution time on a fully taxed system can be 1
00's of
ms.
set minExpire 10
set expire
2
00
set maxExpire
5
00
set expire
10
00
set maxExpire
20
00
}
# This test is very likely to do a false positive if the
...
...
@@ -116,50 +119,64 @@ start_server {tags {"expire"}} {
# chances.
for
{
set j 0
}
{
$j
< 10
}
{
incr j
}
{
r del x y z
r psetex x $expire somevalue
r psetex x $expire somevalue
_1
after $minExpire
set a
[
r get x
]
after $maxExpire
set b
[
r get x
]
r set x somevalue
r set x somevalue
_2
r pexpire x $expire
after $minExpire
set c
[
r get x
]
after $maxExpire
set d
[
r get x
]
r set x somevalue
r set x somevalue
_3
r pexpireat x
[
expr
([
clock seconds
]
*1000
)
+$expire
]
after $minExpire
set e
[
r get x
]
after $maxExpire
set f
[
r get x
]
if
{
$a
eq
{
somevalue
}
&& $b eq
{}
&&
$c eq
{
somevalue
}
&& $d eq
{}
&&
$e eq
{
somevalue
}
&& $f eq
{}}
break
if
{
$a
eq
{
somevalue
_1
}
&& $b eq
{}
&&
$c eq
{
somevalue
_2
}
&& $d eq
{}
&&
$e eq
{
somevalue
_3
}
&& $f eq
{}}
break
}
list $a $b
}
{
somevalue
{}}
list $a $b
$c $d $e $f
}
{
somevalue
_1
{}
somevalue_2
{}
somevalue_3
{}}
test
{
PTTL returns millisecond time to live
}
{
set expireTime 1
set minTime 900
set maxTime 1000
if
{
[
string match
{
*win32*
}
[
platform::identify
]]
== 1
}
{
set expireTime 2
set minTime 200
set maxTime 2000
}
r del x
r setex x
1
somevalue
r setex x
$expireTime
somevalue
set ttl
[
r pttl x
]
assert
{
$ttl
>
900 && $ttl <= 1000
}
assert
{
$ttl
>
$minTime && $ttl <= $maxTime
}
}
test
{
Redis should actively expire keys incrementally
}
{
r flushdb
r psetex key1 500 a
r psetex key2 500 a
r psetex key3 500 a
set expireTime 500
set evictionTime 1000
if
{
[
string match
{
*win32*
}
[
platform::identify
]]
== 1
}
{
set expireTime 2000
set evictionTime 4000
}
r flushdb
r psetex key1 $expireTime a
r psetex key2 $expireTime a
r psetex key3 $expireTime a
set size1
[
r dbsize
]
# Redis expires random keys ten times every second so we are
# fairly sure that all the three keys should be evicted after
# one second.
after
1000
after
$evictionTime
set size2
[
r dbsize
]
list $size1 $size2
}
{
3 0
}
...
...
tests/unit/type/zset.tcl
浏览文件 @
14e809d0
...
...
@@ -558,7 +558,9 @@ start_server {tags {"zset"}} {
assert_encoding $encoding zscoretest
for
{
set i 0
}
{
$i
< $elements
}
{
incr i
}
{
assert_equal
[
lindex $aux $i
]
[
r zscore zscoretest $i
]
set x
[
expr
{
double
([
lindex $aux $i
])
}
]
set y
[
expr
{
double
([
r zscore zscoretest $i
])
}
]
assert_equal $x $y
}
}
...
...
@@ -574,7 +576,9 @@ start_server {tags {"zset"}} {
r debug reload
assert_encoding $encoding zscoretest
for
{
set i 0
}
{
$i
< $elements
}
{
incr i
}
{
assert_equal
[
lindex $aux $i
]
[
r zscore zscoretest $i
]
set x
[
expr
{
double
([
lindex $aux $i
])
}
]
set y
[
expr
{
double
([
r zscore zscoretest $i
])
}
]
assert_equal $x $y
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录