#!/bin/sh ############################################################################# ## ## Copyright (C) 2015 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is the build configuration utility of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL$ ## Commercial License Usage ## Licensees holding valid commercial Qt licenses may use this file in ## accordance with the commercial license agreement provided with the ## Software or, alternatively, in accordance with the terms contained in ## a written agreement between you and The Qt Company. For licensing terms ## and conditions see http://www.qt.io/terms-conditions. For further ## information use the contact form at http://www.qt.io/contact-us. ## ## GNU Lesser General Public License Usage ## Alternatively, 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. ## ## As a special exception, The Qt Company gives you certain additional ## rights. These rights are described in The Qt Company 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. ## ## ## $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