Skip to content

Commit e6f2d5a

Browse files
authored
Merge pull request ipfs#37 from ipfs/fix/formatting-bootstrappers
fix string formatting of bootstrap peers
2 parents 7b2f39c + c77b726 commit e6f2d5a

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

config/bootstrap_peers.go

+10-3
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,16 @@ func ParseBootstrapPeers(addrs []string) ([]peer.AddrInfo, error) {
7373
// BootstrapPeerStrings formats a list of AddrInfos as a bootstrap peer list
7474
// suitable for serialization.
7575
func BootstrapPeerStrings(bps []peer.AddrInfo) []string {
76-
bpss := make([]string, len(bps))
77-
for i, p := range bps {
78-
bpss[i] = p.String()
76+
bpss := make([]string, 0, len(bps))
77+
for _, pi := range bps {
78+
addrs, err := peer.AddrInfoToP2pAddrs(&pi)
79+
if err != nil {
80+
// programmer error.
81+
panic(err)
82+
}
83+
for _, addr := range addrs {
84+
bpss = append(bpss, addr.String())
85+
}
7986
}
8087
return bpss
8188
}

config/bootstrap_peers_test.go

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package config
2+
3+
import (
4+
"sort"
5+
"testing"
6+
)
7+
8+
func TestBoostrapPeerStrings(t *testing.T) {
9+
parsed, err := ParseBootstrapPeers(DefaultBootstrapAddresses)
10+
if err != nil {
11+
t.Fatal(err)
12+
}
13+
14+
formatted := BootstrapPeerStrings(parsed)
15+
sort.Strings(formatted)
16+
expected := append([]string{}, DefaultBootstrapAddresses...)
17+
sort.Strings(expected)
18+
19+
for i, s := range formatted {
20+
if expected[i] != s {
21+
t.Fatalf("expected %s, %s", expected[i], s)
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)