Deleted Added
full compact
atf.test.mk (256281) atf.test.mk (256366)
1# $NetBSD$
1# $NetBSD$
2# $FreeBSD: stable/10/share/mk/atf.test.mk 242711 2012-11-07 22:02:02Z sjg $
2# $FreeBSD: stable/10/share/mk/atf.test.mk 256366 2013-10-12 06:08:18Z rpaulo $
3#
4
5.include <bsd.init.mk>
6
7ATF_TESTS:=
8
9.if make(*test)
10TESTSDIR?= .

--- 35 unchanged lines hidden (view full) ---

46${_T}: ${TESTS_SH_SRC_${_T}}
47 echo '#! /usr/bin/atf-sh' > ${.TARGET}.tmp
48 cat ${.ALLSRC} >> ${.TARGET}.tmp
49 chmod +x ${.TARGET}.tmp
50 mv ${.TARGET}.tmp ${.TARGET}
51.endfor
52.endif
53
3#
4
5.include <bsd.init.mk>
6
7ATF_TESTS:=
8
9.if make(*test)
10TESTSDIR?= .

--- 35 unchanged lines hidden (view full) ---

46${_T}: ${TESTS_SH_SRC_${_T}}
47 echo '#! /usr/bin/atf-sh' > ${.TARGET}.tmp
48 cat ${.ALLSRC} >> ${.TARGET}.tmp
49 chmod +x ${.TARGET}.tmp
50 mv ${.TARGET}.tmp ${.TARGET}
51.endfor
52.endif
53
54ATFFILE?= auto
55
56.if ${ATFFILE:tl} != "no"
57FILES+= Atffile
58FILESDIR_Atffile= ${TESTSDIR}
59
60.if ${ATFFILE:tl} == "auto"
61CLEANFILES+= Atffile Atffile.tmp
62
63Atffile: Makefile
64 @{ echo 'Content-Type: application/X-atf-atffile; version="1"'; \
65 echo; \
66 echo '# Automatically generated by atf-test.mk.'; \
67 echo; \
68 echo 'prop: test-suite = "'`uname -o`'"'; \
69 echo; \
70 for tp in ${ATF_TESTS}; do \
71 echo "tp: $${tp}"; \
72 done; } >Atffile.tmp
73 @mv Atffile.tmp Atffile
74.endif
75.endif
76
77# Generate support variables for atf-test.
78#
79# atf-test can only work for native builds, i.e. a build host of a particular
80# OS building a release for the same OS version and architecture. The target
81# runs ATF, which is on the build host, and the tests execute code built for
82# the target host.
83#
84# Due to the dependencies of the binaries built by the source tree and how they
85# are used by tests, it is highly possible for a execution of "make test" to
86# report bogus results unless the new binaries are put in place.
87
88# XXX (gcooper): Executing ATF from outside the source tree is improper; it
89# should be built as part of the OS toolchain build for the host OS and
90# executed from there.
91ATF_PATH+= ${DESTDIR}/bin ${DESTDIR}/sbin ${DESTDIR}/usr/bin ${DESTDIR}/usr/sbin
92TESTS_ENV+= PATH=${ATF_PATH:ts:}:${PATH}
93
94ATF_BUILD_CC?= ${DESTDIR}/usr/bin/cc
95ATF_BUILD_CPP?= ${DESTDIR}/usr/bin/cpp
96ATF_BUILD_CXX?= ${DESTDIR}/usr/bin/c++
97ATF_CONFDIR?= ${DESTDIR}/etc
98ATF_INCLUDEDIR?= ${DESTDIR}/usr/include
99ATF_LIBDIR?= ${DESTDIR}/usr/lib
100ATF_LIBEXECDIR?= ${DESTDIR}/usr/libexec
101ATF_PKGDATADIR?= ${DESTDIR}/usr/share/atf
102ATF_SHELL?= ${DESTDIR}/bin/sh
103LD_LIBRARY_PATH?= ${TESTS_LD_LIBRARY_PATH:tW:S/ /:/g}
104
105ATF_ENV_VARS= \
106 ATF_BUILD_CC \
107 ATF_BUILD_CPP \
108 ATF_BUILD_CXX \
109 ATF_CONFDIR \
110 ATF_INCLUDEDIR \
111 ATF_LIBDIR \
112 ATF_LIBEXECDIR \
113 ATF_PKGDATADIR \
114 ATF_SHELL \
115
116.for v in ${ATF_ENV_VARS}
117.if !empty($v)
118TESTS_ENV+= $v=${$v}
119.endif
120.endfor
121
122_TESTS_FIFO= ${.OBJDIR}/atf-run.fifo
123_TESTS_LOG= ${.OBJDIR}/atf-run.log
124CLEANFILES+= ${_TESTS_FIFO} ${_TESTS_LOG}
125
126ATF_BIN?= ${DESTDIR}/usr/bin
127ATF_REPORT?= ${ATF_BIN}/atf-report
128ATF_RUN?= ${ATF_BIN}/atf-run
129
130.PHONY: realtest
131realtest:
132.if defined(TESTSDIR)
133 @set -e; \
134 cd ${DESTDIR}${TESTSDIR}; \
135 rm -f ${_TESTS_FIFO}; \
136 mkfifo ${_TESTS_FIFO}; \
137 tee ${_TESTS_LOG} < ${_TESTS_FIFO} | ${TESTS_ENV} ${ATF_REPORT} & \
138 set +e; \
139 ${TESTS_ENV} ${ATF_RUN} >> ${_TESTS_FIFO}; \
140 result=$${?}; \
141 wait; \
142 rm -f ${_TESTS_FIFO}; \
143 echo; \
144 echo "*** The verbatim output of atf-run has been saved to ${_TESTS_LOG}"; \
145 exit $${result}
146.endif
147
148.include <bsd.test.mk>
54.include <bsd.test.mk>