Date: Sun, 17 Nov 2019 16:19:37 +0000 (UTC) From: Dmitri Goutnik <dmgk@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r517831 - head/Mk/Uses Message-ID: <201911171619.xAHGJbrU014849@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dmgk Date: Sun Nov 17 16:19:36 2019 New Revision: 517831 URL: https://svnweb.freebsd.org/changeset/ports/517831 Log: Mk/Uses/go.mk: Add GO_TEST_TARGET and provide default do-test Add GO_TEST_TARGET defaulting to `./...` (the current package and all subpackages) and create do-test target unless already provided by port's Makefile. In many cases this would allow us to remove explicit do-test and rely on defaults provided by ports framework for testing. Also, while here - remove GO_WRKDIR_SRC - it is not used anywhere anymore - sync GO_PKGNAME and GO_TARGET descriptions with Porter's Handbook Reviewed by: tobik Approved by: tz (mentor, implicit) Differential Revision: https://reviews.freebsd.org/D22412 Modified: head/Mk/Uses/go.mk Modified: head/Mk/Uses/go.mk ============================================================================== --- head/Mk/Uses/go.mk Sun Nov 17 15:56:03 2019 (r517830) +++ head/Mk/Uses/go.mk Sun Nov 17 16:19:36 2019 (r517831) @@ -12,8 +12,8 @@ # in modules-aware mode. # no_targets Indicates that Go is needed at build time as a part of # make/CMake build. This will setup build environment like -# GO_ENV, GO_BUILDFLAGS but will not create post-extract, do-build -# and do-install targets. +# GO_ENV, GO_BUILDFLAGS but will not create post-extract and +# do-{build,install,test} targets. # run Indicates that Go is needed at run time and adds it to # RUN_DEPENDS. # @@ -21,20 +21,20 @@ # # GO_PKGNAME # The name of the package when building in GOPATH mode. This -# is the directory that will be created in GOPATH/src and seen -# by the `go` command. If not set explicitly and GH_SUBDIR or -# GL_SUBDIR is present, GO_PKGNAME will be inferred from it. +# is the directory that will be created in ${GOPATH}/src. If not set +# explicitly and GH_SUBDIR or GL_SUBDIR is present, GO_PKGNAME will +# be inferred from it. # It is not needed when building in modules-aware mode. # # GO_TARGET -# The packages to build. If not set explicitly, defaults to -# GO_PKGNAME. GO_TARGET can also be a tuple in the form -# package:path where path can be either a simple filename or a -# full path starting with ${PREFIX}. Specifying a full path -# like ${PREFIX}/sbin/binary will install the resulting binary -# as ${PREFIX}/sbin/binary. Using just simple filename is a -# shortcut to installing it as ${PREFIX}/bin/filename. +# The packages to build. The default value is ${GO_PKGNAME}. +# GO_TARGET can also be a tuple in the form package:path where path can be +# either a simple filename or a full path starting with ${PREFIX}. # +# GO_TEST_TARGET +# The packages to test. The default value is `./...` (the current package +# and all subpackages). +# # CGO_CFLAGS # Additional CFLAGS variables to be passed to the C compiler by the `go` # command @@ -72,7 +72,9 @@ GO_PKGNAME= ${GL_SUBDIR:S|^src/||} GO_PKGNAME= ${PORTNAME} . endif .endif + GO_TARGET?= ${GO_PKGNAME} +GO_TEST_TARGET?= ./... GO_BUILDFLAGS+= -v -buildmode=exe .if !defined(WITH_DEBUG) && empty(GO_BUILDFLAGS:M-ldflags*) @@ -102,8 +104,7 @@ GO_WRKSRC= ${WRKSRC} GO_ENV+= GOPATH="" \ GOBIN="${GO_WRKDIR_BIN}" .else -GO_WRKDIR_SRC= ${WRKDIR}/src -GO_WRKSRC= ${GO_WRKDIR_SRC}/${GO_PKGNAME} +GO_WRKSRC= ${WRKDIR}/src/${GO_PKGNAME} GO_ENV+= GOPATH="${WRKDIR}" \ GOBIN="" .endif @@ -158,6 +159,15 @@ do-install: ${ECHO_MSG} "===> Installing $${src} as $${dst}"; \ ${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/$${src} $${dst}; \ done +.endif + +.if !target(do-test) && empty(go_ARGS:Mno_targets) +do-test: + (cd ${GO_WRKSRC}; \ + for t in ${GO_TEST_TARGET}; do \ + ${ECHO_MSG} "===> Testing $${t}"; \ + ${SETENV} ${MAKE_ENV} ${GO_ENV} ${GO_CMD} test ${GO_BUILDFLAGS} $${t}; \ + done) .endif # Helper targets for port maintainers
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911171619.xAHGJbrU014849>