Hi,
The following diff chnages MODGO_TEST_CMD to use TEST_TARGET by default
for choosing which target to test. While here, also pass TEST_ENV (for
net/crawley).
The default value is ALL_TARGET (same default as before).
It permits to unify several ports to avoid reimplementing MODGO_TEST_CMD
for running tests on a target different that ALL_TARGET:
- devel/github-cli
- devel/gopls
- devel/goreleaser
- devel/jjui
- net/crawley
- net/dnscrypt-proxy
- net/headscale
- security/cfssl
- security/gosec
- security/osv-scanner
- sysutils/direnv
- sysutils/docker-compose
- sysutils/fzf
- sysutils/gitlab-cli
- sysutils/hcloud
- sysutils/restic
- textproc/miller
- www/goat
Regarding sysutils/restic, do-test is still overrided to permit
${MODGO_FLAGS:N-v}, but I removed "${SETENV} ${MAKE_ENV}" as
${MODGO_CMD} already contains them.
Comments or OK ?
--
Sebastien Marie
diff --git a/lang/go/go.port.mk b/lang/go/go.port.mk
index 48427c2576..d4e5abb352 100644
--- a/lang/go/go.port.mk
+++ b/lang/go/go.port.mk
@@ -58,7 +58,7 @@
MODGO_CMD ?= ${SETENV} ${MAKE_ENV} go
MODGO_BUILD_CMD = ${MODGO_CMD} install ${MODGO_FLAGS}
MODGO_LIST_CMD = ${MODGO_CMD} list ${MODGO_FLAGS}
-MODGO_TEST_CMD = ${MODGO_CMD} test ${MODGO_FLAGS} ${MODGO_TEST_FLAGS}
+MODGO_TEST_CMD = ${SETENV} ${MAKE_ENV} ${TEST_ENV} go test
${MODGO_FLAGS} ${MODGO_TEST_FLAGS}
MODGO_BINDIR ?= bin
.if empty(DEBUG)
@@ -81,6 +81,7 @@
EXTRACT_SUFX ?= .zip
PKGNAME ?= ${DISTNAME:S/-v/-/}
ALL_TARGET ?= ${MODGO_MODNAME}
+TEST_TARGET ?= ${ALL_TARGET}
MODGO_FLAGS += -modcacherw -trimpath
DISTFILES += ${DISTNAME_ESC}{${MODGO_VERSION}}${EXTRACT_SUFX}
EXTRACT_ONLY += ${DISTNAME_ESC}${EXTRACT_SUFX}
@@ -110,7 +111,7 @@
. endif
.endif
-MODGO_TEST_TARGET ?= cd ${WRKSRC} && ${MODGO_TEST_CMD} ${ALL_TARGET}
+MODGO_TEST_TARGET ?= cd ${WRKSRC} && ${MODGO_TEST_CMD} ${TEST_TARGET}
SEPARATE_BUILD ?= Yes
diff --git a/devel/github-cli/Makefile b/devel/github-cli/Makefile
index fe71399b94..27d16122aa 100644
--- a/devel/github-cli/Makefile
+++ b/devel/github-cli/Makefile
@@ -20,11 +20,10 @@
MODULES = lang/go
MODGO_LDFLAGS += -X "${MODGO_MODNAME}/internal/build.Version=$V"
+TEST_TARGET = ./...
+
PORTHOME = ${WRKDIR}
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
-
post-install:
${WRKDIR}/go/bin/gen-docs --doc-path ${PREFIX}/man/man1 --man-page
rm ${PREFIX}/bin/gen-docs
diff --git a/devel/gopls/Makefile b/devel/gopls/Makefile
index 1524955b3e..008554fbd2 100644
--- a/devel/gopls/Makefile
+++ b/devel/gopls/Makefile
@@ -21,6 +21,8 @@
MODGO_LDFLAGS += -X main.version=${MODGO_VERSION}
+TEST_TARGET = ./...
+
DOCDIR = ${PREFIX}/share/doc/gopls
post-install:
@@ -32,9 +34,6 @@
${INSTALL_DATA} ${WRKSRC}/doc/editor/*.md ${DOCDIR}/editor
${INSTALL_DATA} ${WRKSRC}/doc/features/*.md ${DOCDIR}/features
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
-
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/devel/goreleaser/Makefile b/devel/goreleaser/Makefile
index dabe6e1148..04bd9c8634 100644
--- a/devel/goreleaser/Makefile
+++ b/devel/goreleaser/Makefile
@@ -21,6 +21,9 @@
MODGO_LDFLAGS = -X main.version=${MODGO_VERSION:S/v//}
+# Some tests fail due to lack of network and WRKSRC is not a Git repository
+TEST_TARGET = ./...
+
# Generate shells completion
pre-install:
${MODGO_WORKSPACE}/bin/goreleaser completion bash >
${WRKSRC}/completion.bash
@@ -38,10 +41,6 @@
${INSTALL_DATA} ${WRKSRC}/completion.zsh \
${PREFIX}/share/zsh/site-functions/_goreleaser
-# Some tests fail due to lack of network and WRKSRC is not a Git repository
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
-
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/devel/jjui/Makefile b/devel/jjui/Makefile
index 6c8b2ba4df..2afded51a8 100644
--- a/devel/jjui/Makefile
+++ b/devel/jjui/Makefile
@@ -18,8 +18,7 @@
MODULES = lang/go
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
+TEST_TARGET = ./...
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/net/crawley/Makefile b/net/crawley/Makefile
index c774ce3252..bf41dfe02d 100644
--- a/net/crawley/Makefile
+++ b/net/crawley/Makefile
@@ -14,13 +14,13 @@
WANTLIB += c pthread
MODULES = lang/go
+TEST_TARGET = ./...
+TEST_ENV = CGO_ENABLED=1
+MODGO_TEST_FLAGS = -count 1 -v -tags=test -coverprofile="cover.out"
+
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/crawley
${INSTALL_DATA} ${WRKSRC}/README.md ${PREFIX}/share/doc/crawley
-do-test:
- cd ${WRKSRC} && CGO_ENABLED=1 ${MODGO_CMD} test -count 1 -v \
- -tags=test -coverprofile="cover.out" ./...
-
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/net/dnscrypt-proxy/Makefile b/net/dnscrypt-proxy/Makefile
index d06d73f9e6..2d8ab45e3b 100644
--- a/net/dnscrypt-proxy/Makefile
+++ b/net/dnscrypt-proxy/Makefile
@@ -24,10 +24,10 @@
${MODGO_SUBDIR}/dnscrypt-proxy/example-dnscrypt-proxy.toml
do-build:
- cd ${WRKSRC}/dnscrypt-proxy && ${MODGO_CMD} build ${MODGO_FLAGS}
+ cd ${WRKSRC}/dnscrypt-proxy && ${MODGO_BUILD_CMD}
do-test:
- cd ${WRKSRC}/dnscrypt-proxy && ${MODGO_CMD} test
+ cd ${WRKSRC}/dnscrypt-proxy && ${MODGO_TEST_CMD}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/dnscrypt-proxy/dnscrypt-proxy
${PREFIX}/bin/
diff --git a/net/headscale/Makefile b/net/headscale/Makefile
index ff79dd1025..4944d7f75d 100644
--- a/net/headscale/Makefile
+++ b/net/headscale/Makefile
@@ -27,6 +27,8 @@
# for patches to apply
WRKDIST = ${WRKSRC}
+TEST_TARGET = ./...
+
# Copy unmodified config-example.yaml for tests
post-extract:
cd ${WRKSRC} && cp config-example.yaml config-example-test.yaml
@@ -41,9 +43,6 @@
${SUBST_DATA} ${WRKSRC}/config-example.yaml \
${PREFIX}/share/examples/headscale/config-example.yaml
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
-
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/security/cfssl/Makefile b/security/cfssl/Makefile
index d86e61daf8..4b41f9e89b 100644
--- a/security/cfssl/Makefile
+++ b/security/cfssl/Makefile
@@ -21,6 +21,7 @@
MODGO_LDFLAGS= -X github.com/cloudflare/cfssl/cli/version.version=$V
TEST_DEPENDS= ${BUILD_PKGPATH}
+TEST_TARGET= github.com/cloudflare/cfssl/...
do-build:
rm -r ${WRKSRC}/vendor
@@ -30,7 +31,4 @@
rm ${MODGO_WORKSPACE}/bin/example
mv ${MODGO_WORKSPACE}/bin/mkbundle ${MODGO_WORKSPACE}/bin/cfssl-mkbundle
-do-test:
- cd ${WRKSRC}; ${MODGO_CMD} test github.com/cloudflare/cfssl/...
-
.include <bsd.port.mk>
diff --git a/security/gosec/Makefile b/security/gosec/Makefile
index 5ab3e3d1b7..b8c41a363f 100644
--- a/security/gosec/Makefile
+++ b/security/gosec/Makefile
@@ -41,8 +41,7 @@
# github.com/securego/gosec/v2/rules/rules_test.go:41
# [FAIL] gosec rules report correct errors for all samples [It] should detect
blocklisted imports - RIPEMD160
# github.com/securego/gosec/v2/rules/rules_test.go:41
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
+TEST_TARGET = ./...
.include "modules.inc"
diff --git a/security/osv-scanner/Makefile b/security/osv-scanner/Makefile
index d05f41cdb8..b89773367a 100644
--- a/security/osv-scanner/Makefile
+++ b/security/osv-scanner/Makefile
@@ -24,8 +24,7 @@
WANTLIB += c pthread
# Tests fail => try to request infos via network
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
+TEST_TARGET = ./...
.include "modules.inc"
diff --git a/sysutils/direnv/Makefile b/sysutils/direnv/Makefile
index b5c3d6c4ea..57fc371fcf 100644
--- a/sysutils/direnv/Makefile
+++ b/sysutils/direnv/Makefile
@@ -21,6 +21,8 @@
# (even if the shell you're hooking isn't bash...go figure).
RUN_DEPENDS = shells/bash
+TEST_TARGET = github.com/direnv/direnv/...
+
# Remove some unneeded stuff. These are just Github CI hooks.
pre-build:
rm -rf ${WRKSRC}/script
@@ -32,7 +34,4 @@
$(INSTALL_PROGRAM) $(MODGO_WORKSPACE)/bin/direnv $(PREFIX)/bin
${INSTALL_MAN} ${WRKSRC}/man/*.1 $(PREFIX)/man/man1/
-do-test:
- ${MODGO_CMD} test github.com/direnv/direnv/...
-
.include <bsd.port.mk>
diff --git a/sysutils/docker-compose/Makefile b/sysutils/docker-compose/Makefile
index ea14ded2cb..d9724406c9 100644
--- a/sysutils/docker-compose/Makefile
+++ b/sysutils/docker-compose/Makefile
@@ -18,6 +18,8 @@
MODULES = lang/go
MODGO_LDFLAGS = -X
${MODGO_MODNAME}/internal.Version=${MODGO_VERSION}
+TEST_TARGET = ./...
+
do-install:
ln -s ${TRUEPREFIX}/libexec/docker/cli-plugins/docker-compose \
${PREFIX}/bin/docker-compose
@@ -25,8 +27,5 @@
${INSTALL_PROGRAM} ${MODGO_WORKSPACE}/bin/cmd \
${PREFIX}/libexec/docker/cli-plugins/docker-compose
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
-
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/sysutils/fzf/Makefile b/sysutils/fzf/Makefile
index 17839ec917..c22ffee1c2 100644
--- a/sysutils/fzf/Makefile
+++ b/sysutils/fzf/Makefile
@@ -31,6 +31,11 @@
VIMFILES = ${PREFIX}/share/vim/vimfiles
SUBST_VARS += VIMFILES
+TEST_TARGET = github.com/junegunn/fzf/src \
+ github.com/junegunn/fzf/src/algo \
+ github.com/junegunn/fzf/src/tui \
+ github.com/junegunn/fzf/src/util
+
do-install:
${INSTALL_PROGRAM} ${WRKDIR}/go/bin/* ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/bin/* ${PREFIX}/bin
@@ -42,13 +47,6 @@
${INSTALL_DATA} ${WRKSRC}/plugin/fzf.vim ${VIMFILES}/plugin/fzf.vim
${INSTALL_DATA} ${WRKSRC}/doc/fzf.txt ${VIMFILES}/doc/fzf.txt
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} \
- github.com/junegunn/fzf/src \
- github.com/junegunn/fzf/src/algo \
- github.com/junegunn/fzf/src/tui \
- github.com/junegunn/fzf/src/util
-
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/sysutils/gitlab-cli/Makefile b/sysutils/gitlab-cli/Makefile
index d509655c26..80fa8cd1f8 100644
--- a/sysutils/gitlab-cli/Makefile
+++ b/sysutils/gitlab-cli/Makefile
@@ -21,8 +21,7 @@
BUILD_DEPENDS = lang/go>=1.24.2
MODGO_LDFLAGS = -X main.version=${V}
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
+TEST_TARGET = ./...
post-install:
${WRKDIR}/go/bin/gen-docs --path ${PREFIX}/man/man1 --manpage
diff --git a/sysutils/hcloud/Makefile b/sysutils/hcloud/Makefile
index d2200ab7b8..a4a06690ac 100644
--- a/sysutils/hcloud/Makefile
+++ b/sysutils/hcloud/Makefile
@@ -23,15 +23,14 @@
MODGO_LDFLAGS = \
-X github.com/hetznercloud/cli/internal/version.Version=${MODGO_VERSION}
+TEST_TARGET = ./...
+
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/hcloud
${INSTALL_DATA} ${WRKSRC}/examples/* ${PREFIX}/share/examples/hcloud
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/hcloud
${INSTALL_DATA} ${WRKSRC}/README.md ${PREFIX}/share/doc/hcloud/README.md
-do-test:
- cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
-
.include "modules.inc"
.include <bsd.port.mk>
diff --git a/sysutils/restic/Makefile b/sysutils/restic/Makefile
index 7a1644b18e..422afaae69 100644
--- a/sysutils/restic/Makefile
+++ b/sysutils/restic/Makefile
@@ -21,7 +21,7 @@
do-test:
ln -fs ${LOCALBASE}/bin/python3 ${WRKDIR}/bin/python
- cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MODGO_CMD} test
${MODGO_FLAGS:N-v} -count 1 ./...
+ cd ${WRKSRC}; ${MODGO_CMD} test ${MODGO_FLAGS:N-v} -count 1 ./...
do-install:
${MODGO_INSTALL_TARGET}
diff --git a/textproc/miller/Makefile b/textproc/miller/Makefile
index bd0cf28949..d7bb0c4be6 100644
--- a/textproc/miller/Makefile
+++ b/textproc/miller/Makefile
@@ -16,6 +16,9 @@
MODULES = lang/go
+TEST_TARGET = ./pkg/... \
+ regession_test.go
+
# zip file contains a UTF-8 character; rename it, but allow the rename to fail
in
# case the iconv flavour of unzip is already installed
post-extract:
@@ -24,12 +27,6 @@
do-build:
cd ${WRKSRC} && ${MODGO_CMD} build ${MODGO_FLAGS} ./cmd/mlr
-do-test:
- cd ${WRKSRC} && \
- ${MODGO_CMD} test ${MODGO_FLAGS} ${MODGO_TEST_FLAGS} ./pkg/...
- cd ${WRKSRC} && \
- ${MODGO_CMD} test ${MODGO_FLAGS} ${MODGO_TEST_FLAGS}
regression_test.go
-
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/mlr ${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/man/mlr.1 ${PREFIX}/man/man1
diff --git a/www/goat/Makefile b/www/goat/Makefile
index 717bd995d6..f6521cf86a 100644
--- a/www/goat/Makefile
+++ b/www/goat/Makefile
@@ -17,5 +17,7 @@
MODULES = lang/go
+TEST_TARGET = ./...
+
.include "modules.inc"
.include <bsd.port.mk>