Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
killuaz丶x
SkyWalking
提交
1a6ec531
S
SkyWalking
项目概览
killuaz丶x
/
SkyWalking
与 Fork 源项目一致
Fork自
apache / SkyWalking
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1a6ec531
编写于
6月 13, 2016
作者:
A
ascrutae
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增清理ContextPool的方法,方便测试
上级
9464d946
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
37 addition
and
13 deletion
+37
-13
test/skywalking-agent-test/redis-test/doc/HOW_TO_RUN_REDIS_TEST.md
...alking-agent-test/redis-test/doc/HOW_TO_RUN_REDIS_TEST.md
+2
-5
test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterPluginTest.java
...i/cloud/skywalking/agent/test/RedisClusterPluginTest.java
+9
-2
test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisPluginTest.java
...a/com/ai/cloud/skywalking/agent/test/RedisPluginTest.java
+6
-1
test/skywalking-test-api/src/main/java/com/ai/skywalking/testframework/api/ContextPoolOperator.java
.../ai/skywalking/testframework/api/ContextPoolOperator.java
+15
-4
test/skywalking-test-api/src/main/java/com/ai/skywalking/testframework/api/TraceTreeAssert.java
.../com/ai/skywalking/testframework/api/TraceTreeAssert.java
+5
-1
未找到文件。
test/skywalking-agent-test/redis-test/doc/HOW_TO_RUN_REDIS_TEST.md
浏览文件 @
1a6ec531
...
...
@@ -45,11 +45,8 @@ redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 1
```
## 启动测试 Run test case
启动测试用例时,VM参数中需要添加以下的vm参数。
**注意**
:由于buffer在JVM是独一份,为了避免测试结果不一致,测试类不能一起测试,
只能单独运行测试方法,测试中的环境参数可能跟随机器变化,所以可能需要进行修改。
When you start the test case, VM parameters need to add the following parameters vm.
**Notice**
Because the buffer is the only one in JVM , in order to avoid inconsistent results, test class can not be tested together,
Can only run a single test method, the test environment parameters may change following the machine, it may need to be modified.
启动测试用例时,VM参数中需要添加以下的vm参数。
**注意**
:测试中的环境参数可能跟随机器变化,所以可能需要进行修改。
When you start the test case, VM parameters need to add the following parameters vm.
**Notice**
:The test environment parameters may change following the machine, it may need to be modified.
```
-javaagent:${SKYWALKING_AGENT_TEST_PROJECT_PATH}/lib/skywalking-agent-1.0-Final.jar
```
\ No newline at end of file
test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisClusterPluginTest.java
浏览文件 @
1a6ec531
package
com.ai.cloud.skywalking.agent.test
;
import
com.ai.skywalking.testframework.api.TraceTreeAssert
;
import
org.junit.After
;
import
org.junit.Test
;
public
class
RedisClusterPluginTest
{
@After
public
void
clearData
(){
TraceTreeAssert
.
clearTraceData
();
}
@Test
public
void
testSetData
()
{
RedisClusterOperator
.
setData
(
"key1"
,
"value1"
);
TraceTreeAssert
.
assertEquals
(
new
String
[][]{
// 根据实际情况进行修改
{
"0.0"
,
"127.0.0.1:7001 set"
,
"key=key1"
},
{
"0"
,
"127.0.0.1:700
2;127.0.0.1:7001;127.0.0.1:7000;127.0.0.1:7005;127.0.0.1:7004;127.0.0.1:7003
; set"
,
"key=key1"
},
{
"0"
,
"127.0.0.1:700
1;127.0.0.1:7000
; set"
,
"key=key1"
},
});
}
...
...
@@ -22,7 +29,7 @@ public class RedisClusterPluginTest {
TraceTreeAssert
.
assertEquals
(
new
String
[][]{
// 根据实际情况进行修改
{
"0.0"
,
"127.0.0.1:7001 get"
,
"key=key1"
},
{
"0"
,
"127.0.0.1:700
2;127.0.0.1:7001;127.0.0.1:7000;127.0.0.1:7005;127.0.0.1:7004;127.0.0.1:7003
; get"
,
"key=key1"
},
{
"0"
,
"127.0.0.1:700
1;127.0.0.1:7000
; get"
,
"key=key1"
},
});
}
...
...
test/skywalking-agent-test/redis-test/src/main/java/com/ai/cloud/skywalking/agent/test/RedisPluginTest.java
浏览文件 @
1a6ec531
package
com.ai.cloud.skywalking.agent.test
;
import
com.ai.skywalking.testframework.api.TraceTreeAssert
;
import
org.junit.After
;
import
org.junit.Test
;
public
class
RedisPluginTest
{
@After
public
void
clearData
(){
TraceTreeAssert
.
clearTraceData
();
}
@Test
public
void
testSetData
()
{
RedisOperator
.
setData
(
"key1"
,
"value1"
);
TraceTreeAssert
.
assertEquals
(
new
String
[][]{
{
"0"
,
"127.0.0.1:6379 set"
,
"key=key1"
},
});
}
@Test
...
...
test/skywalking-test-api/src/main/java/com/ai/skywalking/testframework/api/
TraceTreeDataAcquire
r.java
→
test/skywalking-test-api/src/main/java/com/ai/skywalking/testframework/api/
ContextPoolOperato
r.java
浏览文件 @
1a6ec531
...
...
@@ -7,8 +7,8 @@ import java.lang.reflect.Field;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
TraceTreeDataAcquire
r
{
public
static
List
<
Span
>
acquire
CurrentTrace
SpanData
()
{
public
class
ContextPoolOperato
r
{
public
static
List
<
Span
>
acquireSpanData
()
{
List
<
Span
>
resultSpan
=
new
ArrayList
<
Span
>();
Object
[]
bufferGroupObjectArray
=
acquireBufferGroupObjectArrayByClassLoader
();
...
...
@@ -24,6 +24,17 @@ public class TraceTreeDataAcquirer {
return
resultSpan
;
}
public
static
void
clearSpanData
()
{
Object
[]
bufferGroupObjectArray
=
acquireBufferGroupObjectArrayByClassLoader
();
for
(
Object
bufferGroup
:
bufferGroupObjectArray
)
{
Span
[]
spanList
=
acquireSpanData
(
bufferGroup
);
for
(
int
i
=
0
;
i
<
spanList
.
length
;
i
++)
{
spanList
[
i
]
=
null
;
}
}
}
private
static
Span
[]
acquireSpanData
(
Object
bufferGroup
)
{
try
{
Class
bufferGroupClass
=
Thread
.
currentThread
().
getContextClassLoader
()
...
...
@@ -32,7 +43,7 @@ public class TraceTreeDataAcquirer {
spanArrayField
.
setAccessible
(
true
);
return
(
Span
[])
spanArrayField
.
get
(
bufferGroup
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"Failed to acquire span array"
,
e
);
throw
new
RuntimeException
(
"Failed to acquire span array"
,
e
);
}
}
...
...
@@ -43,7 +54,7 @@ public class TraceTreeDataAcquirer {
Field
field
=
fetchBufferPoolObject
(
bufferPoolClass
);
return
(
Object
[])
field
.
get
(
bufferPoolClass
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"Failed to acquire buffer group object array"
,
e
);
throw
new
RuntimeException
(
"Failed to acquire buffer group object array"
,
e
);
}
}
...
...
test/skywalking-test-api/src/main/java/com/ai/skywalking/testframework/api/TraceTreeAssert.java
浏览文件 @
1a6ec531
...
...
@@ -12,7 +12,7 @@ import java.util.List;
public
class
TraceTreeAssert
{
public
static
void
assertEquals
(
String
[][]
expectedTraceTree
)
{
List
<
Span
>
spanDataInBuffer
=
TraceTreeDataAcquirer
.
acquireCurrentTrac
eSpanData
();
List
<
Span
>
spanDataInBuffer
=
ContextPoolOperator
.
acquir
eSpanData
();
validateTraceId
(
spanDataInBuffer
);
...
...
@@ -25,6 +25,10 @@ public class TraceTreeAssert {
validateSpanData
(
expectedSpanData
,
assertSpanData
);
}
public
static
void
clearTraceData
()
{
ContextPoolOperator
.
clearSpanData
();
}
private
static
List
<
String
>
convertSpanDataToCompareStr
(
List
<
Span
>
assertSpanData
)
{
List
<
String
>
resultSpanData
=
new
ArrayList
<
String
>();
for
(
Span
span
:
assertSpanData
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录