Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
c2bbff61
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c2bbff61
编写于
3月 31, 2016
作者:
P
Péter Szilágyi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
accounts/abi/bind: merge all tests into a single suite
上级
787d688c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
22 deletion
+22
-22
accounts/abi/bind/bind_test.go
accounts/abi/bind/bind_test.go
+22
-22
未找到文件。
accounts/abi/bind/bind_test.go
浏览文件 @
c2bbff61
...
...
@@ -247,41 +247,41 @@ func TestBindings(t *testing.T) {
if
!
strings
.
Contains
(
string
(
linkTestDeps
),
"go-ethereum"
)
{
t
.
Skip
(
"symlinked environment doesn't support bind (https://github.com/golang/go/issues/14845)"
)
}
// All is well, run the tests
for
i
,
tt
:=
range
bindTests
{
// Create a temporary workspace for this test
ws
,
err
:=
ioutil
.
TempDir
(
""
,
""
)
if
err
!=
nil
{
t
.
Fatalf
(
"test %d: failed to create temporary workspace: %v"
,
i
,
err
)
}
defer
os
.
RemoveAll
(
ws
)
// Create a temporary workspace for the test suite
ws
,
err
:=
ioutil
.
TempDir
(
""
,
""
)
if
err
!=
nil
{
t
.
Fatalf
(
"failed to create temporary workspace: %v"
,
err
)
}
defer
os
.
RemoveAll
(
ws
)
// Generate the binding and create a Go package in the workspace
pkg
:=
filepath
.
Join
(
ws
,
"bindtest"
)
if
err
=
os
.
MkdirAll
(
pkg
,
0700
);
err
!=
nil
{
t
.
Fatalf
(
"failed to create package: %v"
,
err
)
}
// Generate the test suite for all the contracts
for
i
,
tt
:=
range
bindTests
{
// Generate the binding and create a Go source file in the workspace
bind
,
err
:=
Bind
([]
string
{
tt
.
name
},
[]
string
{
tt
.
abi
},
[]
string
{
tt
.
bytecode
},
"bindtest"
)
if
err
!=
nil
{
t
.
Fatalf
(
"test %d: failed to generate binding: %v"
,
i
,
err
)
}
pkg
:=
filepath
.
Join
(
ws
,
"bindtest"
)
if
err
=
os
.
MkdirAll
(
pkg
,
0700
);
err
!=
nil
{
t
.
Fatalf
(
"test %d: failed to create package: %v"
,
i
,
err
)
}
if
err
=
ioutil
.
WriteFile
(
filepath
.
Join
(
pkg
,
"main.go"
),
[]
byte
(
bind
),
0600
);
err
!=
nil
{
if
err
=
ioutil
.
WriteFile
(
filepath
.
Join
(
pkg
,
strings
.
ToLower
(
tt
.
name
)
+
".go"
),
[]
byte
(
bind
),
0600
);
err
!=
nil
{
t
.
Fatalf
(
"test %d: failed to write binding: %v"
,
i
,
err
)
}
// Generate the test file with the injected test code
code
:=
fmt
.
Sprintf
(
"package bindtest
\n
import
\"
testing
\"\n
func Test
Binding%d(t *testing.T){
\n
%s
\n
}"
,
i
,
tt
.
tester
)
code
:=
fmt
.
Sprintf
(
"package bindtest
\n
import
\"
testing
\"\n
func Test
%s(t *testing.T){
\n
%s
\n
}"
,
tt
.
name
,
tt
.
tester
)
blob
,
err
:=
imports
.
Process
(
""
,
[]
byte
(
code
),
nil
)
if
err
!=
nil
{
t
.
Fatalf
(
"test %d: failed to generate tests: %v"
,
i
,
err
)
}
if
err
:=
ioutil
.
WriteFile
(
filepath
.
Join
(
pkg
,
"main
_test.go"
),
blob
,
0600
);
err
!=
nil
{
if
err
:=
ioutil
.
WriteFile
(
filepath
.
Join
(
pkg
,
strings
.
ToLower
(
tt
.
name
)
+
"
_test.go"
),
blob
,
0600
);
err
!=
nil
{
t
.
Fatalf
(
"test %d: failed to write tests: %v"
,
i
,
err
)
}
// Test the entire package and report any failures
cmd
:=
exec
.
Command
(
gocmd
,
"test"
,
"-v"
)
cmd
.
Dir
=
pkg
if
out
,
err
:=
cmd
.
CombinedOutput
();
err
!=
nil
{
t
.
Fatalf
(
"test %d: failed to run binding test: %v
\n
%s
\n
%s"
,
i
,
err
,
out
,
bind
)
}
}
// Test the entire package and report any failures
cmd
:=
exec
.
Command
(
gocmd
,
"test"
,
"-v"
)
cmd
.
Dir
=
pkg
if
out
,
err
:=
cmd
.
CombinedOutput
();
err
!=
nil
{
t
.
Fatalf
(
"failed to run binding test: %v
\n
%s"
,
err
,
out
)
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录