mirror of https://github.com/docker/docs.git
Don't rely on empty lines
It could lead to creating multiple host only interfaces Signed-off-by: David Gageot <david@gageot.net>
This commit is contained in:
parent
e812df723c
commit
bbe59b8020
|
@ -82,8 +82,6 @@ func listHostOnlyNetworks(vbox VBoxManager) (map[string]*hostOnlyNetwork, error)
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
line := s.Text()
|
line := s.Text()
|
||||||
if line == "" {
|
if line == "" {
|
||||||
m[n.NetworkName] = n
|
|
||||||
n = &hostOnlyNetwork{}
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,6 +121,8 @@ func listHostOnlyNetworks(vbox VBoxManager) (map[string]*hostOnlyNetwork, error)
|
||||||
n.Status = val
|
n.Status = val
|
||||||
case "VBoxNetworkName":
|
case "VBoxNetworkName":
|
||||||
n.NetworkName = val
|
n.NetworkName = val
|
||||||
|
m[val] = n
|
||||||
|
n = &hostOnlyNetwork{}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -172,3 +172,26 @@ VBoxNetworkName: HostInterfaceNetworking-vboxnet1
|
||||||
assert.Equal(t, "Up", net.Status)
|
assert.Equal(t, "Up", net.Status)
|
||||||
assert.Equal(t, "HostInterfaceNetworking-vboxnet1", net.NetworkName)
|
assert.Equal(t, "HostInterfaceNetworking-vboxnet1", net.NetworkName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestListHostOnlyNetworksDontRelyOnEmptyLinesForParsing(t *testing.T) {
|
||||||
|
vbox := &VBoxManagerMock{
|
||||||
|
args: "list hostonlyifs",
|
||||||
|
stdOut: `Name: vboxnet0
|
||||||
|
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
|
||||||
|
Name: vboxnet1
|
||||||
|
VBoxNetworkName: HostInterfaceNetworking-vboxnet1`,
|
||||||
|
}
|
||||||
|
|
||||||
|
nets, err := listHostOnlyNetworks(vbox)
|
||||||
|
|
||||||
|
assert.Equal(t, 2, len(nets))
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
net, present := nets["HostInterfaceNetworking-vboxnet1"]
|
||||||
|
assert.True(t, present)
|
||||||
|
assert.Equal(t, "vboxnet1", net.Name)
|
||||||
|
|
||||||
|
net, present = nets["HostInterfaceNetworking-vboxnet0"]
|
||||||
|
assert.True(t, present)
|
||||||
|
assert.Equal(t, "vboxnet0", net.Name)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue