Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
f8d932e6
M
minikube
项目概览
Chu Peng 楚鹏
/
minikube
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minikube
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f8d932e6
编写于
8月 11, 2020
作者:
M
Medya Gh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use mock funcs
上级
4c0334d9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
26 deletion
+35
-26
pkg/drivers/kic/oci/info.go
pkg/drivers/kic/oci/info.go
+21
-24
pkg/drivers/kic/oci/info_test.go
pkg/drivers/kic/oci/info_test.go
+14
-2
未找到文件。
pkg/drivers/kic/oci/info.go
浏览文件 @
f8d932e6
...
...
@@ -46,13 +46,13 @@ func CachedDaemonInfo(ociBin string) (SysInfo, error) {
}
// DaemonInfo returns common docker/podman daemon system info that minikube cares about
func
DaemonInfo
(
ociBin
string
,
mockTest
...
string
)
(
SysInfo
,
error
)
{
func
DaemonInfo
(
ociBin
string
)
(
SysInfo
,
error
)
{
if
ociBin
==
Podman
{
p
,
err
:=
podmanSystemInfo
(
mockTest
...
)
p
,
err
:=
podmanSystemInfo
()
cachedSysInfo
=
&
SysInfo
{
CPUs
:
p
.
Host
.
Cpus
,
TotalMemory
:
p
.
Host
.
MemTotal
,
OSType
:
p
.
Host
.
Os
}
return
*
cachedSysInfo
,
err
}
d
,
err
:=
dockerSystemInfo
(
mockTest
...
)
d
,
err
:=
dockerSystemInfo
()
cachedSysInfo
=
&
SysInfo
{
CPUs
:
d
.
NCPU
,
TotalMemory
:
d
.
MemTotal
,
OSType
:
d
.
OSType
}
return
*
cachedSysInfo
,
err
}
...
...
@@ -224,20 +224,18 @@ type podmanSysInfo struct {
}
`json:"store"`
}
var
dockerInfoGetter
=
func
()
(
string
,
error
)
{
rr
,
err
:=
runCmd
(
exec
.
Command
(
Docker
,
"system"
,
"info"
,
"--format"
,
"{{json .}}"
))
return
rr
.
Stdout
.
String
(),
err
}
// dockerSystemInfo returns docker system info --format '{{json .}}'
func
dockerSystemInfo
(
mockTest
...
string
)
(
dockerSysInfo
,
error
)
{
func
dockerSystemInfo
()
(
dockerSysInfo
,
error
)
{
var
ds
dockerSysInfo
var
rawJson
string
if
len
(
mockTest
)
>
0
{
rawJson
=
mockTest
[
0
]
}
else
{
rr
,
err
:=
runCmd
(
exec
.
Command
(
Docker
,
"system"
,
"info"
,
"--format"
,
"{{json .}}"
))
if
err
!=
nil
{
return
ds
,
errors
.
Wrap
(
err
,
"get docker system info"
)
}
rawJson
=
rr
.
Stdout
.
String
()
rawJson
,
err
:=
dockerInfoGetter
()
if
err
!=
nil
{
return
ds
,
errors
.
Wrap
(
err
,
"docker system info"
)
}
if
err
:=
json
.
Unmarshal
([]
byte
(
strings
.
TrimSpace
(
rawJson
)),
&
ds
);
err
!=
nil
{
return
ds
,
errors
.
Wrapf
(
err
,
"unmarshal docker system info"
)
}
...
...
@@ -245,18 +243,17 @@ func dockerSystemInfo(mockTest ...string) (dockerSysInfo, error) {
return
ds
,
nil
}
var
podmanInfoGetter
=
func
()
(
string
,
error
)
{
rr
,
err
:=
runCmd
(
exec
.
Command
(
Podman
,
"system"
,
"info"
,
"--format"
,
"json"
))
return
rr
.
Stdout
.
String
(),
err
}
// podmanSysInfo returns podman system info --format '{{json .}}'
func
podmanSystemInfo
(
mockTest
...
string
)
(
podmanSysInfo
,
error
)
{
func
podmanSystemInfo
()
(
podmanSysInfo
,
error
)
{
var
ps
podmanSysInfo
var
rawJson
string
if
len
(
mockTest
)
>
0
{
rawJson
=
mockTest
[
0
]
}
else
{
rr
,
err
:=
runCmd
(
exec
.
Command
(
Podman
,
"system"
,
"info"
,
"--format"
,
"json"
))
if
err
!=
nil
{
return
ps
,
errors
.
Wrap
(
err
,
"get podman system info"
)
}
rawJson
=
rr
.
Stdout
.
String
()
rawJson
,
err
:=
podmanInfoGetter
()
if
err
!=
nil
{
return
ps
,
errors
.
Wrap
(
err
,
"podman system info"
)
}
if
err
:=
json
.
Unmarshal
([]
byte
(
strings
.
TrimSpace
(
rawJson
)),
&
ps
);
err
!=
nil
{
...
...
pkg/drivers/kic/oci/info_test.go
浏览文件 @
f8d932e6
package
oci
import
"testing"
import
(
"testing"
)
var
daemonResponseMock
string
var
daemonInfoGetterMock
=
func
()
(
string
,
error
)
{
return
daemonResponseMock
,
nil
}
func
TestDockerSystemInfo
(
t
*
testing
.
T
)
{
testCases
:=
[]
struct
{
...
...
@@ -109,7 +116,12 @@ func TestDockerSystemInfo(t *testing.T) {
for
_
,
tc
:=
range
testCases
{
t
.
Run
(
tc
.
Name
,
func
(
t
*
testing
.
T
)
{
s
,
err
:=
DaemonInfo
(
tc
.
OciBin
,
tc
.
RawJSON
)
daemonResponseMock
=
tc
.
RawJSON
// setting up mock funcs
dockerInfoGetter
=
daemonInfoGetterMock
podmanInfoGetter
=
daemonInfoGetterMock
s
,
err
:=
DaemonInfo
(
tc
.
OciBin
)
if
err
!=
nil
&&
!
tc
.
ShouldError
{
t
.
Errorf
(
"Expected not to have error but got %v"
,
err
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录