Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xindoo
redis
提交
dd3f505f
R
redis
项目概览
xindoo
/
redis
通知
2
Star
2
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,体验更适合开发者的 AI 搜索 >>
提交
dd3f505f
编写于
7月 27, 2010
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Consistency test improved
上级
f99e660b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
100 addition
and
17 deletion
+100
-17
tests/support/util.tcl
tests/support/util.tcl
+49
-0
tests/unit/other.tcl
tests/unit/other.tcl
+51
-17
未找到文件。
tests/support/util.tcl
浏览文件 @
dd3f505f
...
...
@@ -224,3 +224,52 @@ proc formatCommand {args} {
}
set _ $cmd
}
proc csvdump r
{
set o
{}
foreach k
[
lsort
[
$r
keys *
]]
{
set type
[
$r
type $k
]
append o
[
csvstring $k
]
,
[
csvstring $type
]
,
switch $type
{
string
{
append o
[
csvstring
[
$r
get $k
]]
"
\n
"
}
list
{
foreach e
[
$r
lrange $k 0 -1
]
{
append o
[
csvstring $e
]
,
}
append o
"
\n
"
}
set
{
foreach e
[
lsort
[
$r
smembers $k
]]
{
append o
[
csvstring $e
]
,
}
append o
"
\n
"
}
zset
{
foreach e
[
$r
zrange $k 0 -1 withscores
]
{
append o
[
csvstring $e
]
,
}
append o
"
\n
"
}
hash
{
set fields
[
$r
hgetall $k
]
set newfields
{}
foreach
{
k v
}
$fields
{
lappend newfields
[
list $k $v
]
}
set fields
[
lsort -index 0 $newfields
]
foreach kv $fields
{
append o
[
csvstring
[
lindex $kv 0
]]
,
append o
[
csvstring
[
lindex $kv 1
]]
,
}
append o
"
\n
"
}
}
}
return $o
}
proc csvstring s
{
return
"
\"
$s
\"
"
}
tests/unit/other.tcl
浏览文件 @
dd3f505f
...
...
@@ -46,23 +46,57 @@ start_server {} {
set _ $err
}
{
*invalid*
}
if
{
!
[
catch
{
package require sha1
}]}
{
test
{
Check consistency of different data types after a reload
}
{
r flushdb
createComplexDataset r 10000
set sha1
[
r debug digest
]
r debug reload
set sha1_after
[
r debug digest
]
expr
{
$sha1
eq $sha1_after
}
}
{
1
}
test
{
Same dataset digest if saving/reloading as AOF?
}
{
r bgrewriteaof
waitForBgrewriteaof r
r debug loadaof
set sha1_after
[
r debug digest
]
expr
{
$sha1
eq $sha1_after
}
}
{
1
}
tags
{
consistency
}
{
if
{
!
[
catch
{
package require sha1
}]}
{
test
{
Check consistency of different data types after a reload
}
{
r flushdb
createComplexDataset r 10000
set dump
[
csvdump r
]
set sha1
[
r debug digest
]
r debug reload
r set baubau x
set sha1_after
[
r debug digest
]
if
{
$sha1
eq $sha1_after
}
{
set _ 1
}
else
{
set newdump
[
csvdump r
]
puts
"Consistency test failed!"
puts
"You can inspect the two dumps in /tmp/repldump*.txt"
set fd
[
open /tmp/repldump1.txt w
]
puts $fd $dump
close $fd
set fd
[
open /tmp/repldump2.txt w
]
puts $fd $newdump
close $fd
set _ 0
}
}
{
1
}
test
{
Same dataset digest if saving/reloading as AOF?
}
{
r bgrewriteaof
waitForBgrewriteaof r
r debug loadaof
set sha1_after
[
r debug digest
]
if
{
$sha1
eq $sha1_after
}
{
set _ 1
}
else
{
set newdump
[
csvdump r
]
puts
"Consistency test failed!"
puts
"You can inspect the two dumps in /tmp/aofdump*.txt"
set fd
[
open /tmp/aofdump1.txt w
]
puts $fd $dump
close $fd
set fd
[
open /tmp/aofdump2.txt w
]
puts $fd $newdump
close $fd
set _ 0
}
}
{
1
}
}
}
test
{
EXPIRES after a reload
(
snapshot + append only file
)}
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录