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>

Reply via email to