[OE-core] [PATCH 2/3] Enable bash-ptest

Saul Wold sgw at linux.intel.com
Fri Aug 31 15:32:14 UTC 2012


On 08/31/2012 07:10 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 contitionally build and install ptest.
>
> Signed-off-by: Björn Stenberg <bjst at enea.com>
> ---
>   .../bash/bash-4.2/build-tests.patch                |   34 ++++++++++++++++++++
>   meta/recipes-extended/bash/bash-4.2/run-ptest      |    2 +
>   .../bash/bash-4.2/test-output.patch                |   19 +++++++++++
>   meta/recipes-extended/bash/bash.inc                |   23 +++++++++++++
>   meta/recipes-extended/bash/bash_4.2.bb             |    5 ++-
>   5 files changed, 82 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
>
You new patches still need patch headers with Upstream-Status and 
Signed-off-by tags.  Please review

http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines


> 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..17276c7
> --- /dev/null
> +++ b/meta/recipes-extended/bash/bash-4.2/build-tests.patch
> @@ -0,0 +1,34 @@
> +diff -uNr a/Makefile.in b/Makefile.in
> +--- a/Makefile.in	2012-08-31 13:54:15.259491840 +0200
> ++++ b/Makefile.in	2012-08-31 14:54:46.508053649 +0200
> +@@ -827,20 +827,26 @@
> + 	fi
> +
> + recho$(EXEEXT):		$(SUPPORT_SRC)recho.c
> +-	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)recho.c ${LIBS_FOR_BUILD}
> ++	@$(CC) $(CCFLAGS) -o $@ $<
> +
> + zecho$(EXEEXT):		$(SUPPORT_SRC)zecho.c
> +-	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)zecho.c ${LIBS_FOR_BUILD}
> ++	@$(CC) $(CCFLAGS) -o $@ $<
> +
> + printenv$(EXEEXT):	$(SUPPORT_SRC)printenv.c
> +-	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)printenv.c ${LIBS_FOR_BUILD}
> ++	@$(CC) $(CCFLAGS) -o $@ $<
> +
> + xcase$(EXEEXT):	$(SUPPORT_SRC)xcase.c
> +-	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)xcase.c ${LIBS_FOR_BUILD}
> ++	@$(CC) $(CCFLAGS) -o $@ $<
> +
> +-test tests check:	force $(Program) $(TESTS_SUPPORT)
> ++test tests check:
> ++	@$(MAKE) buildtest
> ++	@$(MAKE) runtest
> ++
> ++buildtest: force $(Program) $(TESTS_SUPPORT)
> + 	@-test -d tests || mkdir tests
> + 	@cp $(TESTS_SUPPORT) tests
> ++
> ++runtest:
> + 	@( cd $(srcdir)/tests && \
> + 		PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
> 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..7f7a965 100644
> --- a/meta/recipes-extended/bash/bash.inc
> +++ b/meta/recipes-extended/bash/bash.inc
> @@ -21,18 +21,41 @@ ALTERNATIVE_PRIORITY = "100"
>
>   export AUTOHEADER = "true"
>
> +RDEPENDS_${PN}-ptest += "make"
> +FILES_${PN}-dbg += "${PTEST_PATH}/.debug \
> +                    ${PTEST_PATH}/tests/.debug"
> +
> +PTEST_ENABLED = "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', '1', '0', d)}"
> +
Should this be a DISTRO or IMAGE FEATURE? I can see potential arguments 
for both sides, what was your thinking on choosing IMAGE over DISTRO?

Sau!


>   do_configure_prepend () {
>   	if [ ! -e acinclude.m4 ]; then
>   		cat aclocal.m4 > acinclude.m4
>   	fi
>   }
>
> +do_compile_append () {
> +        if [ ${PTEST_ENABLED} = "1" ] ; then
> +		oe_runmake buildtest
> +        fi
> +}
> +
>   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}" -a ${PTEST_ENABLED} = "1" ]; 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"
>




More information about the Openembedded-core mailing list