From d26bac8547ba7d55496373fb10987bdb6e0cef88 Mon Sep 17 00:00:00 2001 From: Jorropo Date: Thu, 6 Feb 2025 16:20:31 +0100 Subject: [PATCH 1/3] p2p/protocol/identify: fix comment not matching test name --- p2p/protocol/identify/id_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/p2p/protocol/identify/id_test.go b/p2p/protocol/identify/id_test.go index 06ea0119df..fe109b9184 100644 --- a/p2p/protocol/identify/id_test.go +++ b/p2p/protocol/identify/id_test.go @@ -104,7 +104,7 @@ func emitAddrChangeEvt(t *testing.T, h host.Host) { } } -// TestIDServiceWait gives the ID service 1s to finish after dialing +// TestIDService gives the ID service 1s to finish after dialing // this is because it used to be concurrent. Now, Dial wait till the // id service is done. func TestIDService(t *testing.T) { From 6a966221b3c55a3744f48b175cd42ce34bc2ec81 Mon Sep 17 00:00:00 2001 From: Jorropo Date: Thu, 6 Feb 2025 16:28:12 +0100 Subject: [PATCH 2/3] p2p/protocol/identify: make user agent comparison show diff on test failure --- p2p/protocol/identify/id_test.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/p2p/protocol/identify/id_test.go b/p2p/protocol/identify/id_test.go index fe109b9184..d94a0138fe 100644 --- a/p2p/protocol/identify/id_test.go +++ b/p2p/protocol/identify/id_test.go @@ -44,9 +44,8 @@ func testKnowsAddrs(t *testing.T, h host.Host, p peer.ID, expected []ma.Multiadd func testHasAgentVersion(t *testing.T, h host.Host, p peer.ID) { v, err := h.Peerstore().Get(p, "AgentVersion") - if v.(string) != "github.com/libp2p/go-libp2p" { // this is the default user agent - t.Error("agent version mismatch", err) - } + require.NoError(t, err, "fetching agent version") + require.Equal(t, "github.com/libp2p/go-libp2p", v, "agent version") } func testHasPublicKey(t *testing.T, h host.Host, p peer.ID, shouldBe ic.PubKey) { From ff5b0bbc683dff51c64763ab132ed0e0f0ec99cc Mon Sep 17 00:00:00 2001 From: Jorropo Date: Thu, 6 Feb 2025 16:32:26 +0100 Subject: [PATCH 3/3] p2p/protocol/identify: test user agent in tests against the real user agent used Fixes #3176 --- p2p/protocol/identify/id.go | 5 ++--- p2p/protocol/identify/id_test.go | 3 ++- .../identify/{ => internal/user-agent}/user_agent.go | 8 +++++++- 3 files changed, 11 insertions(+), 5 deletions(-) rename p2p/protocol/identify/{ => internal/user-agent}/user_agent.go (84%) diff --git a/p2p/protocol/identify/id.go b/p2p/protocol/identify/id.go index 0f5fd8f6ac..de25436dc2 100644 --- a/p2p/protocol/identify/id.go +++ b/p2p/protocol/identify/id.go @@ -19,6 +19,7 @@ import ( "github.com/libp2p/go-libp2p/core/protocol" "github.com/libp2p/go-libp2p/core/record" "github.com/libp2p/go-libp2p/p2p/host/eventbus" + useragent "github.com/libp2p/go-libp2p/p2p/protocol/identify/internal/user-agent" "github.com/libp2p/go-libp2p/p2p/protocol/identify/pb" logging "github.com/ipfs/go-log/v2" @@ -54,8 +55,6 @@ const ( connectedPeerMaxAddrs = 500 ) -var defaultUserAgent = "github.com/libp2p/go-libp2p" - type identifySnapshot struct { seq uint64 protocols []protocol.ID @@ -188,7 +187,7 @@ func NewIDService(h host.Host, opts ...Option) (*idService, error) { opt(&cfg) } - userAgent := defaultUserAgent + userAgent := useragent.DefaultUserAgent() if cfg.userAgent != "" { userAgent = cfg.userAgent } diff --git a/p2p/protocol/identify/id_test.go b/p2p/protocol/identify/id_test.go index d94a0138fe..994f042b3e 100644 --- a/p2p/protocol/identify/id_test.go +++ b/p2p/protocol/identify/id_test.go @@ -27,6 +27,7 @@ import ( "github.com/libp2p/go-libp2p/p2p/net/swarm" swarmt "github.com/libp2p/go-libp2p/p2p/net/swarm/testing" "github.com/libp2p/go-libp2p/p2p/protocol/identify" + useragent "github.com/libp2p/go-libp2p/p2p/protocol/identify/internal/user-agent" "github.com/libp2p/go-libp2p/p2p/protocol/identify/pb" mockClock "github.com/benbjohnson/clock" @@ -45,7 +46,7 @@ func testKnowsAddrs(t *testing.T, h host.Host, p peer.ID, expected []ma.Multiadd func testHasAgentVersion(t *testing.T, h host.Host, p peer.ID) { v, err := h.Peerstore().Get(p, "AgentVersion") require.NoError(t, err, "fetching agent version") - require.Equal(t, "github.com/libp2p/go-libp2p", v, "agent version") + require.Equal(t, useragent.DefaultUserAgent(), v, "agent version") } func testHasPublicKey(t *testing.T, h host.Host, p peer.ID, shouldBe ic.PubKey) { diff --git a/p2p/protocol/identify/user_agent.go b/p2p/protocol/identify/internal/user-agent/user_agent.go similarity index 84% rename from p2p/protocol/identify/user_agent.go rename to p2p/protocol/identify/internal/user-agent/user_agent.go index 016f941f39..a639d4c5f5 100644 --- a/p2p/protocol/identify/user_agent.go +++ b/p2p/protocol/identify/internal/user-agent/user_agent.go @@ -1,10 +1,16 @@ -package identify +package useragent import ( "fmt" "runtime/debug" ) +func DefaultUserAgent() string { + return defaultUserAgent +} + +var defaultUserAgent = "github.com/libp2p/go-libp2p" + func init() { bi, ok := debug.ReadBuildInfo() if !ok {