diff options
Diffstat (limited to 'yocto-poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh')
-rw-r--r-- | yocto-poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh | 526 |
1 files changed, 0 insertions, 526 deletions
diff --git a/yocto-poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh b/yocto-poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh deleted file mode 100644 index b9971a17d..000000000 --- a/yocto-poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh +++ /dev/null @@ -1,526 +0,0 @@ -#!/bin/sh - -# 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" ] && [ ${ARCH} != "ppc64" ] -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 -f --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} - elif [ ${ARCH} = x86_64 ]; then - echo "i486-suse" >> ${PLATFORM_FILE} - echo "i486-noarch" >> ${PLATFORM_FILE} - echo "i486-pc" >> ${PLATFORM_FILE} - echo "i486-.*-linux.*" >> ${PLATFORM_FILE} - echo "noarch-suse" >> ${PLATFORM_FILE} - echo "${ARCH}-suse" >> ${PLATFORM_FILE} - echo "${ARCH}-noarch" >> ${PLATFORM_FILE} - echo "${ARCH}-pc" >> ${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 - -[ -x /sbin/ldconfig ] && { -echo "" -echo "---------------------------------" -echo "Update cache" -/sbin/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 -localedef -i es_ES -f ISO-8859-1 es_ES -localedef -i fr_FR@euro -f ISO-8859-1 fr_FR@euro -localedef -i is_IS -f UTF-8 is_IS.UTF-8 -localedef -i zh_TW -f BIG5 zh_TW.BIG5 -localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15 - -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 "" - |