From: Sebastien Marie Subject: lang/go: use TEST_TARGET for MODGO_TEST_CMD To: ports@openbsd.org Date: Sun, 11 Jan 2026 20:00:01 +0100 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 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 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 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 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 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 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 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 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 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 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