From owner-freebsd-arch@FreeBSD.ORG Wed Apr 24 16:15:33 2013 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id F1FA4661; Wed, 24 Apr 2013 16:15:32 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pb0-x236.google.com (mail-pb0-x236.google.com [IPv6:2607:f8b0:400e:c01::236]) by mx1.freebsd.org (Postfix) with ESMTP id B8EBB1E34; Wed, 24 Apr 2013 16:15:32 +0000 (UTC) Received: by mail-pb0-f54.google.com with SMTP id jt11so502995pbb.13 for ; Wed, 24 Apr 2013 09:15:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:subject:mime-version:content-type:from:in-reply-to:date :cc:message-id:references:to:x-mailer; bh=trBYWrygjfr4Y9aWKUQnGBvNpF70HuP6/KZryXOS6Wg=; b=sHJC94k78hkUDTTqWUBZ0eOF1T6oHoxykFMhASReVVzaiaOlfVCrH65rKBm3mMZEc5 Ns7YzEHohviNd1wBAvTnzHnOCuxXJsmsJCFZbDhMP3nfBNX9yLEkQl/pF+HJWJAyJFJR a3tvkqpvb5hR292yhD62KaaNUOvXVLzqbgKScitklyW5iwzRbzgb/U1QgsdPNR3VoV0N quCuPJqkPRLY1vlFRP5tLWmdwOEb9GIBp01hbPz52crjySnpIXhAPv6yLsqz3Zs0J3ob 89Z9eu/8HeXDYh/iO4139tpNcg27vhS1dXDpiUgLNTE9ttzvmjY6fqgHSrZvbHM1+FII 30gA== X-Received: by 10.68.11.73 with SMTP id o9mr17793307pbb.18.1366820132509; Wed, 24 Apr 2013 09:15:32 -0700 (PDT) Received: from fuji-wireless.local (c-98-203-241-95.hsd1.wa.comcast.net. [98.203.241.95]) by mx.google.com with ESMTPSA id t1sm4209257pab.12.2013.04.24.09.15.30 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 24 Apr 2013 09:15:31 -0700 (PDT) Subject: Re: [RFC] [Optionally] build tests with buildworld Mime-Version: 1.0 (Apple Message framework v1283) Content-Type: multipart/mixed; boundary="Apple-Mail=_8DBC637E-2732-44C7-A30E-A2898AE64D0E" From: Garrett Cooper In-Reply-To: <1D2E12CF-08F2-4151-AB33-84C4270CFBC6@gmail.com> Date: Wed, 24 Apr 2013 09:15:30 -0700 Message-Id: References: <20130423165958.GA91607@lor.one-eyed-alien.net> <1D2E12CF-08F2-4151-AB33-84C4270CFBC6@gmail.com> To: Brooks Davis X-Mailer: Apple Mail (2.1283) Cc: arch@freebsd.org, "Simon J. Gerraty" , benno@FreeBSD.org, toolchain@freebsd.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Apr 2013 16:15:33 -0000 --Apple-Mail=_8DBC637E-2732-44C7-A30E-A2898AE64D0E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Apr 23, 2013, at 10:28 AM, Garrett Cooper wrote: > On Apr 23, 2013, at 9:59 AM, Brooks Davis wrote: >=20 >> On Fri, Apr 19, 2013 at 11:17:50PM -0700, Garrett Cooper wrote: >>> Hi arch@ and toolchain@, >>> One of the items that I'm proposing be added to Makefile.inc1 in >>> order to make building and installing tests on CURRENT (ATF and >>> otherwise) is a build knob called TESTS_WITH_WORLD (the name can be >>> modified), which allows me to build and install various tests on my >>> git branch like the example ATF tests I produced, pjdfstest, some of >>> the prove tests from tools/regression, etc (there are other >>> outstanding changes, but this was the key one that I need feedback = on >>> just to be safe). >>=20 >> I don't understand way you don't use WITH_TESTS processed >> through bsd.own.mk. You'd presumably have to add it to the list of >> supported NO_* options for the bootstrap case, but that's trivial. = Then >> you use could use normal MK_* variables. That would also let you use >> WITH(OUT)_TESTS in individual directories and they would always work. >>=20 >> At a glance using WITHOUT_TESTS and NO_TEST internally would simplify >> some of the special cases in your patch. >=20 > This is something that I considered, but I wasn't sure that it was the = best route to go about things because I thought we were doing away/had = done away with most of the NO_* knobs (and unfortunately one cannot mix = and match WITH_* and WITHOUT_* because they're considered contradictory = according to bsd.own.mk -- something that Simon has debated against = having in the past). >=20 > I'm all for doing that though because that would simplify things = greatly from an end-user perspective. Hi Brooks! Does this look ok? Most of the MK_TESTS logic has been shoved = into bsd.own.mk and NO_TESTS is sprinkled around Makefile.inc1 as = recommended. Thanks! -Garrett --Apple-Mail=_8DBC637E-2732-44C7-A30E-A2898AE64D0E Content-Disposition: attachment; filename=build-tests-with-world.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="build-tests-with-world.patch" Content-Transfer-Encoding: 7bit Index: Makefile.inc1 =================================================================== --- Makefile.inc1 (revision 249833) +++ Makefile.inc1 (working copy) @@ -91,6 +91,9 @@ .if ${MK_OFED} != "no" SUBDIR+=contrib/ofed .endif +.if ${MK_TESTS} != "no" +SUBDIR+=tests +.endif # # We must do etc/ last for install/distribute to work. # @@ -253,7 +256,8 @@ SSP_CFLAGS= \ -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \ -DNO_PIC -DNO_PROFILE -DNO_SHARED \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD \ + -DNO_TESTS \ # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ @@ -263,12 +267,14 @@ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ -DNO_LINT \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD \ + -DNO_TESTS \ # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - -DWITHOUT_GDB + -DWITHOUT_GDB \ + -DNO_TESTS \ # world stage WMAKEENV= ${CROSSENV} \ @@ -343,7 +349,8 @@ -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ -DNO_CTF \ - -DNO_LINT + -DNO_LINT \ + -DNO_TESTS \ LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML @@ -489,7 +496,7 @@ @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; \ ${WMAKE} -DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ - -DWITHOUT_MAN -DNO_PROFILE libraries + -DWITHOUT_MAN -DNO_PROFILE -DNO_TESTS libraries _depend: @echo @echo "--------------------------------------------------------------" @@ -1734,6 +1741,7 @@ NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ -DWITHOUT_MAN -DWITHOUT_NLS -DNO_PROFILE \ -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_WARNS \ + -DNO_TESTS \ TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ CPUTYPE=${XDEV_CPUTYPE} Index: share/mk/bsd.own.mk =================================================================== --- share/mk/bsd.own.mk (revision 249833) +++ share/mk/bsd.own.mk (working copy) @@ -376,8 +376,16 @@ NAND \ OFED \ OPENSSH_NONE_CIPHER \ - SHARED_TOOLCHAIN + SHARED_TOOLCHAIN \ +# bsd.test.mk doesn't work with !bmake. Also don't build tests if NO_TESTS is +# defined; this is for buildworld and elsewhere (ports potentially). +.if defined(.PARSEDIR) && !defined(NO_TESTS) +__DEFAULT_NO_OPTIONS+=TESTS +.else +MK_TESTS:= no +.endif + # # Default behaviour of some options depends on the architecture. Unfortunately # this means that we have to test TARGET_ARCH (the buildworld case) as well --Apple-Mail=_8DBC637E-2732-44C7-A30E-A2898AE64D0E--