Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
别团等shy哥发育
redis
提交
fc78d978
R
redis
项目概览
别团等shy哥发育
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,发现更多精彩内容 >>
提交
fc78d978
编写于
3月 27, 2013
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Test: new functions to capture and analyze the replication stream.
上级
6cb78606
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
53 addition
and
0 deletion
+53
-0
tests/test_helper.tcl
tests/test_helper.tcl
+53
-0
未找到文件。
tests/test_helper.tcl
浏览文件 @
fc78d978
...
...
@@ -408,6 +408,59 @@ for {set j 0} {$j < [llength $argv]} {incr j} {
}
}
proc attach_to_replication_stream
{}
{
set s
[
socket
[
srv 0
"host"
]
[
srv 0
"port"
]]
fconfigure $s -translation binary
puts -nonewline $s
"SYNC
\r\n
"
flush $s
# Get the count
set count
[
gets $s
]
set prefix
[
string range $count 0 0
]
if
{
$prefix
ne
{
$
}}
{
error
"attach_to_replication_stream error. Received '
$count
' as count."
}
set count
[
string range $count 1 end
]
# Consume the bulk payload
while
{
$count
}
{
set buf
[
read $s $count
]
set count
[
expr
{
$count-
[
string length $buf
]}]
}
return $s
}
proc read_from_replication_stream
{
s
}
{
fconfigure $s -blocking 0
set attempt 0
while
{[
gets $s count
]
== -1
}
{
if
{[
incr attempt
]
== 10
}
return
""
after 100
}
fconfigure $s -blocking 1
set count
[
string range $count 1 end
]
# Return a list of arguments for the command.
set res
{}
for
{
set j 0
}
{
$j
< $count
}
{
incr j
}
{
read $s 1
set arg
[
::redis::redis_bulk_read $s
]
if
{
$j
== 0
}
{
set arg
[
string tolower $arg
]}
lappend res $arg
}
return $res
}
proc assert_replication_stream
{
s patterns
}
{
for
{
set j 0
}
{
$j
<
[
llength $patterns
]}
{
incr j
}
{
assert_match
[
lindex $patterns $j
]
[
read_from_replication_stream $s
]
}
}
proc close_replication_stream
{
s
}
{
close $s
}
# With the parallel test running multiple Redis instances at the same time
# we need a fast enough computer, otherwise a lot of tests may generate
# false positives.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录