Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Mar 2017 23:43:29 +0100
From:      Andreas Sommer <andreas.sommer87@googlemail.com>
To:        freebsd-ports@freebsd.org
Subject:   Trouble with TEST_USES and TEST_BUILD_DEPENDS/TEST_DEPENDS
Message-ID:  <425d8b4c-5264-b4a3-62b1-364f70a58165@googlemail.com>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------D0C542D811900D9219780E85
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Hi list,

I'm currently trying to add https://github.com/HowardHinnant/date as devel/hhdate and having quite some trouble getting the tests to work while having a semantically correct port Makefile.

Quoting my Makefile here (should be reproducible with the attached full diff). I'd be grateful if someone could share insights about the 2 issues marked with XXX - and potentially general advice about structure and content.

> # Created by: Andreas Sommer <andreas.sommer87@googlemail.com>
> # $FreeBSD$
> 
> PORTNAME=		hhdate
> PORTVERSION=		2.1.0
> # Choose commit a little after 2.1.0 to have LICENSE file and fixed unit tests
> GH_TAGNAME=		d110f07f596d86e63daa2db41f1d52c05f4a179c
> CATEGORIES=		devel
> 
> MAINTAINER=		andreas.sommer87@googlemail.com
> COMMENT=		A date and time library based on the C++11 (and beyond) <chrono> header
> 
> LICENSE=		MIT
> LICENSE_FILE=		${WRKSRC}/LICENSE.txt
> 
> USE_GITHUB=		yes
> GH_ACCOUNT=		HowardHinnant
> GH_PROJECT=		date
> 
> NO_BUILD=		yes
> NO_ARCH=		yes
> 
> PLIST_FILES=		include/hhdate/date.h
> 
> do-install:
> 	@${MKDIR} ${STAGEDIR}${PREFIX}/include/hhdate
> 	${INSTALL_DATA} ${WRKSRC}/date.h ${STAGEDIR}${PREFIX}/include/hhdate/
> 
> # TODO add timezone support when interest grows
> OPTIONS_DEFINE=		TEST
> TEST_DESC=		Build with tests
> # XXX should be TEST_USES, but then compiler.mk doesn't even seem to be called i.e. CXX and other variables not overwritten
> USES=			compiler:c++14-lang
> TEST_TEST_TARGET=	do-test
> # XXX doesn't work with TEST_BUILD_DEPENDS (clang++39 not found) or TEST_DEPENDS (see error below) - why?
> #     ===>  Testing for hhdate-2.1.0
> #     ===>   hhdate-2.1.0 depends on file: /usr/local/bin/clang39 - not found
> #     ===>   Installing existing package /packages/All/llvm39-3.9.1_2.txz
> #     [porttesting-devel] Installing llvm39-3.9.1_2...
> #     [porttesting-devel] `-- Installing libxml2-2.9.4...
> #     [porttesting-devel] `-- Extracting libxml2-2.9.4: .......... done
> #     [porttesting-devel] Extracting llvm39-3.9.1_2: .......... done
> #     ===>   hhdate-2.1.0 depends on file: /usr/local/bin/clang39 - found
> #     ===>   Returning to build of hhdate-2.1.0
> #     ===>   dp_STRICT_DEPENDS set - Not installing missing dependencies.
> #            This means a dependency is wrong since it was not satisfied in the TEST_DEPENDS phase.
> #            List of not found patterns: /usr/local/bin/clang39 [note: I added this debug line, probably worth a PR to ports tree?!]
> # BUILD_DEPENDS works but is of course not really correct.
> BUILD_DEPENDS+=		${LOCALBASE}/bin/clang39:devel/llvm39
> 
> do-test:
> 	# As developer, I tried printf debugging in a Makefile to see which .mk's are "called" :P
> 	@echo ANDIDEBUG=${ANDIDEBUG} 
> 	@echo C++14 compiler should compile minimal example
> 	${CXX} -std=c++14 -stdlib=libc++ ${CXXFLAGS} ${FILESDIR}/test-minimal.cpp \
> 		-I${STAGEDIR}${PREFIX}/include -o ${WRKDIR}/test-minimal && \
> 	       	${WRKDIR}/test-minimal >/dev/null
> 	
> 	@echo System compiler in C++11 mode should compile minimal example
> 	clang++ -std=c++11 -stdlib=libc++ ${FILESDIR}/test-minimal.cpp \
> 		-I${STAGEDIR}${PREFIX}/include -o ${WRKDIR}/test-minimal && \
> 		${WRKDIR}/test-minimal >/dev/null
> 	
> 	@echo "Run unit tests with modern compiler (not maintained for older ones)"
> 	@cd ${WRKSRC}/test && ${SETENV} CXX="${LOCALBASE}/bin/clang++39" \
> 		CXXFLAGS="${CXXFLAGS}" CXX_LANG=c++14 ./testit
> 
> .include <bsd.port.mk>

