From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [143.182.124.37]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 3624FE0027F for ; Fri, 24 Aug 2012 12:10:08 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by azsmga102.ch.intel.com with ESMTP; 24 Aug 2012 12:10:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.80,304,1344236400"; d="scan'208";a="185011028" Received: from unknown (HELO [10.255.13.21]) ([10.255.13.21]) by orsmga001.jf.intel.com with ESMTP; 24 Aug 2012 12:10:05 -0700 Message-ID: <5037D18C.1050601@linux.intel.com> Date: Fri, 24 Aug 2012 12:10:04 -0700 From: Saul Wold User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0 MIME-Version: 1.0 To: =?ISO-8859-1?Q?Bj=F6rn_Stenberg?= References: <1345731602-47313-1-git-send-email-bjst@enea.com> <1345731602-47313-4-git-send-email-bjst@enea.com> In-Reply-To: <1345731602-47313-4-git-send-email-bjst@enea.com> Cc: yocto@yoctoproject.org Subject: Re: [PATCH 3/3] Enable bash-ptest X-BeenThere: yocto@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Discussion of all things Yocto List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Aug 2012 19:10:08 -0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit On 08/23/2012 07:20 AM, Björn Stenberg wrote: > Patch Makefile.in to allow test programs be built on host and ran on > target. > Patch tests/run-all to output PASS/FAIL for each testcase. > Patch recipe to build and install test programs and test suite. > > --- > .../bash/bash-4.2/build-tests.patch | 29 ++++++++++++++++++++ > meta/recipes-extended/bash/bash-4.2/run-ptest | 2 + > .../bash/bash-4.2/test-output.patch | 19 +++++++++++++ > meta/recipes-extended/bash/bash.inc | 18 ++++++++++++ > meta/recipes-extended/bash/bash_4.2.bb | 5 +++- > 5 files changed, 72 insertions(+), 1 deletions(-) > create mode 100644 meta/recipes-extended/bash/bash-4.2/build-tests.patch > create mode 100644 meta/recipes-extended/bash/bash-4.2/run-ptest > create mode 100644 meta/recipes-extended/bash/bash-4.2/test-output.patch > > diff --git a/meta/recipes-extended/bash/bash-4.2/build-tests.patch b/meta/recipes-extended/bash/bash-4.2/build-tests.patch > new file mode 100644 > index 0000000..e92fab3 > --- /dev/null > +++ b/meta/recipes-extended/bash/bash-4.2/build-tests.patch Thanks for proposing and getting the initial implementation started, this has been something we have been thinking about for a while, great to have the things like this become reality! When introducing new patches, please follow the guidelines for patches and commit message: http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines I know this is still and RFC, but your commits themselves also need Signed-off-by: > @@ -0,0 +1,29 @@ > +diff -uNr a/Makefile.in b/Makefile.in > +--- a/Makefile.in 2012-06-14 10:15:15.063465304 +0200 > ++++ b/Makefile.in 2012-06-14 10:47:02.985115849 +0200 > +@@ -827,18 +827,21 @@ > + fi > + > + recho$(EXEEXT): $(SUPPORT_SRC)recho.c > +- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)recho.c ${LIBS_FOR_BUILD} > ++ @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< > + > + zecho$(EXEEXT): $(SUPPORT_SRC)zecho.c > +- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)zecho.c ${LIBS_FOR_BUILD} > ++ @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< > + > + printenv$(EXEEXT): $(SUPPORT_SRC)printenv.c > +- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)printenv.c ${LIBS_FOR_BUILD} > ++ @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< > + > + xcase$(EXEEXT): $(SUPPORT_SRC)xcase.c > +- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)xcase.c ${LIBS_FOR_BUILD} > ++ @$(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $< > + > + test tests check: force $(Program) $(TESTS_SUPPORT) > ++ $(MAKE) runtest > ++ > ++runtest: > + @-test -d tests || mkdir tests > + @cp $(TESTS_SUPPORT) tests > + @( cd $(srcdir)/tests && \ > diff --git a/meta/recipes-extended/bash/bash-4.2/run-ptest b/meta/recipes-extended/bash/bash-4.2/run-ptest > new file mode 100644 > index 0000000..8dd3b99 > --- /dev/null > +++ b/meta/recipes-extended/bash/bash-4.2/run-ptest > @@ -0,0 +1,2 @@ > +#!/bin/sh > +make -k THIS_SH=/bin/bash BUILD_DIR=. runtest > diff --git a/meta/recipes-extended/bash/bash-4.2/test-output.patch b/meta/recipes-extended/bash/bash-4.2/test-output.patch > new file mode 100644 > index 0000000..065a85c > --- /dev/null > +++ b/meta/recipes-extended/bash/bash-4.2/test-output.patch > @@ -0,0 +1,19 @@ > +diff -uNr a/tests/run-all b/tests/run-all > +--- a/tests/run-all 2012-06-14 10:15:15.007467700 +0200 > ++++ b/tests/run-all 2012-06-14 10:19:26.464678067 +0200 > +@@ -22,6 +22,14 @@ > + case $x in > + $0|run-minimal|run-gprof) ;; > + *.orig|*~) ;; > +- *) echo $x ; sh $x ;; > ++ *) echo $x > ++ output=`sh $x` > ++ if [ -n "$output" ]; then > ++ echo "$output" > ++ echo "FAIL: $x" > ++ else > ++ echo "PASS: $x" > ++ fi > ++ ;; > + esac > + done > diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc > index 3684191..04f9940 100644 > --- a/meta/recipes-extended/bash/bash.inc > +++ b/meta/recipes-extended/bash/bash.inc > @@ -21,18 +21,36 @@ ALTERNATIVE_PRIORITY = "100" > > export AUTOHEADER = "true" > > +RDEPENDS_${PN}-ptest += "make" > +FILES_${PN}-dbg += "${PTEST_PATH}/.debug" > + > do_configure_prepend () { > if [ ! -e acinclude.m4 ]; then > cat aclocal.m4 > acinclude.m4 > fi > } > > +do_compile_append () { > + oe_runmake recho zecho printenv xcase > +} > + One thing that we have discussed a couple of times, but no real outcome yet is to make the building of tests conditional so as more recipes are enabled with this kind of change, we don't extend the default build time too long. What's been discussed is using DISTRO_FEATURE to test first. Thoughts? > do_install_append () { > # Move /usr/bin/bash to /bin/bash, if need > if [ "${base_bindir}" != "${bindir}" ]; then > mkdir -p ${D}${base_bindir} > mv ${D}${bindir}/bash ${D}${base_bindir} > fi > + > + if [ "${PN}" = "${BPN}" ]; then > + mkdir -p ${D}${PTEST_PATH} > + install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH} > + install -m 0755 ${B}/Makefile ${D}${PTEST_PATH} > + install -m 0755 ${B}/recho ${D}${PTEST_PATH} > + install -m 0755 ${B}/zecho ${D}${PTEST_PATH} > + install -m 0755 ${B}/printenv ${D}${PTEST_PATH} > + install -m 0755 ${B}/xcase ${D}${PTEST_PATH} > + cp -r ${B}/tests ${D}${PTEST_PATH}/ > + fi > } > > pkg_postinst_${PN} () { > diff --git a/meta/recipes-extended/bash/bash_4.2.bb b/meta/recipes-extended/bash/bash_4.2.bb > index 50f2ff6..5e9b50e 100644 > --- a/meta/recipes-extended/bash/bash_4.2.bb > +++ b/meta/recipes-extended/bash/bash_4.2.bb > @@ -1,6 +1,6 @@ > require bash.inc > > -PR = "r4" > +PR = "r5" > > SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ > ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-001;apply=yes;striplevel=0;name=patch001 \ > @@ -14,6 +14,9 @@ SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ > ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-009;apply=yes;striplevel=0;name=patch009 \ > ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-010;apply=yes;striplevel=0;name=patch010 \ > file://execute_cmd.patch;striplevel=0 \ > + file://build-tests.patch \ > + file://test-output.patch \ > + file://run-ptest \ > " > > SRC_URI[tarball.md5sum] = "3fb927c7c33022f1c327f14a81c0d4b0" > Thanks Sau!