lsbtest: Add recipe for LSB tests and automate test
v2 cover lsbtest: Add recipe for LSB tests and automate test
Hi,
The pull request is to address [YOCTO #1567] - "Add recipe for lsb tests and automate test".
LSB testing is different from LTP or POSIX testing. We don't need to build the cases from sources but need to install a set of pre-build binary packages in lsb image.
I add a script and 2 list files in this recipe. The script is used for setting up lsb test environment, download lsb rpm packages from remote, install packages, execute the test and collect the results. When run this script in the target, the lsb will be downloaded, installed and executed automatically.
The version 2 patch add a RDEPENDS_${PN} in .bb file.
The following changes since commit 5aca6a7e940d2d0878279b47db0c399d92d5b4f6:
update-rc.d.bbclass: do nothing for extended cross packages (2012-02-24 00:47:51 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib yizhao/bug1567v2
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=yizhao/bug1567v2
Yi Zhao (3):
lsbtest: Add recipe for LSB tests and automate test
distro_tracking_fields: add information for lsbtest
task-core-lsb: add lsbtest to RDEPENDS_task-core-misc list
.../conf/distro/include/distro_tracking_fields.inc | 4 + meta/recipes-extended/lsb/lsbtest/LSB_Test.sh | 510 ++++++++++++++++++++ meta/recipes-extended/lsb/lsbtest/packages_list | 50 ++ meta/recipes-extended/lsb/lsbtest/session | 194 ++++++++ meta/recipes-extended/lsb/lsbtest_1.0.bb | 37 ++ meta/recipes-extended/tasks/task-core-lsb.bb | 3 +- 6 files changed, 797 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-extended/lsb/lsbtest/LSB_Test.sh create mode 100644 meta/recipes-extended/lsb/lsbtest/packages_list create mode 100644 meta/recipes-extended/lsb/lsbtest/session create mode 100644 meta/recipes-extended/lsb/lsbtest_1.0.bb
PATCH v2 1/3 lsbtest: Add recipe for LSB tests and automate test
The recipe is used for LSB tests. The script LSB_Test.sh does the following things:
- setup LSB testing environment
- download LSB rpm packages with list file packages_list from remote
- install the packages
- execute LSB testing with profile file session
- collect the results
Install packages_list and session files into ${D}/opt/lsb-test.
[YOCTO #1567]
--- meta/recipes-extended/lsb/lsbtest/LSB_Test.sh | 510 +++++++++++++++++++++++ meta/recipes-extended/lsb/lsbtest/packages_list | 50 +++ meta/recipes-extended/lsb/lsbtest/session | 194 +++++++++ meta/recipes-extended/lsb/lsbtest_1.0.bb | 37 ++ 4 files changed, 791 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-extended/lsb/lsbtest/LSB_Test.sh create mode 100644 meta/recipes-extended/lsb/lsbtest/packages_list create mode 100644 meta/recipes-extended/lsb/lsbtest/session create mode 100644 meta/recipes-extended/lsb/lsbtest_1.0.bb
meta/recipes-extended/lsb/lsbtest/LSB_Test.sh new file +510 -0
@@ -0,0 +1,510 @@ +#!/bin/bash + +# Copyright (C) 2012 Wind River Systems, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +WORK_DIR="/opt/lsb-test" + +if [ `id -u` -ne 0 ] +then + cat << EOF + In order to install and run LSB testsuite, you need administrator privileges. + You are currently running this script as an unprivileged user. + +EOF + exit 1 +fi + +ARCH=`uname -m` +if [ ${ARCH} != "i686" ] && [ ${ARCH} != "x86_64" ] && [ ${ARCH} != "ppc" ] +then + echo "Error: Unsupported architecture" + exit 1 +fi + +which rpm +if [ $? -ne 0 ] +then + echo "No rpm command found" + exit 1 +fi + +RET=0 + +cd ${WORK_DIR} || exit 1 +# Step 1: Download the LSB Packages +echo "" +echo "Download LSB packages..." +echo "" + +if [ ! -e ./packages_list ] +then + echo "Error: Could not find packages list" >&2 + exit 1 +fi + +. ./packages_list + +PACKAGES_DIR="/var/opt/lsb/test/manager/packages/ftp.linuxfoundation.org/pub/lsb" + +BASE_PACKAGES_DIR="${PACKAGES_DIR}/base/${LSB_RELEASE}/binary" +RUNTIME_BASE_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/released-all/binary/runtime" +RUNTIME_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/${LSB_RELEASE}/binary/runtime" +APP_PACKAGES_DIR="${PACKAGES_DIR}/app-battery/${LSB_RELEASE}/${LSB_ARCH}" +APP_TESTFILES_DIR="${PACKAGES_DIR}/app-battery/tests" +SNAPSHOTS_TESTFILES_DIR="${PACKAGES_DIR}/snapshots/appbat/tests" + +if [ ! -d ${PACKAGES_DIR} ] +then + mkdir -p ${PACKAGES_DIR} +fi + +if [ ! -d ${BASE_PACKAGES_DIR} ] +then + mkdir -p ${BASE_PACKAGES_DIR} +fi + +if [ ! -d ${RUNTIME_BASE_PACKAGES_DIR} ] +then + mkdir -p ${RUNTIME_BASE_PACKAGES_DIR} +fi + +if [ ! -d ${RUNTIME_PACKAGES_DIR} ] +then + mkdir -p ${RUNTIME_PACKAGES_DIR} +fi + +if [ ! -d ${APP_PACKAGES_DIR} ] +then + mkdir -p ${APP_PACKAGES_DIR} +fi + +if [ ! -d ${APP_TESTFILES_DIR} ] +then + mkdir -p ${APP_TESTFILES_DIR} +fi + +# Official download server list. You can replace them with your own server. +SERVER_IPADDR="140.211.169.23" +SERVER_NAME="ftp.linuxfoundation.org" + +if ! `grep -F -q "${SERVER_NAME}" /etc/hosts`; then + echo "${SERVER_IPADDR} ${SERVER_NAME} ${SERVER_NAME}" >> /etc/hosts +fi + +#ping -c 5 ${SERVER_NAME} +#if [ $? -ne 0 ] +#then +# echo "The server: ${SERVER_NAME} is unreachable" +# exit 1 +#fi + +SERVER1="\ + http://${SERVER_NAME}/pub/lsb/base/${LSB_RELEASE}/binary" +SERVER2="\ + http://${SERVER_NAME}/pub/lsb/test_suites/released-all/binary/runtime" +SERVER3="\ + http://${SERVER_NAME}/pub/lsb/test_suites/${LSB_RELEASE}/binary/runtime" +SERVER4="\ + http://${SERVER_NAME}/pub/lsb/app-battery/${LSB_RELEASE}/${LSB_ARCH}" +SERVER5="\ + http://${SERVER_NAME}/pub/lsb/app-battery/tests" + +# We using "curl" as a download tool, "wget" is an alternative. +CURL=`which curl` +WGET=`which wget` +if [ ! -z ${CURL} ] +then + DOWNLOAD_CMD="${CURL} -R -L --retry 3 --retry-delay 4 --connect-timeout 180 --compressed -C - -o" +elif [ ! -z ${WGET} ] +then + DOWNLOAD_CMD="${WGET} -c -t 5 -O" +else + echo "Can not find a download tool, please install curl or wget." + exit 1 +fi + +cd ${BASE_PACKAGES_DIR} +for pkg in ${BASE_PACKAGES_LIST}; do + if [ ! -f ${pkg} ] + then + #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg} > /dev/null 2>&1 + ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg} + if [ $? -eq 0 ] + then + mv -f ${pkg}".#part" ${pkg} + echo "Download ${pkg} successfully." + else + echo "Download ${pkg} failed." + RET=1 + fi + fi +done + +cd ${RUNTIME_BASE_PACKAGES_DIR} +for pkg in ${RUNTIME_BASE_PACKAGES_LIST}; do + if [ ! -f ${pkg} ] + then + #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg} > /dev/null 2>&1 + ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg} + if [ $? -eq 0 ] + then + mv -f ${pkg}".#part" ${pkg} + echo "Download ${pkg} successfully." + else + echo "Download ${pkg} failed." + RET=1 + fi + fi +done + +cd ${RUNTIME_PACKAGES_DIR} +for pkg in ${RUNTIME_PACKAGES_LIST}; do + if [ ! -f ${pkg} ] + then + #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg} > /dev/null 2>&1 + ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg} + if [ $? -eq 0 ] + then + mv -f ${pkg}".#part" ${pkg} + echo "Download ${pkg} successfully." + else + echo "Download ${pkg} failed." + RET=1 + fi + fi +done + +cd ${APP_PACKAGES_DIR} +for pkg in ${APP_PACKAGES_LIST}; do + if [ ! -f ${pkg} ] + then + #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg} > /dev/null 2>&1 + ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg} + if [ $? -eq 0 ] + then + mv -f ${pkg}".#part" ${pkg} + echo "Download ${pkg} successfully." + else + echo "Download ${pkg} failed." + RET=1 + fi + fi +done + +cd ${APP_TESTFILES_DIR} +for pkg in ${APP_TESTFILES_LIST}; do + if [ ! -f ${pkg} ] + then + #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg} > /dev/null 2>&1 + ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg} + if [ $? -eq 0 ] + then + mv -f ${pkg}".#part" ${pkg} + echo "Download ${pkg} successfully." + else + echo "Download ${pkg} failed." + RET=1 + fi + fi +done + +if [ ${RET} -ne 0 ] +then + echo "Download some packages failed. Please download them again." + exit 1 +fi + +# Step 2: Install the LSB Packages +echo "" +echo "Install LSB packages..." +echo "" + +# Kill lighttpd +ps aux | grep "lighttpd" | grep -v -q "grep" +if [ $? -eq 0 ] +then + killall lighttpd >/dev/null 2>&1 +fi + +# Start avahi-daemon +ps aux | grep "avahi-daemon" | grep -v -q "grep" +if [ $? -ne 0 ] +then + /etc/init.d/avahi-daemon start >/dev/null 2>&1 +fi + +LSB_START_CMD="/opt/lsb/test/manager/bin/dist-checker-start.pl" +LSB_STOP_CMD="/opt/lsb/test/manager/bin/dist-checker-stop.pl" + +PLATFORM_FILE="/etc/rpm/platform" + +RPM_INSTALL_CMD="rpm --quiet --nodeps --replacepkgs --nosignature -i" +RPM_INSTALL_CMD_NOSCRIPTS="rpm --quiet --nodeps --replacepkgs --noscripts --nosignature -i" + +# If the lsb has been started, stop it first. +if [ -x ${LSB_STOP_CMD} ] +then + ${LSB_STOP_CMD} +fi + +if [ ! -d /etc/rpm ] +then + mkdir -p /etc/rpm +fi + +if [ ! -f ${PLATFORM_FILE} ] +then + touch ${PLATFORM_FILE} +fi + +if ! `grep -F -q "noarch-suse" ${PLATFORM_FILE}`; then + if [ ${ARCH} == i686 ];then + echo "i486-suse" >> ${PLATFORM_FILE} + echo "i486-noarch" >> ${PLATFORM_FILE} + echo "i486-pc" >> ${PLATFORM_FILE} + echo "noarch-suse" >> ${PLATFORM_FILE} + else + echo "${ARCH}-suse" >> ${PLATFORM_FILE} + echo "${ARCH}-noarch" >> ${PLATFORM_FILE} + echo "${ARCH}-pc" >> ${PLATFORM_FILE} + echo "noarch-suse" >> ${PLATFORM_FILE} + fi +fi + +if [ -d ${BASE_PACKAGES_DIR} ] +then + cd ${BASE_PACKAGES_DIR} + for pkg in ${BASE_PACKAGES_LIST} + do + rpm --quiet -q ${pkg%\.*} + if [ $? -ne 0 ]; then + $RPM_INSTALL_CMD ${pkg} + fi + done +fi + +if [ -d ${RUNTIME_BASE_PACKAGES_DIR} ] +then + cd ${RUNTIME_BASE_PACKAGES_DIR} + for pkg in ${RUNTIME_BASE_PACKAGES_LIST} + do + rpm --quiet -q ${pkg%\.*} + if [ $? -ne 0 ]; then + $RPM_INSTALL_CMD ${pkg} + fi + done +fi + +if [ -d ${RUNTIME_PACKAGES_DIR} ] +then + cd ${RUNTIME_PACKAGES_DIR} + for pkg in ${RUNTIME_PACKAGES_LIST} + do + rpm --quiet -q ${pkg%\.*} + if [ $? -ne 0 ]; then + $RPM_INSTALL_CMD ${pkg} + fi + done +fi + +if [ -d ${APP_PACKAGES_DIR} ] +then + cd ${APP_PACKAGES_DIR} + for pkg in ${APP_PACKAGES_LIST} + do + echo "${pkg}" | grep -q "apache\|xpdf" + if [ $? -eq 0 ] + then + rpm --quiet -q ${pkg%\.*} + if [ $? -ne 0 ]; then + $RPM_INSTALL_CMD_NOSCRIPTS ${pkg} + fi + else + rpm --quiet -q ${pkg%\.*} + if [ $? -ne 0 ]; then + $RPM_INSTALL_CMD ${pkg} + fi + fi + done +fi + +if [ ! -d ${SNAPSHOTS_TESTFILES_DIR} ] +then + mkdir -p ${SNAPSHOTS_TESTFILES_DIR} +fi + +if [ -d ${APP_TESTFILES_DIR} ] +then + cd ${APP_TESTFILES_DIR} + for pkg in ${APP_TESTFILES_LIST} + do + cp -f ${pkg} ${SNAPSHOTS_TESTFILES_DIR} + done +fi + +cd ${WORK_DIR} + +# Step 3: Set environment +echo "" +echo "Set environment..." +echo "" + +check () +{ + if [ $? -eq 0 ] + then + echo "PASS" + else + echo "FAIL" + exit 1 + fi +} + +echo "" +echo "---------------------------------" +echo "Create the Dirnames on target" + +if [ ! -d /etc/rpm/sysinfo ] +then + mkdir -p /etc/rpm/sysinfo +fi + +cat > /etc/rpm/sysinfo/Dirnames << EOF +/etc/opt/lsb +/home/tet/LSB.tools +/opt/lsb-tet3-lite/lib/ksh +/opt/lsb-tet3-lite/lib/perl +/opt/lsb-tet3-lite/lib/posix_sh +/opt/lsb-tet3-lite/lib/tet3 +/opt/lsb-tet3-lite/lib/xpg3sh +/opt/lsb/appbat/lib/python2.4/site-packages/qm +/opt/lsb/appbat/lib/python2.4/site-packages/qm/external +/opt/lsb/appbat/lib/python2.4/site-packages/qm/external/DocumentTemplate +/opt/lsb/appbat/lib/python2.4/site-packages/qm/test +/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/classes +/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/web +/opt/lsb/test/doc +/opt/lsb/test/lib +/opt/lsb/test/qm/diagnostics +/opt/lsb/test/qm/doc +/opt/lsb/test/qm/doc/test/html +/opt/lsb/test/qm/doc/test/print +/opt/lsb/test/qm/dtml +/opt/lsb/test/qm/dtml/test +/opt/lsb/test/qm/messages/test +/opt/lsb/test/qm/tutorial/test/tdb +/opt/lsb/test/qm/tutorial/test/tdb/QMTest +/opt/lsb/test/qm/web +/opt/lsb/test/qm/web/images +/opt/lsb/test/qm/web/stylesheets +/opt/lsb/test/qm/xml +/opt/lsb/test/share +/usr/share/doc/lsb-runtime-test +/var/opt/lsb +/opt/lsb/test/desktop +/opt/lsb/test/desktop/fontconfig +/opt/lsb/test/desktop/freetype +/opt/lsb/test/desktop/gtkvts +/opt/lsb/test/desktop/libpng +/opt/lsb/test/desktop/qt3 +/opt/lsb/test/desktop/xft +/opt/lsb/test/desktop/xml +/opt/lsb/test/desktop/xrender + + +EOF + +if [ -f /etc/rpm/sysinfo/Dirnames ] +then + echo "Success to creat Dirnames file" +else + echo "Fail to creat Dirnames file" +fi + +echo "" +echo "---------------------------------" +echo "Update cache" +ldconfig +check; + +# Check loop device +if [ ! -b /dev/loop0 ] +then + insmod /lib/modules/`uname -r`/kernel/drivers/block/loop.ko + if [ $? != 0 ];then + echo "Insmod loop.ko failed." + fi +fi + +# Resolve localhost +LOCALHOST=`hostname` +if ! `grep -F -q "$LOCALHOST" /etc/hosts`; then + echo "127.0.0.1 $LOCALHOST" >> /etc/hosts +fi + +# Workaround to add part of locales for LSB test +localedef -i de_DE -f ISO-8859-1 de_DE +localedef -i de_DE -f ISO-8859-15 de_DE.ISO-8859-15 +localedef -i de_DE -f UTF-8 de_DE.UTF-8 +localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro +localedef -i en_HK -f ISO-8859-1 en_HK +localedef -i en_PH -f ISO-8859-1 en_PH +localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15 +localedef -i en_US -f ISO-8859-1 en_US.ISO-8859-1 +localedef -i en_US -f ISO-8859-1 en_US +localedef -i en_US -f UTF-8 en_US.UTF-8 +localedef -i en_US -f ISO-8859-1 en_US.ISO8859-1 +localedef -i es_MX -f ISO-8859-1 es_MX +localedef -i fr_FR -f ISO-8859-1 fr_FR +localedef -i it_IT -f ISO-8859-1 it_IT +localedef -i ja_JP -f EUC-JP ja_JP.eucjp +localedef -i se_NO -f UTF-8 se_NO.UTF-8 +localedef -i ta_IN -f UTF-8 ta_IN + +echo "" +echo "Installation done!" +echo "" + +# Step 4: Start LSB test +if [ -x ${LSB_START_CMD} ] +then + ${LSB_START_CMD} +fi + +echo "---------------------------------" +echo "Run all the certification version of LSB Tests" +echo "---------------------------------" + +LSB_DIST_CHECKER="/opt/lsb/test/manager/utils/dist-checker.pl" +SESSION="${WORK_DIR}/session" +if [ ! -e ${SESSION} ] +then + echo "Error: Could not find session file." + echo "You must run LSB test from webbrower." + exit 1 +fi + +if [ -x ${LSB_DIST_CHECKER} ] +then + ${LSB_DIST_CHECKER} -v2 -f ${SESSION} + check +fi + +echo "" +echo "LSB test complete. Please check the log file in /var/opt/lsb/test/manager/results/" +echo "" +
meta/recipes-extended/lsb/lsbtest/packages_list new file +50 -0
50 lines not on this page · raw message
meta/recipes-extended/lsb/lsbtest/session new file +194 -0
194 lines not on this page · raw message
meta/recipes-extended/lsb/lsbtest_1.0.bb new file +37 -0
@@ -0,0 +1,37 @@ +DESCRIPTION = "automate test for lsb" +SECTION = "console/utils" +LICENSE = "GPLv2" +PR = "r0" + +LIC_FILES_CHKSUM = "file://LSB_Test.sh;beginline=3;endline=16;md5=7063bb54b04719df0716b513447f4fc0" + +SRC_URI = "file://LSB_Test.sh \ + file://packages_list \ + file://session \ + " +RDEPENDS_${PN} = "rpm" + +S=${WORKDIR} + +do_install() { + install -d ${D}/usr/bin + install -m 0755 ${S}/LSB_Test.sh ${D}/usr/bin + install -d ${D}/opt/lsb-test + install -m 0644 ${S}/packages_list ${D}/opt/lsb-test/packages_list + install -m 0644 ${S}/session ${D}/opt/lsb-test/session + if [ "${TARGET_ARCH}" == "i586" ];then + sed -i -e 's/lsbarch/ia32/g' -e 's/targetarch/i486/g' ${D}/opt/lsb-test/packages_list + sed -i -e 's/targetarch/x86/g' ${D}/opt/lsb-test/session + fi + if [ "${TARGET_ARCH}" == "x86_64" ];then + sed -i -e 's/lsbarch/amd64/g' -e 's/targetarch/x86_64/g' ${D}/opt/lsb-test/packages_list + sed -i -e 's/targetarch/x86-64/g' ${D}/opt/lsb-test/session + fi + if [ "${TARGET_ARCH}" == "powerpc" ];then + sed -i -e 's/lsbarch/ppc32/g' -e 's/targetarch/ppc/g' ${D}/opt/lsb-test/packages_list + sed -i -e 's/targetarch/PPC32/g' ${D}/opt/lsb-test/session + fi +} + +FILES_${PN} += "/opt/lsb-test/* \ + "
Signature · 1 line
1.7.1
PATCH v2 2/3 distro_tracking_fields: add information for lsbtest
In reply to Yi ZhaoAdd information for recipe lsbtest.
--- .../conf/distro/include/distro_tracking_fields.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
meta/conf/distro/include/distro_tracking_fields.inc +4 -0
@@ -5891,6 +5891,10 @@ RECIPE_MANUAL_CHECK_DATE_pn-lsbsetup = "Nov 28, 2011" DISTRO_PN_ALIAS_pn-lsbsetup = "Windriver" RECIPE_MAINTAINER_pn-lsbsetup = "Saul Wold <[email protected]>" +RECIPE_LATEST_VERSION_pn-lsbtest = "1.0" +RECIPE_LAST_UPDATE_pn-lsbtest = "Feb 17, 2012" +RECIPE_MAINTAINER_pn-lsbtest = "Yi Zhao <[email protected]>" + RECIPE_LATEST_VERSION_pn-libxml-simple-perl = "2.18" RECIPE_LATEST_VERSION_pn-talloc = "2.0.5"
Signature · 1 line
1.7.1
PATCH v2 3/3 task-core-lsb: add lsbtest to RDEPENDS_task-core-misc list
In reply to Yi Zhao--- meta/recipes-extended/tasks/task-core-lsb.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-extended/tasks/task-core-lsb.bb +2 -1
@@ -3,7 +3,7 @@ # DESCRIPTION = "Create Small Image Tasks" -PR = "r6" +PR = "r7" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -116,6 +116,7 @@ RDEPENDS_task-core-misc = "\ groff \ lsb \ lsbsetup \ + lsbtest \ lsof \ man \ man-pages \
Signature · 1 line
1.7.1
Saul Wold
AppliedQuoted 28 lines · Yi Zhao
Hi,
The pull request is to address [YOCTO #1567] - "Add recipe for lsb tests and automate test".
LSB testing is different from LTP or POSIX testing. We don't need to build the cases from sources but need to install a set of pre-build binary packages in lsb image.
I add a script and 2 list files in this recipe. The script is used for setting up lsb test environment, download lsb rpm packages from remote, install packages, execute the test and collect the results. When run this script in the target, the lsb will be downloaded, installed and executed automatically.
The version 2 patch add a RDEPENDS_${PN} in .bb file.The following changes since commit
5aca6a7e940d2d0878279b47db0c399d92d5b4f6:update-rc.d.bbclass: do nothing for extended cross packages (2012-02-24 00:47:51 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib yizhao/bug1567v2 http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=yizhao/bug1567v2Yi Zhao (3):
lsbtest: Add recipe for LSB tests and automate test
distro_tracking_fields: add information for lsbtest
task-core-lsb: add lsbtest to RDEPENDS_task-core-misc list.../conf/distro/include/distro_tracking_fields.inc | 4 + meta/recipes-extended/lsb/lsbtest/LSB_Test.sh | 510 ++++++++++++++++++++ meta/recipes-extended/lsb/lsbtest/packages_list | 50 ++ meta/recipes-extended/lsb/lsbtest/session | 194 ++++++++ meta/recipes-extended/lsb/lsbtest_1.0.bb | 37 ++ meta/recipes-extended/tasks/task-core-lsb.bb | 3 +- 6 files changed, 797 insertions(+), 1 deletions(-)
Quoted 6 lines
create mode 100644
meta/recipes-extended/lsb/lsbtest/LSB_Test.shcreate mode 100644 meta/recipes-extended/lsb/lsbtest/packages_list create mode 100644 meta/recipes-extended/lsb/lsbtest/session create mode 100644 meta/recipes-extended/lsb/lsbtest_1.0.bb
Merged into OE-core
Thanks
Sau!
Quoted 5 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core