Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Aug 2016 19:58:08 +1000
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        Matthias Andree <mandree@FreeBSD.org>, ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   Re: svn commit: r420966 - head/security/openvpn
Message-ID:  <f11497cc-2ed7-12ee-60a7-24afe4b63633@FreeBSD.org>
In-Reply-To: <201608270932.u7R9WUbC074827@repo.freebsd.org>
References:  <201608270932.u7R9WUbC074827@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 27/08/2016 7:32 PM, Matthias Andree wrote:
> Author: mandree
> Date: Sat Aug 27 09:32:30 2016
> New Revision: 420966
> URL: https://svnweb.freebsd.org/changeset/ports/420966
> 
> Log:
>   Make self-test the TEST option, support make test. Enabled by default.

>   NB: This is a critical port with many users, and the test is low on
>   resources, it takes two minutes idling, waiting for timers to expire.

Hi Matthias,

I'm a HUGE proponent of additional tests/QA/quality in ports/packaging.

However, users can run make test at any time to verify QA in their
environments. What is the actual rationale *for* running tests
post-build in all/any environments (including packaging) by default? Is
the aim to have packaging fail if it doesn't pass?

Should all our 'critical' ports do the same thing? Should we instead
mark 'critical' ports in some manner and have the framework run these
tests-post-build by default?

I also don't understand how criticality (needs definition) leads to an
test-by-default-after-build conclusion. Can you explain?

What is the objective threshold/definition of critical? daemon? more
than N users using it? 'popular' port?

I'm not having a go here, I'm just trying to understand the decision if
it wasn't a purely subjective/individual call. It looks/feels pretty
prescriptive.

Thanks!

./koobs

>   
>   Replace former ".if ... post-build:" by "post-build-TEST-on: test".
>   Replace former post-build by "TEST_TARGET=check".
>   
>   Add a temporary (9 months or so-ish) compatibility wrapper to move
>   people from the prior port-specific WITHOUT_CHECK to WITHOUT=TEST or
>   OPTIONS_UNSET=TEST. Uses WARNING+= to make user aware of the change.
>   
>   While here, shorten the POLARSSL_DESC help message.
>   
>   Requested by:	brnrd@
>   Differential Revision:	D7507 (sort-of)
> 
> Modified:
>   head/security/openvpn/Makefile
> 
> Modified: head/security/openvpn/Makefile
> ==============================================================================
> --- head/security/openvpn/Makefile	Sat Aug 27 09:28:03 2016	(r420965)
> +++ head/security/openvpn/Makefile	Sat Aug 27 09:32:30 2016	(r420966)
> @@ -21,7 +21,7 @@ SHEBANG_FILES=		sample/sample-scripts/ve
>  			sample/sample-scripts/auth-pam.pl \
>  			sample/sample-scripts/ucn.pl
>  # avoid picking up CMAKE, we don't have cmocka anyways.
> -CONFIGURE_ARGS+=	CMAKE=""
> +CONFIGURE_ENV+=		ac_cv_prog_CMAKE= CMAKE=
>  
>  # let OpenVPN's configure script pick up the requisite libraries,
>  # but do not break the plugin build if an older version is installed
> @@ -32,15 +32,15 @@ LDFLAGS+=		-L${LOCALBASE}/lib
>  CPPFLAGS+=		-DPLUGIN_LIBDIR=\\\"${PREFIX}/lib/openvpn/plugins\\\"
>  
>  OPTIONS_DEFINE=		PKCS11 EASYRSA DOCS EXAMPLES X509ALTUSERNAME \
> -			TUNNELBLICK
> -OPTIONS_DEFAULT=	EASYRSA OPENSSL
> +			TUNNELBLICK TEST
> +OPTIONS_DEFAULT=	EASYRSA OPENSSL TEST
>  OPTIONS_SINGLE=		SSL
>  OPTIONS_SINGLE_SSL=	OPENSSL POLARSSL
>  # The following feature is always enabled since 2.3.9 and no longer optional.
>  # PW_SAVE_DESC=		Interactive passwords may be read from a file
>  PKCS11_DESC=		Use security/pkcs11-helper
>  EASYRSA_DESC=		Install security/easy-rsa RSA helper package
> -POLARSSL_DESC=		SSL/TLS via PolarSSL (mbedTLS) 1.3.8+ (not 2.x)
> +POLARSSL_DESC=		SSL/TLS via mbedTLS 1.3.X (not 2.x)
>  TUNNELBLICK_DESC=	Tunnelblick XOR scramble patch (READ HELP!)
>  X509ALTUSERNAME_DESC=	Enable --x509-username-field (OpenSSL only)
>  
> @@ -79,6 +79,14 @@ LIB_DEPENDS+=		liblzo2.so:archivers/lzo2
>  PORTDOCS=		*
>  PORTEXAMPLES=		*
>  
> +TEST_TARGET=		check
> +
> +# XXX Please remove this compatibility wrapper after 2017Q2 is branched.
> +.ifdef(WITHOUT_CHECK)
> +WARNING+=	"${.CURDIR}: WITHOUT_CHECK is deprecated, please use WITHOUT=TEST or OPTIONS_UNSET=TEST."
> +WITHOUT+=	TEST
> +.endif
> +
>  pre-configure:
>  .ifdef (LOG_OPENVPN)
>  	@${ECHO} "Building with LOG_OPENVPN=${LOG_OPENVPN}"
> @@ -96,12 +104,7 @@ post-configure:
>  	    ${WRKSRC}/src/plugins/auth-pam/Makefile \
>  	    ${WRKSRC}/src/plugins/down-root/Makefile
>  
> -.if !defined(WITHOUT_CHECK)
> -post-build:
> -	@# self-tests here
> -	@${ECHO} ; ${ECHO} "### Note that you can skip these lengthy selftests with WITHOUT_CHECK=yes ###" ; ${ECHO}
> -	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} check
> -.endif
> +post-build-TEST-on: test
>  
>  post-install:
>  	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/openvpn/plugins/openvpn-plugin-auth-pam.so
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f11497cc-2ed7-12ee-60a7-24afe4b63633>