make+scripts: use pre-compiled btcd in itest
To make sure we build the exact version of btcd that is referenced in the project's go.mod file and to not overwrite any binary the user might already have installed on the system, we compile btcd into an explicit file in the itest directory. This should also speed up invocations of "make itest-only" because the test harness doesn't always compile btcd on its own. We also fix a bug with the version parsing where adding a "replace" directive in the go.mod would result in the awk commands to extract the wrong version. Because we no longer use the DEPGET goal to build and install btcd, using a replace directive now actually works for itests.
This commit is contained in:
parent
8829960b1a
commit
b42c5e5fad
1
.gitignore
vendored
1
.gitignore
vendored
@ -36,6 +36,7 @@ lntest/itest/*.log
|
||||
lntest/itest/.backendlogs
|
||||
lntest/itest/.minerlogs
|
||||
lntest/itest/lnd-itest
|
||||
lntest/itest/btcd-itest
|
||||
lntest/itest/.logs-*
|
||||
|
||||
cmd/cmd
|
||||
|
25
Makefile
25
Makefile
@ -20,7 +20,6 @@ GOACC_BIN := $(GO_BIN)/go-acc
|
||||
GOFUZZ_BUILD_BIN := $(GO_BIN)/go-fuzz-build
|
||||
GOFUZZ_BIN := $(GO_BIN)/go-fuzz
|
||||
|
||||
BTCD_DIR :=${GOPATH}/src/$(BTCD_PKG)
|
||||
MOBILE_BUILD_DIR :=${GOPATH}/src/$(MOBILE_PKG)/build
|
||||
IOS_BUILD_DIR := $(MOBILE_BUILD_DIR)/ios
|
||||
IOS_BUILD := $(IOS_BUILD_DIR)/Lndmobile.framework
|
||||
@ -32,7 +31,7 @@ COMMIT_HASH := $(shell git rev-parse HEAD)
|
||||
|
||||
BTCD_COMMIT := $(shell cat go.mod | \
|
||||
grep $(BTCD_PKG) | \
|
||||
tail -n1 | \
|
||||
head -n1 | \
|
||||
awk -F " " '{ print $$2 }' | \
|
||||
awk -F "/" '{ print $$1 }')
|
||||
|
||||
@ -140,9 +139,12 @@ build:
|
||||
$(GOBUILD) -tags="$(DEV_TAGS)" -o lncli-debug $(DEV_LDFLAGS) $(PKG)/cmd/lncli
|
||||
|
||||
build-itest:
|
||||
@$(call print, "Building itest lnd and lncli.")
|
||||
$(GOBUILD) -tags="$(ITEST_TAGS)" -o lnd-itest$(EXEC_SUFFIX) $(ITEST_LDFLAGS) $(PKG)/cmd/lnd
|
||||
$(GOBUILD) -tags="$(ITEST_TAGS)" -o lncli-itest$(EXEC_SUFFIX) $(ITEST_LDFLAGS) $(PKG)/cmd/lncli
|
||||
@$(call print, "Building itest btcd and lnd.")
|
||||
CGO_ENABLED=0 $(GOBUILD) -tags="rpctest" -o lntest/itest/btcd-itest$(EXEC_SUFFIX) $(ITEST_LDFLAGS) $(BTCD_PKG)
|
||||
CGO_ENABLED=0 $(GOBUILD) -tags="$(ITEST_TAGS)" -o lntest/itest/lnd-itest$(EXEC_SUFFIX) $(ITEST_LDFLAGS) $(PKG)/cmd/lnd
|
||||
|
||||
@$(call print, "Building itest binary for ${backend} backend.")
|
||||
CGO_ENABLED=0 $(GOTEST) -v ./lntest/itest -tags="$(DEV_TAGS) $(RPC_TAGS) rpctest $(backend)" -c -o lntest/itest/itest.test$(EXEC_SUFFIX)
|
||||
|
||||
install:
|
||||
@$(call print, "Installing lnd and lncli.")
|
||||
@ -169,18 +171,13 @@ itest-only:
|
||||
EXEC_SUFFIX=$(EXEC_SUFFIX) scripts/itest_part.sh 0 1 $(TEST_FLAGS) $(ITEST_FLAGS)
|
||||
lntest/itest/log_check_errors.sh
|
||||
|
||||
itest: btcd build-itest itest-only
|
||||
|
||||
itest-parallel: btcd
|
||||
@$(call print, "Building lnd binary")
|
||||
CGO_ENABLED=0 $(GOBUILD) -tags="$(ITEST_TAGS)" -o lntest/itest/lnd-itest$(EXEC_SUFFIX) $(ITEST_LDFLAGS) $(PKG)/cmd/lnd
|
||||
|
||||
@$(call print, "Building itest binary for $(backend) backend")
|
||||
CGO_ENABLED=0 $(GOTEST) -v ./lntest/itest -tags="$(DEV_TAGS) $(RPC_TAGS) rpctest $(backend)" -logoutput -goroutinedump -c -o lntest/itest/itest.test$(EXEC_SUFFIX)
|
||||
itest: build-itest itest-only
|
||||
|
||||
itest-parallel: build-itest
|
||||
@$(call print, "Running tests")
|
||||
rm -rf lntest/itest/*.log lntest/itest/.logs-*
|
||||
rm -rf lntest/itest/*.log lntest/itest/.logs-*; date
|
||||
EXEC_SUFFIX=$(EXEC_SUFFIX) echo "$$(seq 0 $$(expr $(ITEST_PARALLELISM) - 1))" | xargs -P $(ITEST_PARALLELISM) -n 1 -I {} scripts/itest_part.sh {} $(NUM_ITEST_TRANCHES) $(TEST_FLAGS)
|
||||
lntest/itest/log_check_errors.sh
|
||||
|
||||
unit: btcd
|
||||
@$(call print, "Running unit tests.")
|
||||
|
@ -15,9 +15,10 @@ shift
|
||||
# that here if necessary.
|
||||
EXEC="$WORKDIR"/itest.test"$EXEC_SUFFIX"
|
||||
LND_EXEC="$WORKDIR"/lnd-itest"$EXEC_SUFFIX"
|
||||
echo $EXEC -test.v "$@" -logoutput -goroutinedump -logdir=.logs-tranche$TRANCHE -lndexec=$LND_EXEC -splittranches=$NUM_TRANCHES -runtranche=$TRANCHE
|
||||
BTCD_EXEC="$WORKDIR"/btcd-itest"$EXEC_SUFFIX"
|
||||
echo $EXEC -test.v "$@" -logoutput -goroutinedump -logdir=.logs-tranche$TRANCHE -lndexec=$LND_EXEC -btcdexec=$BTCD_EXEC -splittranches=$NUM_TRANCHES -runtranche=$TRANCHE
|
||||
|
||||
# Exit code 255 causes the parallel jobs to abort, so if one part fails the
|
||||
# other is aborted too.
|
||||
cd "$WORKDIR" || exit 255
|
||||
$EXEC -test.v "$@" -logoutput -goroutinedump -logdir=.logs-tranche$TRANCHE -lndexec=$LND_EXEC -splittranches=$NUM_TRANCHES -runtranche=$TRANCHE || exit 255
|
||||
$EXEC -test.v "$@" -logoutput -goroutinedump -logdir=.logs-tranche$TRANCHE -lndexec=$LND_EXEC -btcdexec=$BTCD_EXEC -splittranches=$NUM_TRANCHES -runtranche=$TRANCHE || exit 255
|
||||
|
Loading…
Reference in New Issue
Block a user