mirror of https://github.com/docker/docs.git
Merge pull request #2902 from jeanlaurent/ls-single-line
Fix #2888 - Multi-line errors in ls mess with tab writing
This commit is contained in:
commit
8977d29bae
|
@ -468,18 +468,22 @@ func getHostListItems(hostList []*host.Host, hostsInError map[string]error) []Ho
|
||||||
close(hostListItemsChan)
|
close(hostListItemsChan)
|
||||||
|
|
||||||
for name, err := range hostsInError {
|
for name, err := range hostsInError {
|
||||||
itemInError := HostListItem{}
|
hostListItems = append(hostListItems, newHostListItemInError(name, err))
|
||||||
itemInError.Name = name
|
|
||||||
itemInError.DriverName = "not found"
|
|
||||||
itemInError.State = state.Error
|
|
||||||
itemInError.Error = err.Error()
|
|
||||||
hostListItems = append(hostListItems, itemInError)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sortHostListItemsByName(hostListItems)
|
sortHostListItemsByName(hostListItems)
|
||||||
return hostListItems
|
return hostListItems
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func newHostListItemInError(name string, err error) HostListItem {
|
||||||
|
return HostListItem{
|
||||||
|
Name: name,
|
||||||
|
DriverName: "not found",
|
||||||
|
State: state.Error,
|
||||||
|
Error: strings.Replace(err.Error(), "\n", " ", -1),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func sortHostListItemsByName(items []HostListItem) {
|
func sortHostListItemsByName(items []HostListItem) {
|
||||||
m := make(map[string]HostListItem, len(items))
|
m := make(map[string]HostListItem, len(items))
|
||||||
s := make([]string, len(items))
|
s := make([]string, len(items))
|
||||||
|
|
|
@ -528,3 +528,11 @@ func TestGetSomeHostInError(t *testing.T) {
|
||||||
assert.Equal(t, "foo", hostItem.Name)
|
assert.Equal(t, "foo", hostItem.Name)
|
||||||
assert.Equal(t, state.Running, hostItem.State)
|
assert.Equal(t, state.Running, hostItem.State)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestOnErrorWithMultilineComment(t *testing.T) {
|
||||||
|
err := errors.New("MissingParameter: The request must contain the parameter InstanceId\n status code: 400, request id:")
|
||||||
|
|
||||||
|
itemInError := newHostListItemInError("foo", err)
|
||||||
|
|
||||||
|
assert.Equal(t, itemInError.Error, "MissingParameter: The request must contain the parameter InstanceId status code: 400, request id:")
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue