Date: Sun, 6 Dec 2015 00:58:09 +0000 (UTC) From: Garrett Cooper <ngie@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r291881 - in user/ngie/make_check: . share/mk Message-ID: <201512060058.tB60w9Ln077101@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ngie Date: Sun Dec 6 00:58:09 2015 New Revision: 291881 URL: https://svnweb.freebsd.org/changeset/base/291881 Log: Cherrypick ^/user/ngie/more-tests2:r289478,290921 to convert `make regress` to `make check` Modified: user/ngie/make_check/Makefile user/ngie/make_check/share/mk/atf.test.mk user/ngie/make_check/share/mk/bsd.README user/ngie/make_check/share/mk/bsd.subdir.mk user/ngie/make_check/share/mk/bsd.sys.mk user/ngie/make_check/share/mk/bsd.test.mk user/ngie/make_check/share/mk/suite.test.mk Directory Properties: user/ngie/make_check/ (props changed) user/ngie/make_check/share/ (props changed) Modified: user/ngie/make_check/Makefile ============================================================================== --- user/ngie/make_check/Makefile Sun Dec 6 00:42:11 2015 (r291880) +++ user/ngie/make_check/Makefile Sun Dec 6 00:58:09 2015 (r291881) @@ -112,7 +112,7 @@ .else TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ - check-old check-old-dirs check-old-files check-old-libs \ + check check-old check-old-dirs check-old-files check-old-libs \ checkdpadd clean cleandepend cleandir cleanworld \ delete-old delete-old-dirs delete-old-files delete-old-libs \ depend distribute distributekernel distributekernel.debug \ @@ -121,7 +121,7 @@ TGTS= all all-man buildenv buildenvvars installkernel.debug packagekernel packageworld \ reinstallkernel reinstallkernel.debug \ installworld kernel-toolchain libraries lint maninstall \ - obj objlink regress rerelease showconfig tags toolchain update \ + obj objlink rerelease showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend \ build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ Modified: user/ngie/make_check/share/mk/atf.test.mk ============================================================================== --- user/ngie/make_check/share/mk/atf.test.mk Sun Dec 6 00:42:11 2015 (r291880) +++ user/ngie/make_check/share/mk/atf.test.mk Sun Dec 6 00:58:09 2015 (r291881) @@ -25,7 +25,7 @@ ATF_TESTS_SH?= # Path to the prefix of the installed ATF tools, if any. # # If atf-run and atf-report are installed from ports, we automatically define a -# realregress target below to run the tests using these tools. The tools are +# realcheck target below to run the tests using these tools. The tools are # searched for in the hierarchy specified by this variable. ATF_PREFIX?= /usr/local Modified: user/ngie/make_check/share/mk/bsd.README ============================================================================== --- user/ngie/make_check/share/mk/bsd.README Sun Dec 6 00:42:11 2015 (r291880) +++ user/ngie/make_check/share/mk/bsd.README Sun Dec 6 00:58:09 2015 (r291881) @@ -448,6 +448,12 @@ It has seven targets: all: build the test programs. + check: + runs the test programs from the object directory; if the + Makefile does not itself define the target test, the + targets beforecheck and aftercheck may also be used to + cause actions immediately before and after the test + target is executed. clean: remove the test programs and any object files. cleandir: @@ -466,12 +472,6 @@ It has seven targets: run lint on the source files. tags: create a tags file for the source files. - test: - runs the test programs from the object directory; if the - Makefile does not itself define the target test, the - targets beforetest and aftertest may also be used to - cause actions immediately before and after the test - target is executed. It sets/uses the following variables, among many others: Modified: user/ngie/make_check/share/mk/bsd.subdir.mk ============================================================================== --- user/ngie/make_check/share/mk/bsd.subdir.mk Sun Dec 6 00:42:11 2015 (r291880) +++ user/ngie/make_check/share/mk/bsd.subdir.mk Sun Dec 6 00:58:09 2015 (r291881) @@ -37,10 +37,10 @@ __<bsd.subdir.mk>__: ALL_SUBDIR_TARGETS= all all-man buildconfig buildfiles buildincludes \ - checkdpadd clean cleandepend cleandir cleanilinks \ + check checkdpadd clean cleandepend cleandir cleanilinks \ cleanobj depend distribute files includes installconfig \ installfiles installincludes realinstall lint maninstall \ - manlint obj objlink regress tags \ + manlint obj objlink tags \ ${SUBDIR_TARGETS} # Described above. Modified: user/ngie/make_check/share/mk/bsd.sys.mk ============================================================================== --- user/ngie/make_check/share/mk/bsd.sys.mk Sun Dec 6 00:42:11 2015 (r291880) +++ user/ngie/make_check/share/mk/bsd.sys.mk Sun Dec 6 00:58:09 2015 (r291881) @@ -172,11 +172,11 @@ CXXFLAGS+= ${CXXFLAGS.${COMPILER_TYPE}} # or expect to ever be up-to-date. PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \ beforelinking build build-tools buildconfig buildfiles \ - buildincludes checkdpadd clean cleandepend cleandir cleanobj \ - configure depend dependall distclean distribute exe \ + buildincludes check checkdpadd clean cleandepend cleandir \ + cleanobj configure depend dependall distclean distribute exe \ files html includes install installconfig installfiles \ installincludes lint obj objlink objs objwarn realall \ - realdepend realinstall regress subdir-all subdir-depend \ + realdepend realinstall subdir-all subdir-depend \ subdir-install tags whereobj # we don't want ${PROG} to be PHONY Modified: user/ngie/make_check/share/mk/bsd.test.mk ============================================================================== --- user/ngie/make_check/share/mk/bsd.test.mk Sun Dec 6 00:42:11 2015 (r291880) +++ user/ngie/make_check/share/mk/bsd.test.mk Sun Dec 6 00:58:09 2015 (r291881) @@ -76,19 +76,14 @@ PROGS_TARGETS+= install .include <suite.test.mk> .endif -.if !target(realtest) -realtest: .PHONY +.if !target(realcheck) +realcheck: .PHONY @echo "$@ not defined; skipping" .endif -test: .PHONY -.ORDER: beforetest realtest -test: beforetest realtest - -.if target(aftertest) -.ORDER: realtest aftertest -test: aftertest -.endif +beforecheck realcheck aftercheck check: .PHONY +.ORDER: beforecheck realcheck aftercheck +check: beforecheck realcheck aftercheck .ifdef PROG # we came here via bsd.progs.mk below Modified: user/ngie/make_check/share/mk/suite.test.mk ============================================================================== --- user/ngie/make_check/share/mk/suite.test.mk Sun Dec 6 00:42:11 2015 (r291880) +++ user/ngie/make_check/share/mk/suite.test.mk Sun Dec 6 00:58:09 2015 (r291881) @@ -51,7 +51,7 @@ KYUAFILE?= auto # Path to the prefix of the installed Kyua CLI, if any. # -# If kyua is installed from ports, we automatically define a realtest target +# If kyua is installed from ports, we automatically define a realcheck target # below to run the tests using this tool. The tools are searched for in the # hierarchy specified by this variable. KYUA_PREFIX?= /usr/local @@ -92,9 +92,13 @@ Kyuafile.auto: Makefile @mv Kyuafile.auto.tmp Kyuafile.auto .endif +_kyuafile= ${DESTDIR}${TESTSDIR}/Kyuafile + KYUA?= ${KYUA_PREFIX}/bin/kyua + +realcheck: .PHONY .if exists(${KYUA}) -# Definition of the "make test" target and supporting variables. +# Definition of the "make check" target and supporting variables. # # This target, by necessity, can only work for native builds (i.e. a FreeBSD # host building a release for the same system). The target runs Kyua, which is @@ -103,35 +107,5 @@ KYUA?= ${KYUA_PREFIX}/bin/kyua # Due to the dependencies of the binaries built by the source tree and how they # are used by tests, it is highly possible for a execution of "make test" to # report bogus results unless the new binaries are put in place. -realtest: .PHONY - @echo "*** WARNING: make test is experimental" - @echo "***" - @echo "*** Using this test does not preclude you from running the tests" - @echo "*** installed in ${TESTSBASE}. This test run may raise false" - @echo "*** positives and/or false negatives." - @echo - @${KYUA} test -k ${DESTDIR}${TESTSDIR}/Kyuafile; \ - result=0; \ - echo; \ - echo "*** Once again, note that "make test" is unsupported."; \ - test $${result} -eq 0 -.endif - -beforetest: .PHONY -.if defined(TESTSDIR) -.if ${TESTSDIR} == ${TESTSBASE} -# Forbid running from ${TESTSBASE}. It can cause false positives/negatives and -# it does not cover all the tests (e.g. it misses testing software in external). - @echo "*** Sorry, you cannot use make test from src/tests. Install the" - @echo "*** tests into their final location and run them from ${TESTSBASE}" - @false -.else - @echo "*** Using this test does not preclude you from running the tests" - @echo "*** installed in ${TESTSBASE}. This test run may raise false" - @echo "*** positives and/or false negatives." -.endif -.else - @echo "*** No TESTSDIR defined; nothing to do." - @false + @${KYUA} test -k ${DESTDIR}${TESTSDIR}/Kyuafile .endif - @echo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201512060058.tB60w9Ln077101>