svn commit: r398474 - head/Mk/Uses

Dmitry Marakasov amdmi3 at amdmi3.ru
Tue Oct 6 19:45:09 UTC 2015


* Sunpoet Po-Chuan Hsieh (sunpoet at freebsd.org) wrote:

> > > Log:
> > >   - Add NO_PERL5_TEST: allow ports with USES=perl5 to run default
> > do-test: defined in bsd.port.mk
> > >   - Fix comment
> > >
> > > Modified:
> > >   head/Mk/Uses/perl5.mk
> > >
> > > Modified: head/Mk/Uses/perl5.mk
> > >
> > ==============================================================================
> > > --- head/Mk/Uses/perl5.mk     Sat Oct  3 16:30:19 2015        (r398473)
> > > +++ head/Mk/Uses/perl5.mk     Sat Oct  3 17:06:52 2015        (r398474)
> > > @@ -308,7 +308,7 @@ fix-perl-things:
> > >       @${RM} -f
> > ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH}/perllocal.pod* || :
> > >       @${RMDIR} -p
> > ${STAGEDIR}${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH} 2>/dev/null || :
> > >
> > > -.if !target(do-test)
> > > +.if !target(do-test) && !defined(NO_PERL5_TEST)
> > >  TEST_TARGET?=        test
> > >  TEST_WRKSRC?=        ${BUILD_WRKSRC}
> > >  do-test:
> > > @@ -317,5 +317,5 @@ do-test:
> > >  .elif ${USE_PERL5:Mconfigure}
> > >       cd ${TEST_WRKSRC}/ && ${SETENV} ${TEST_ENV} ${MAKE_CMD}
> > ${TEST_ARGS} ${TEST_TARGET}
> > >  .endif # USE_PERL5:Mmodbuild*
> > > -.endif # regression-test
> > > +.endif # do-test
> > >  .endif # defined(_POSTMKINCLUDED)
> >
> > Please roll this back. We already have NO_TEST specifically for this
> > purpose. Also, I'd be really grateful if tests-related infrastructure
> > changes are reviewed first with me CCd.
> >
> No, they are different. IIUC NO_TEST is used to bypass test framework
> entirely. A port requires perl would add USES=perl5 but it does not mean
> that it wants to run perl tests. Since we do not support multiple tests
> currently, we need to check NO_PERL5_TEST in order to skip do-test: from
> perl5.mk but run the do-test: from bsd.port.mk or other Uses/*.mk (e.g.
> USES=python).

As I've mentioned in addendum to my mail, the problem here is that
perl5.mk lacks a check for modbuild/configure. There may be only
one build system, and either that build system provides tests, or
there are custom tests or there are no tests. That's default (for either
perl modbuild, perl configure, pydistutils etc.), do-test: defined
in Makefile or NO_TEST defined correspondingly.

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3 at amdmi3.ru  ..:  jabber: amdmi3 at jabber.ru      http://amdmi3.ru


More information about the svn-ports-head mailing list