Thanks,
 Andreas

--------------D0C542D811900D9219780E85
Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0";
 name="hhdate-issues.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="hhdate-issues.diff"

ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uY2U4MWNkMwotLS0gL2Rldi9udWxsCisrKyBiL01ha2VmaWxlCkBA
IC0wLDAgKzEsNjcgQEAKKyMgQ3JlYXRlZCBieTogQW5kcmVhcyBTb21tZXIgPGFuZHJlYXMu
c29tbWVyODdAZ29vZ2xlbWFpbC5jb20+CisjICRGcmVlQlNEJAorCitQT1JUTkFNRT0JCWho
ZGF0ZQorUE9SVFZFUlNJT049CQkyLjEuMAorIyBDaG9vc2UgY29tbWl0IGEgbGl0dGxlIGFm
dGVyIDIuMS4wIHRvIGhhdmUgTElDRU5TRSBmaWxlIGFuZCBmaXhlZCB1bml0IHRlc3RzCitH
SF9UQUdOQU1FPQkJZDExMGYwN2Y1OTZkODZlNjNkYWEyZGI0MWYxZDUyYzA1ZjRhMTc5Ywor
Q0FURUdPUklFUz0JCWRldmVsCisKK01BSU5UQUlORVI9CQlhbmRyZWFzLnNvbW1lcjg3QGdv
b2dsZW1haWwuY29tCitDT01NRU5UPQkJQSBkYXRlIGFuZCB0aW1lIGxpYnJhcnkgYmFzZWQg
b24gdGhlIEMrKzExIChhbmQgYmV5b25kKSA8Y2hyb25vPiBoZWFkZXIKKworTElDRU5TRT0J
CU1JVAorTElDRU5TRV9GSUxFPQkJJHtXUktTUkN9L0xJQ0VOU0UudHh0CisKK1VTRV9HSVRI
VUI9CQl5ZXMKK0dIX0FDQ09VTlQ9CQlIb3dhcmRIaW5uYW50CitHSF9QUk9KRUNUPQkJZGF0
ZQorCitOT19CVUlMRD0JCXllcworTk9fQVJDSD0JCXllcworCitQTElTVF9GSUxFUz0JCWlu
Y2x1ZGUvaGhkYXRlL2RhdGUuaAorCitkby1pbnN0YWxsOgorCUAke01LRElSfSAke1NUQUdF
RElSfSR7UFJFRklYfS9pbmNsdWRlL2hoZGF0ZQorCSR7SU5TVEFMTF9EQVRBfSAke1dSS1NS
Q30vZGF0ZS5oICR7U1RBR0VESVJ9JHtQUkVGSVh9L2luY2x1ZGUvaGhkYXRlLworCisjIFRP
RE8gYWRkIHRpbWV6b25lIHN1cHBvcnQgd2hlbiBpbnRlcmVzdCBncm93cworT1BUSU9OU19E
RUZJTkU9CQlURVNUCitURVNUX0RFU0M9CQlCdWlsZCB3aXRoIHRlc3RzCisjIFhYWCBzaG91
bGQgYmUgVEVTVF9VU0VTLCBidXQgdGhlbiBjb21waWxlci5tayBkb2Vzbid0IGV2ZW4gc2Vl
bSB0byBiZSBjYWxsZWQ/IQorVVNFUz0JCQljb21waWxlcjpjKysxNC1sYW5nCitURVNUX1RF
U1RfVEFSR0VUPQlkby10ZXN0CisjIFhYWCBkb2Vzbid0IHdvcmsgd2l0aCBURVNUX0JVSUxE
X0RFUEVORFMgKGNsYW5nKyszOSBub3QgZm91bmQpIG9yIFRFU1RfREVQRU5EUyAoc2VlIGVy
cm9yIGJlbG93KSAtIHdoeT8KKyMgICAgID09PT4gIFRlc3RpbmcgZm9yIGhoZGF0ZS0yLjEu
MAorIyAgICAgPT09PiAgIGhoZGF0ZS0yLjEuMCBkZXBlbmRzIG9uIGZpbGU6IC91c3IvbG9j
YWwvYmluL2NsYW5nMzkgLSBub3QgZm91bmQKKyMgICAgID09PT4gICBJbnN0YWxsaW5nIGV4
aXN0aW5nIHBhY2thZ2UgL3BhY2thZ2VzL0FsbC9sbHZtMzktMy45LjFfMi50eHoKKyMgICAg
IFtwb3J0dGVzdGluZy1kZXZlbF0gSW5zdGFsbGluZyBsbHZtMzktMy45LjFfMi4uLgorIyAg
ICAgW3BvcnR0ZXN0aW5nLWRldmVsXSBgLS0gSW5zdGFsbGluZyBsaWJ4bWwyLTIuOS40Li4u
CisjICAgICBbcG9ydHRlc3RpbmctZGV2ZWxdIGAtLSBFeHRyYWN0aW5nIGxpYnhtbDItMi45
LjQ6IC4uLi4uLi4uLi4gZG9uZQorIyAgICAgW3BvcnR0ZXN0aW5nLWRldmVsXSBFeHRyYWN0
aW5nIGxsdm0zOS0zLjkuMV8yOiAuLi4uLi4uLi4uIGRvbmUKKyMgICAgID09PT4gICBoaGRh
dGUtMi4xLjAgZGVwZW5kcyBvbiBmaWxlOiAvdXNyL2xvY2FsL2Jpbi9jbGFuZzM5IC0gZm91
bmQKKyMgICAgID09PT4gICBSZXR1cm5pbmcgdG8gYnVpbGQgb2YgaGhkYXRlLTIuMS4wCisj
ICAgICA9PT0+ICAgZHBfU1RSSUNUX0RFUEVORFMgc2V0IC0gTm90IGluc3RhbGxpbmcgbWlz
c2luZyBkZXBlbmRlbmNpZXMuCisjICAgICAgICAgICAgVGhpcyBtZWFucyBhIGRlcGVuZGVu
Y3kgaXMgd3Jvbmcgc2luY2UgaXQgd2FzIG5vdCBzYXRpc2ZpZWQgaW4gdGhlIFRFU1RfREVQ
RU5EUyBwaGFzZS4KKyMgICAgICAgICAgICBMaXN0IG9mIG5vdCBmb3VuZCBwYXR0ZXJuczog
L3Vzci9sb2NhbC9iaW4vY2xhbmczOSBbbm90ZTogSSBhZGRlZCB0aGlzIGRlYnVnIGxpbmUs
IHByb2JhYmx5IHdvcnRoIGEgUFIgdG8gcG9ydHMgdHJlZT8hXQorIyBCVUlMRF9ERVBFTkRT
IHdvcmtzIGJ1dCBpcyBvZiBjb3Vyc2Ugbm90IHJlYWxseSBjb3JyZWN0LgorQlVJTERfREVQ
RU5EUys9CQkke0xPQ0FMQkFTRX0vYmluL2NsYW5nMzk6ZGV2ZWwvbGx2bTM5CisKK2RvLXRl
c3Q6CisJQGVjaG8gQU5ESURFQlVHPSR7QU5ESURFQlVHfQorCUBlY2hvIEMrKzE0IGNvbXBp
bGVyIHNob3VsZCBjb21waWxlIG1pbmltYWwgZXhhbXBsZQorCSR7Q1hYfSAtc3RkPWMrKzE0
IC1zdGRsaWI9bGliYysrICR7Q1hYRkxBR1N9ICR7RklMRVNESVJ9L3Rlc3QtbWluaW1hbC5j
cHAgXAorCQktSSR7U1RBR0VESVJ9JHtQUkVGSVh9L2luY2x1ZGUgLW8gJHtXUktESVJ9L3Rl
c3QtbWluaW1hbCAmJiBcCisJICAgICAgIAkke1dSS0RJUn0vdGVzdC1taW5pbWFsID4vZGV2
L251bGwKKwkKKwlAZWNobyBTeXN0ZW0gY29tcGlsZXIgaW4gQysrMTEgbW9kZSBzaG91bGQg
Y29tcGlsZSBtaW5pbWFsIGV4YW1wbGUKKwljbGFuZysrIC1zdGQ9YysrMTEgLXN0ZGxpYj1s
aWJjKysgJHtGSUxFU0RJUn0vdGVzdC1taW5pbWFsLmNwcCBcCisJCS1JJHtTVEFHRURJUn0k
e1BSRUZJWH0vaW5jbHVkZSAtbyAke1dSS0RJUn0vdGVzdC1taW5pbWFsICYmIFwKKwkJJHtX
UktESVJ9L3Rlc3QtbWluaW1hbCA+L2Rldi9udWxsCisJCisJQGVjaG8gIlJ1biB1bml0IHRl
c3RzIHdpdGggbW9kZXJuIGNvbXBpbGVyIChub3QgbWFpbnRhaW5lZCBmb3Igb2xkZXIgb25l
cykiCisJQGNkICR7V1JLU1JDfS90ZXN0ICYmICR7U0VURU5WfSBDWFg9IiR7TE9DQUxCQVNF
fS9iaW4vY2xhbmcrKzM5IiBcCisJCUNYWEZMQUdTPSIke0NYWEZMQUdTfSIgQ1hYX0xBTkc9
YysrMTQgLi90ZXN0aXQKKworLmluY2x1ZGUgPGJzZC5wb3J0Lm1rPgpkaWZmIC0tZ2l0IGEv
ZGlzdGluZm8gYi9kaXN0aW5mbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li40OWZkMDZmCi0tLSAvZGV2L251bGwKKysrIGIvZGlzdGluZm8KQEAgLTAsMCArMSwzIEBA
CitUSU1FU1RBTVAgPSAxNDg5Njk3Mzc1CitTSEEyNTYgKEhvd2FyZEhpbm5hbnQtZGF0ZS0y
LjEuMC1kMTEwZjA3ZjU5NmQ4NmU2M2RhYTJkYjQxZjFkNTJjMDVmNGExNzljX0dIMC50YXIu
Z3opID0gMThiYmM3ODU3Mzk0MmY3ODNkOWY4YmRkM2RhZTg2Mzc2MzM1ZTcwNGU3ODRmNDEx
OTk3OWJlZDBlMDNjNDQ5NQorU0laRSAoSG93YXJkSGlubmFudC1kYXRlLTIuMS4wLWQxMTBm
MDdmNTk2ZDg2ZTYzZGFhMmRiNDFmMWQ1MmMwNWY0YTE3OWNfR0gwLnRhci5neikgPSA3NzYw
ODIKZGlmZiAtLWdpdCBhL2ZpbGVzL3Rlc3QtbWluaW1hbC5jcHAgYi9maWxlcy90ZXN0LW1p
bmltYWwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzMjg3NDMK
LS0tIC9kZXYvbnVsbAorKysgYi9maWxlcy90ZXN0LW1pbmltYWwuY3BwCkBAIC0wLDAgKzEs
MjAgQEAKKy8vIFNtYWxsIGV4YW1wbGUgdGFrZW4gZnJvbSBodHRwczovL2hvd2FyZGhpbm5h
bnQuZ2l0aHViLmlvL2RhdGUvZGF0ZS5odG1sLgorLy8gT25seSBmb3IgdGVzdGluZyBpbnN0
YWxsZWQgaGVhZGVyIHNob3J0bHkuCisjaW5jbHVkZSA8aW9zdHJlYW0+CisjaW5jbHVkZSA8
aGhkYXRlL2RhdGUuaD4KKworaW50IG1haW4oKQoreworICAgIHVzaW5nIG5hbWVzcGFjZSBz
dGQ7CisgICAgdXNpbmcgbmFtZXNwYWNlIGRhdGU7CisgICAgZm9yIChhdXRvIG0gPSAxOyBt
IDw9IDEyOyArK20pCisgICAgeworICAgICAgICBhdXRvIG1lZXQgPSB5ZWFyX21vbnRoX2Rh
eXttL2ZyaVsxXS8yMDE1fTsKKyAgICAgICAgY291dCA8PCBtZWV0IDw8ICdcbic7CisgICAg
ICAgIG1lZXQgPSBtZWV0LnllYXIoKS9tZWV0Lm1vbnRoKCkvKG1lZXQuZGF5KCkrd2Vla3N7
Mn0pOworICAgICAgICBjb3V0IDw8IG1lZXQgPDwgJ1xuJzsKKyAgICAgICAgbWVldCA9IG1l
ZXQueWVhcigpL21lZXQubW9udGgoKS8obWVldC5kYXkoKSt3ZWVrc3syfSk7CisgICAgICAg
IGlmIChtZWV0Lm9rKCkpCisgICAgICAgICAgICBjb3V0IDw8IG1lZXQgPDwgJ1xuJzsKKyAg
ICB9Cit9CmRpZmYgLS1naXQgYS9wa2ctZGVzY3IgYi9wa2ctZGVzY3IKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE0MzYxMAotLS0gL2Rldi9udWxsCisrKyBiL3Br
Zy1kZXNjcgpAQCAtMCwwICsxLDMgQEAKK0EgZGF0ZSBhbmQgdGltZSBsaWJyYXJ5IGJhc2Vk
IG9uIHRoZSBDKysxMSAoYW5kIGJleW9uZCkgPGNocm9ubz4gaGVhZGVyCisKK1dXVzogaHR0
cHM6Ly9naXRodWIuY29tL0hvd2FyZEhpbm5hbnQvZGF0ZQo=
--------------D0C542D811900D9219780E85--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?425d8b4c-5264-b4a3-62b1-364f70a58165>