#!/bin/sh ############################################################################# ## ## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ## All rights reserved. ## Contact: Nokia Corporation (qt-info@nokia.com) ## ## This file is the build configuration utility of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL$ ## GNU Lesser General Public License Usage ## This file may be used under the terms of the GNU Lesser General Public ## License version 2.1 as published by the Free Software Foundation and ## appearing in the file LICENSE.LGPL included in the packaging of this ## file. Please review the following information to ensure the GNU Lesser ## General Public License version 2.1 requirements will be met: ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ## ## In addition, as a special exception, Nokia gives you certain additional ## rights. These rights are described in the Nokia Qt LGPL Exception ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ## ## GNU General Public License Usage ## Alternatively, this file may be used under the terms of the GNU General ## Public License version 3.0 as published by the Free Software Foundation ## and appearing in the file LICENSE.GPL included in the packaging of this ## file. Please review the following information to ensure the GNU General ## Public License version 3.0 requirements will be met: ## http://www.gnu.org/copyleft/gpl.html. ## ## Other Usage ## Alternatively, this file may be used in accordance with the terms and ## conditions contained in a signed written agreement between you and Nokia. ## ## ## ## ## ## $QT_END_LICENSE$ ## ############################################################################# set -e #set -u xmlInstallDir="usr/share" testSuiteHeader="testsuite_header.txt" testSuiteFooter="testsuite_footer.txt" testSetTemplate="testset.txt" #------------------------------------------------------------------------------- #Parameters: $1 the project file where the tests are defined #------------------------------------------------------------------------------- create_test_xml() { mkdir -p "$installDir/$xmlInstallDir/$packageName" xmlFile="$installDir/$xmlInstallDir/$packageName/tests.xml" begin_test_suite $xmlFile for testApp in $(< "$installFile"); do if file -i "$installDir/$testApp"|grep -e "application/x-executable" ; then add_test_set "$testApp" "$xmlFile" fi done end_test_suite $xmlFile echo "$xmlInstallDir/$packageName/tests.xml" >> "$installFile" } #------------------------------------------------------------------------------- #Parameters: $1 the xml output file' #------------------------------------------------------------------------------- begin_test_suite() { optstr="/ "$1" } #Parameters: $1 the xml output file end_test_suite() { cat "$templateDir/$testSuiteFooter" >> "$1" } #------------------------------------------------------------------------------- #Parameters: $1 the name of the test application #Parameters: $2 the xml output file #------------------------------------------------------------------------------- add_test_set() { templateSetFile="$templateDir/$testSetTemplate" testSuiteName=$(basename $1) add_set_name "$testSuiteName" "$templateSetFile" |add_description "$testSuiteName" |add_case_name "$testSuiteName" |add_step "$1" >> "$2" } add_set_name() { optstr="/&2 exit 1 fi while [ $# -gt 0 ]; do case "$1" in -t) templateDir=$(cd "$2"; pwd) shift ;; -i) installDir=$(cd "$2"; pwd) shift ;; -p) installFile="$2" packageName=$(basename "$installFile" ".install") shift ;; -c) testCliOptions="$2" shift ;; *) projFileList="$projFileList $1";; esac shift done create_test_xml