diff --git a/Makefile b/Makefile index 8c08fd614..f5bf7289a 100644 --- a/Makefile +++ b/Makefile @@ -196,6 +196,10 @@ unit-race: @$(call print, "Running unit race tests.") env CGO_ENABLED=1 GORACE="history_size=7 halt_on_errors=1" $(UNIT_RACE) +unit-bench: $(BTCD_BIN) + @$(call print, "Running benchmark tests.") + $(UNIT_BENCH) + # ============= # FLAKE HUNTING # ============= diff --git a/docs/release-notes/release-notes-0.17.0.md b/docs/release-notes/release-notes-0.17.0.md index 7ae6f4200..fead4d626 100644 --- a/docs/release-notes/release-notes-0.17.0.md +++ b/docs/release-notes/release-notes-0.17.0.md @@ -17,6 +17,9 @@ * [Ensure that both the byte and string form of a TXID is populated in the lnrpc.Outpoint message](https://github.com/lightningnetwork/lnd/pull/7624). + +* [Fix Benchmark Test (BenchmarkReadMessage/Channel_Ready) in the lnwire +package](https://github.com/lightningnetwork/lnd/pull/7356) ## RPC @@ -49,3 +52,4 @@ unlock or create. * Erik Arvstedt * hieblmi * Jordi Montes +* ziggie1984 diff --git a/lnwire/message_test.go b/lnwire/message_test.go index f39a88995..1df0b5c55 100644 --- a/lnwire/message_test.go +++ b/lnwire/message_test.go @@ -452,8 +452,20 @@ func newMsgChannelReady(t testing.TB, r io.Reader) *lnwire.ChannelReady { pubKey := randPubKey(t) - msg := lnwire.NewChannelReady(lnwire.ChannelID(c), pubKey) - msg.ExtraData = createExtraData(t, r) + // When testing the ChannelReady msg type in the WriteMessage + // function we need to populate the alias here to test the encoding + // of the TLV stream. + aliasScid := lnwire.NewShortChanIDFromInt(rand.Uint64()) + msg := &lnwire.ChannelReady{ + ChanID: lnwire.ChannelID(c), + NextPerCommitmentPoint: pubKey, + AliasScid: &aliasScid, + ExtraData: make([]byte, 0), + } + + // We do not include the TLV record (aliasScid) into the ExtraData + // because when the msg is encoded the ExtraData is overwritten + // with the current aliasScid value. return msg } diff --git a/make/testing_flags.mk b/make/testing_flags.mk index b4109bb5c..218b37b62 100644 --- a/make/testing_flags.mk +++ b/make/testing_flags.mk @@ -100,12 +100,16 @@ ifeq ($(UNIT_TARGETED), yes) UNIT := $(GOTEST) -tags="$(DEV_TAGS) $(LOG_TAGS)" $(TEST_FLAGS) $(UNITPKG) UNIT_DEBUG := $(GOTEST) -v -tags="$(DEV_TAGS) $(LOG_TAGS)" $(TEST_FLAGS) $(UNITPKG) UNIT_RACE := $(GOTEST) -tags="$(DEV_TAGS) $(LOG_TAGS) lowscrypt" $(TEST_FLAGS) -race $(UNITPKG) +# NONE is a special value which selects no other tests but only executes the benchmark tests here. +UNIT_BENCH := $(GOTEST) -tags="$(DEV_TAGS) $(LOG_TAGS)" -test.bench=. -test.run=NONE $(UNITPKG) endif ifeq ($(UNIT_TARGETED), no) UNIT := $(GOLIST) | $(XARGS) env $(GOTEST) -tags="$(DEV_TAGS) $(LOG_TAGS)" $(TEST_FLAGS) UNIT_DEBUG := $(GOLIST) | $(XARGS) env $(GOTEST) -v -tags="$(DEV_TAGS) $(LOG_TAGS)" $(TEST_FLAGS) UNIT_RACE := $(UNIT) -race +# NONE is a special value which selects no other tests but only executes the benchmark tests here. +UNIT_BENCH := $(GOLIST) | $(XARGS) env $(GOTEST) -tags="$(DEV_TAGS) $(LOG_TAGS)" -test.bench=. -test.run=NONE endif