--- a/build.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/build.xml Mon Oct 05 18:24:10 2009 +0100
@@ -6,7 +6,11 @@
<property name="sf.subproject.path" value=""/>
<property name="sf.project.location" value="${sf.config.dir}/../build/config/${sf.subproject.path}"/>
<property name="sf.project.name" value="job"/>
-
+
+ <target name="set-arm-version"/>
+ <target name="check-env-arm-license"/>
+ <target name="get-arm-license"/>
+
<!-- import job properties -->
<import file="${sf.project.location}/${sf.project.name}_props.ant.xml" optional="yes"/>
--- a/common/build.postbuild.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/build.postbuild.xml Mon Oct 05 18:24:10 2009 +0100
@@ -296,6 +296,7 @@
<target name="sf-run-analysis-raptor">
<echo message="Preprocessing *_compile.log files"/>
+ <delete file="${build.log.dir}/analysis/${build.id}_preprocess.log"/>
<for param="logfile">
<path>
<fileset dir="${build.log.dir}">
@@ -304,11 +305,12 @@
</fileset>
</path>
<sequential>
- <propertyregex override="yes" property="preprocessedlogfile" input="@{logfile}" regexp=".*[\\/](.*)_compile\.log" replace="\1_compile_preprocessed.log"/>
- <echo message="Preprocessing @{logfile}..."/>
- <exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" input="@{logfile}" output="${build.log.dir}/analysis/${preprocessedlogfile}" error="${build.log.dir}/analysis/${build.id}_preprocess.log" append="true">
+ <propertyregex override="yes" property="preprocessedlogfile" input="@{logfile}" regexp=".*[\\/](.*)_compile\.log" replace="\1_compile_preprocessed.log"/>
+ <echo message="Preprocessing @{logfile}..."/>
+ <exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" input="@{logfile}" output="${build.log.dir}/analysis/${preprocessedlogfile}" errorProperty="@{logfile}" >
<arg value="${sf.common.config.dir}/tools/raptor/preprocess_log.pl"/>
</exec>
+ <echo file="${build.log.dir}/analysis/${build.id}_preprocess.log" append="true" message="${@{logfile}}${line.separator}"/>
</sequential>
</for>
@@ -321,7 +323,6 @@
</path>
<sequential>
<echo message="Extracting whatlog info from @{whatlogfile}..."/>
- <echo message="Exec: [${sf.common.config.dir}/tools/raptor] perl ${sf.common.config.dir}/tools/raptor/parse.pl --releaseable --log=@{whatlogfile} --basedir=${build.log.dir} --append"/>
<exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" output="${build.log.dir}/analysis/${build.id}_whatlog.log" append="true">
<arg value="${sf.common.config.dir}/tools/raptor/parse.pl"/>
<arg value="--releaseable"/>
@@ -342,7 +343,6 @@
<sequential>
<echo message="Extracting error info from @{raptorlogfile}..."/>
<propertyregex override="yes" property="raptorconfig" input="@{raptorlogfile}" regexp=".*[\\/].*__(.*)\.whatlog_(single|multiple)_thread.*" replace="\1" casesensitive="false" defaultValue="noconfig"/>
- <echo message="Exec: [${sf.common.config.dir}/tools/raptor] perl ${sf.common.config.dir}/tools/raptor/parse.pl --error --warning --unreciped --recipe --config=${raptorconfig} --log=@{raptorlogfile} --basedir=${build.log.dir}/raptorbits --append"/>
<exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" output="${build.log.dir}/analysis/${build.id}_raptorparse.log" append="true">
<arg value="${sf.common.config.dir}/tools/raptor/parse.pl"/>
<arg value="--error"/>
@@ -352,12 +352,11 @@
<arg value="--config=${raptorconfig}"/>
<arg value="--log=@{raptorlogfile}"/>
<arg value="--basedir=${build.log.dir}/raptorbits"/>
- <arg value="--append"/>
</exec>
</sequential>
</for>
- <echo message="Exec: [${sf.common.config.dir}/tools/raptor] perl ${sf.common.config.dir}/tools/raptor/summarize.pl --raptorbitsdir=${build.log.dir}/raptorbits --outputdir=${build.log.dir}"/>
+ <echo message="Summarizing Raptor data"/>
<exec executable="perl" dir="${sf.common.config.dir}/tools/raptor" failonerror="false" output="${build.log.dir}/analysis/${build.id}_raptorparse.log" append="true">
<arg value="${sf.common.config.dir}/tools/raptor/summarize.pl"/>
<arg value="--raptorbitsdir=${build.log.dir}/raptorbits"/>
@@ -377,6 +376,15 @@
</exec>
</sequential>
</for>
+
+ <!-- Cook the raptor analysis further to produce something in the right format for the BRAG system -->
+ <exec executable="perl" output="${build.log.dir}/summary/Raptor_BRAG.xml" logError="yes">
+ <arg value="${sf.common.config.dir}/tools/brag/raptorToBRAG.pl"/>
+ <arg value="--raptorsummary"/>
+ <arg value="${build.log.dir}/raptorbits/summary.csv"/>
+ </exec>
+ <!-- And copy the XSL so the output can be transformed by a browser -->
+ <copy file="${sf.common.config.dir}/tools/brag/brag.xsl" toDir="${build.log.dir}/summary/"/>
</target>
<target name="sf-run-analysis-yarp">
@@ -632,6 +640,46 @@
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
</antcall>
+
+ </target>
+
+ <target name="sf-create-public-PDK" depends="sf-prebuild,sf-run-sfl-licence-munging" >
+ <if>
+ <istrue value="${sf.spec.md5.enable}"/>
+ <then>
+ <echo message="INFO Creating MD5s"/>
+ <runtarget target="sf-run-evalid"/>
+ </then>
+ </if>
+
+ <!-- Package up the binaries we built -->
+ <if>
+ <istrue value="${sf.spec.package.bin.enable}"/>
+ <then>
+ <echo message="INFO Packaging Binaries"/>
+ <runtarget target="sf-package-binary"/>
+ <runtarget target="sf-package-tools"/>
+
+ <echo message="INFO Validate Zip files"/>
+ <runtarget target="sf-package-validate"/>
+ </then>
+ </if>
+ <runtarget target="sf-zip-logs"/>
+ <if>
+ <istrue value="${sf.spec.publish.enable}" />
+ <then>
+ <echo message="Publish log files and reports to ${sf.spec.publish.rootdir}"/>
+ <runtarget target="sf-publish"/>
+ </then>
+ </if>
+ </target>
+
+
+ <target name="sf-run-sfl-licence-munging" depends="sf-check-utilities-dir" if="sf-utilities-available">
+ <echo message="Running SFL Licence Munging writing log to ${build.log.dir}"/>
+ <exec executable="perl" dir="${build.drive}" failonerror="false" output="${build.log.dir}/postbuild_sfl-licence_munging_results.log">
+ <arg value="${build.drive}/utilities/williamr/convert_to_eula.pl"/>
+ </exec>
</target>
</project>
--- a/common/build.test.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/build.test.xml Mon Oct 05 18:24:10 2009 +0100
@@ -115,7 +115,7 @@
<exec executable="perl" dir="${sf.common.config.dir}/tools/ats/" failonerror="false" append="true" output="${build.log.dir}/ATS_${build.id}_dynamicbc.log">
<arg value="ats_specialise_test_drop.pl"/>
<arg value="--test-drop-name=${env.COMPUTERNAME}-bctest-${build.id}_${program}"/>
- <arg value="--device-name=GENERIC EMULATOR on ${env.COMPUTERNAME}"/>
+ <arg value="--host-name=${env.COMPUTERNAME}.ad-sfpd.intra"/>
<arg value="--src=${sf.spec.test.package.location}/../bctest/${program}"/>
<arg value="--dest=${sf.spec.test.package.location}\${env.COMPUTERNAME}-bctest-${build.id}_${program}" />
</exec>
@@ -165,7 +165,7 @@
<exec executable="perl" dir="${sf.common.config.dir}/tools/ats/" failonerror="false" append="true" output="${build.log.dir}/ATS_${build.id}_smoketest.log">
<arg value="ats_specialise_test_drop.pl"/>
<arg value="--test-drop-name=Smoketest-${build.id}"/>
- <arg value="--device-name=GENERIC EMULATOR on ${env.COMPUTERNAME}"/>
+ <arg value="--device-name=${env.COMPUTERNAME}.ad-sfpd.intra"/>
<arg value="--src=${sf.spec.test.package.location}\smoketest.zip"/>
<arg value="--dest=${sf.spec.test.package.location}\${sf.spec.test.package.name}"/>
<arg value="--build-id=http://${sf.spec.publish.diamonds.server}${diamonds.build.id}"/>
--- a/common/common_props.ant.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/common_props.ant.xml Mon Oct 05 18:24:10 2009 +0100
@@ -41,6 +41,7 @@
<property name="sf.spec.sourcesync.usecache" value="false"/>
<property name="sf.spec.sourcesync.sourcespecfile" value="sources.csv"/>
<property name="sf.spec.sourcesync.cachelocation" value="${sf.spec.job.rootdir}/hgcache"/>
+ <property name="sf.spec.sourcesync.bug419" value="true"/> <!--Temporary workaround for bug 419 - Does source sync manually -->
<property name="sf.spec.baseline.enable" value="true"/>
<property name="sf.spec.baseline.select" value="auto"/> <!-- auto|explicit|location -->
--- a/common/templates/source-spec.ant.xml.ftl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/templates/source-spec.ant.xml.ftl Mon Oct 05 18:24:10 2009 +0100
@@ -17,6 +17,17 @@
<#assign fast_sync = false />
</#if>
+<#if ("${ant['sf.spec.sourcesync.bug419']}")??>
+ <#if "${ant['sf.spec.sourcesync.bug419']}" == "true">
+ <#assign bug419 = true />
+ <#else>
+ <#assign bug419 = false />
+ </#if>
+<#else>
+ <#assign bug419 = false />
+</#if>
+
+
<!-- remove previous version of BOM file (if exists) -->
<target name="reset-bom-sources-csv">
<delete file="${ant['build.drive']}/output/logs/BOM/sources.csv" quiet="true"/>
@@ -55,6 +66,19 @@
<arg value="${ant['build.drive']}${pkg_detail.dst}"/>
</exec>
+ <#if bug419 >
+ <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" outputproperty="sf.sourcesync.${count}.checksum">
+ <arg value="identify"/>
+ <arg value="-i"/>
+ <arg value="-r"/>
+ <arg value="${pkg_detail.pattern}"/>
+ </exec>
+ <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}">
+ <arg value="update"/>
+ <arg value="-r"/>
+ <arg value="${dollar}{sf.sourcesync.${count}.checksum}"/>
+ </exec>
+ <#else>
<hlm:scm verbose="true" scmUrl="scm:hg:${pkg_detail.source}">
<!--hlm:checkout basedir="${ant['build.drive']}${pkg_detail.dst}"/-->
<#if "${pkg_detail.type}"=="tag" >
@@ -71,6 +95,7 @@
</hlm:update>
</#if>
</hlm:scm>
+ </#if>
<exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" outputproperty="sf.sourcesync.${count}.checksum">
<arg value="identify"/>
<arg value="-i"/>
--- a/common/tools/ats/ats_specialise_test_drop.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/ats_specialise_test_drop.pl Mon Oct 05 18:24:10 2009 +0100
@@ -11,6 +11,7 @@
# Mike Kinghan, mikek@symbian.org
#
# Contributors:
+# Brendan Donegan, brendand@symbian.org
#
# Description:
# This is a tool for setting the name of an ATS test drop, and/or the build id
@@ -24,13 +25,13 @@
use Data::Dumper;
my $test_drop_name; # Test drop name to be embedded in output XML
-my $build_id; # Build ID to be embedded in output XML
-my $device_name; # Device name to be embedded in output XML
+my $build_id; # Build ID to be embedded in output XML
+my $host_name; # Host name to be embedded in output XML
my $srcfile; # Input test drop file, either .xml or .zip
my $destfile; # Leafname for output file. Extension will be .xml or .zip as input.
# If unspecified then the input file is updated.
my $help; # Do help?
-my $srctype; # Type of inpout file, .xml or .zip
+my $srctype; # Type of input file, .xml or .zip
my $dev_null = $^O =~ /^MSWin/ ? "nul" : "/dev/null"; # OS-dependent nul device.
my $zipper; # Zip command, depending on whether zip or 7z is available.
my $unzipper; # Unzip command, depending on whether [unzip or 7z is available.
@@ -43,7 +44,7 @@
sub silent_command($);
my %optmap = ( 'test-drop-name' => \$test_drop_name,
- 'device-name' => \$device_name,
+ 'host-name' => \$host_name,
'build-id' => \$build_id,
'src' => \$srcfile,
'dest' => \$destfile,
@@ -51,7 +52,7 @@
GetOptions(\%optmap,
'test-drop-name=s',
- 'device-name=s',
+ 'host-name=s',
'build-id=s',
'src=s',
'dest=s',
@@ -123,11 +124,11 @@
# Insert the specified build id, if any.
$test_drop->{'test'}->{'buildid'}->[0] = $build_id, if $build_id;
-if ($device_name) { # Also insert sepcified device name.
+if ($host_name) { # Also insert specified host name
my $device_properties = $test_drop->{'test'}->{'target'}->[0]->{'device'}->[0]->{'property'};
my $num_properties = @{$device_properties};
- $device_properties->[$num_properties]= { 'name' => "NAME", 'value' => "$device_name" };
+ $device_properties->[$num_properties]= { 'name' => "HOST", 'value' => "$host_name" };
$test_drop->{'test'}->{'target'}->[0]->{'device'}->[0]->{'property'} = $device_properties;
#print Dumper($device_properties);
#exit(0);
@@ -169,12 +170,12 @@
"Specify the name, build id and target device in an ATS XML test drop\n" .
"synopsis:\n" .
" ats_specialise_test_drop.pl --help\n" .
- " ats_specialise_test_drop.pl [--test-drop-name=TESTNAME] [--build-id=BUILDID] [--device-name=DEVICENAME] [--dest=FILE] --src=FILE \n" .
+ " ats_specialise_test_drop.pl [--test-drop-name=TESTNAME] [--build-id=BUILDID] [--host-name=HOSTNAME] [--dest=FILE] --src=FILE \n" .
"options:\n" .
" --help Display this help and exit\n" .
" --test-drop-name=TESTNAME TESTNAME is the desired name of the test drop. If not specified then the test drop name is not modified.\n" .
" --build-id=BUILDID BUILDID is id of the build being tested. If not specified then the build id is not modified.\n" .
- " --device-name=DEVICENAME DEVICENAME is the name of the device on which the test should be run. " .
+ " --device-name=HOSTNAME HOSTNAME is the name of the ATS worker on which the test should be run. " .
"If not specified then the test device name is not modified.\n" .
" --src=INFILE INFILE is the file containing the test drop XML to be modified, or else a zip file " .
" containing the test drop XML in the file 'test.xml'. INFILE must have extension .xml or.zip\n" .
--- a/common/tools/ats/bctest/appsupport/profilesengine/profilesengine.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/appsupport/profilesengine/profilesengine.pl Mon Oct 05 18:24:10 2009 +0100
@@ -20,15 +20,15 @@
use File::Path;
unlink "profilesengine.zip";
-##rmtree "temp";
+rmtree "temp";
mkpath "temp/bcprofilesengine/general/testframework";
mkpath "temp/bcprofilesengine/winscw_udeb";
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("profilesengine.xml", "temp/test.xml");
-copy($epoc . "release/winscw/udeb/proengwrapapi.dll", "temp/bcprofilesengine/winscw_udeb/proengwrapapi.dll");
-copy($epoc . "winscw/c/testframework/testframework_proengwrapapi.ini", "temp/bcprofilesengine/general/testframework/testframework_proengwrapapi.ini");
-copy($epoc . "winscw/c/testframework/proengwrapapi.cfg", "temp/bcprofilesengine/general/testframework/proengwrapapi.cfg");
+copy($epoc . "release/winscw/udeb/proengwrapapi.dll", "temp/bcprofilesengine/winscw_udeb/proengwrapapi.dll") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/testframework_proengwrapapi.ini", "temp/bcprofilesengine/general/testframework/testframework_proengwrapapi.ini") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/proengwrapapi.cfg", "temp/bcprofilesengine/general/testframework/proengwrapapi.cfg") or die "failed : $!";
system("7z a -tzip profilesengine.zip ./temp/*");
\ No newline at end of file
--- a/common/tools/ats/bctest/appsupport/profilesengine/profilesengine.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/appsupport/profilesengine/profilesengine.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Profiles Engine BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/base/test.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/base/test.xml Mon Oct 05 18:24:10 2009 +0100
@@ -9,7 +9,6 @@
<target>
<device alias="emulator_udeb" rank="master">
<property name="harness" value="GENERIC" />
- <property name="name" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Base SVS Plan" harness="GENERIC" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/browser/browser.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/browser/browser.pl Mon Oct 05 18:24:10 2009 +0100
@@ -27,9 +27,9 @@
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("browser.xml", "temp/test.xml");
-copy($epoc . "release/winscw/udeb/favouritesbctest.dll", "temp/bcbrowser/winscw_udeb/favouritesbctest.dll");
-copy($epoc . "release/winscw/udeb/downloadmgrbctest.dll", "temp/bcbrowser/winscw_udeb/downloadmgrbctest.dll");
+copy($epoc . "release/winscw/udeb/favouritesbctest.dll", "temp/bcbrowser/winscw_udeb/favouritesbctest.dll") or die "failed : $!";
+copy($epoc . "release/winscw/udeb/downloadmgrbctest.dll", "temp/bcbrowser/winscw_udeb/downloadmgrbctest.dll") or die "failed : $!";
-copy($epoc . "winscw/c/testframework/testframework_dwmgr.ini", "temp/bcbrowser/general/testframework/testframework_dwmgr.ini");
+copy($epoc . "winscw/c/testframework/testframework_dwmgr.ini", "temp/bcbrowser/general/testframework/testframework_dwmgr.ini") or die "failed : $!";
system("7z a -tzip browser.zip ./temp/*");
--- a/common/tools/ats/bctest/contacts/phonebook/phonebook.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/contacts/phonebook/phonebook.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Contacts Phonebook BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -66,7 +65,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\testframework\tcbctestpbkdataaddedit.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="bctestpbkdataaddedit (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -837,7 +836,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\TestFramework\tcbctestsmsaddsel.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="mtpbksmsaddressselect (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -1014,7 +1013,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\TestFramework\tcbctestphonenumber.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="mtpbkphonenumberselect (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -1132,7 +1131,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\TestFramework\tcbctestmmsaddsel.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="mtpbkmmsaddressselect (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -1368,7 +1367,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\TestFramework\tcbctestemaioversms.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="mtpbkemailoversms (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -1622,7 +1621,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\TestFramework\tcbctestfielddlg.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="mtpbkselectfielddlg (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -1945,7 +1944,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\TestFramework\tcspeeddial.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="bctestspeeddial (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -1977,12 +1976,12 @@
<file>phonebooktest/winscw_udeb/mtpbkiconinfo.dll</file>
<file>phonebooktest/general/testframework/testframework_pbkinfo.ini</file>
<file>phonebooktest/general/testframework/tcbctestpbkinfo.cfg</file>
- <file>phonebooktest/general/testframework/ui_tcbctestpbkinfo.cfg</file>
+ <file>phonebooktest/general/testframework/ui_bctestpbkinfo.cfg</file>
<file>phonebooktest/winscw_udeb/mtpbkiconid.dll</file>
<file>phonebooktest/general/testframework/testframework_pbkicon.ini</file>
<file>phonebooktest/general/testframework/tcbctestpbkicon.cfg</file>
- <file>phonebooktest/general/testframework/ui_tcbctestpbkicon.cfg</file>
+ <file>phonebooktest/general/testframework/ui_bctestpbkicon.cfg</file>
<file>phonebooktest/winscw_udeb/mtpbkfields.dll</file>
<file>phonebooktest/general/testframework/testframework_pbkfeilds.ini</file>
@@ -1992,7 +1991,7 @@
<file>phonebooktest/winscw_udeb/mtpbkfielddata.dll</file>
<file>phonebooktest/general/testframework/testframework_pbkfdata.ini</file>
<file>phonebooktest/general/testframework/tcbctestpbkfdata.cfg</file>
- <file>phonebooktest/general/testframework/ui_tcbctestpbkfdata.cfg</file>
+ <file>phonebooktest/general/testframework/ui_bctestpbkfdata.cfg</file>
<file>phonebooktest/winscw_udeb/mtpbkcontactiter.dll</file>
<file>phonebooktest/general/testframework/testframework_pbkiter.ini</file>
--- a/common/tools/ats/bctest/drm/drm.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/drm/drm.pl Mon Oct 05 18:24:10 2009 +0100
@@ -20,21 +20,21 @@
use File::Path;
unlink "drmtest.zip";
-##rmtree "temp";
+rmtree "temp";
mkpath "temp/drmtest/general/testframework";
mkpath "temp/drmtest/winscw_udeb";
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("drm.xml", "temp/test.xml");
-copy($epoc . "release/winscw/udeb/drm_caf.dll", "temp/drmtest/winscw_udeb/drm_caf.dll");
-copy($epoc . "release/winscw/udeb/bcdrmcafcaps.exe", "temp/drmtest/winscw_udeb/bcdrmcafcaps.exe");
-copy($epoc . "winscw/c/testframework/testframework_drmcaf.ini", "temp/drmtest/general/testframework/testframework_drmcaf.ini");
-copy($epoc . "winscw/c/testframework/drm_caf.cfg", "temp/drmtest/general/testframework/drm_caf.cfg");
-copy($epoc . "winscw/c/content-noenc-trunc.odf", "temp/drmtest/general/content-noenc-trunc.odf");
-copy($epoc . "winscw/c/content.odf", "temp/drmtest/general/content.odf");
-copy($epoc . "winscw/c/content.txt", "temp/drmtest/general/content.txt");
-copy($epoc . "winscw/c/content-noenc.odf", "temp/drmtest/general/content-noenc.odf");
-copy($epoc . "winscw/c/content.dcf", "temp/drmtest/general/content.dcf");
+copy($epoc . "release/winscw/udeb/drm_caf.dll", "temp/drmtest/winscw_udeb/drm_caf.dll") or die "failed : $!";
+copy($epoc . "release/winscw/udeb/bcdrmcafcaps.exe", "temp/drmtest/winscw_udeb/bcdrmcafcaps.exe") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/testframework_drmcaf.ini", "temp/drmtest/general/testframework/testframework_drmcaf.ini") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/drm_caf.cfg", "temp/drmtest/general/testframework/drm_caf.cfg") or die "failed : $!";
+copy($epoc . "winscw/c/content-noenc-trunc.odf", "temp/drmtest/general/content-noenc-trunc.odf") or die "failed : $!";
+copy($epoc . "winscw/c/content.odf", "temp/drmtest/general/content.odf") or die "failed : $!";
+copy($epoc . "winscw/c/content.txt", "temp/drmtest/general/content.txt") or die "failed : $!";
+copy($epoc . "winscw/c/content-noenc.odf", "temp/drmtest/general/content-noenc.odf") or die "failed : $!";
+copy($epoc . "winscw/c/content.dcf", "temp/drmtest/general/content.dcf") or die "failed : $!";
system("7z a -tzip drmtest.zip ./temp/*");
--- a/common/tools/ats/bctest/drm/drm.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/drm/drm.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Digital Rights Managment BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/locationsrv/landmarks_api/landmarks.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/locationsrv/landmarks_api/landmarks.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Landmarks API BCTests WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/locationsrv/landmarks_api/landmarks_api.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/locationsrv/landmarks_api/landmarks_api.pl Mon Oct 05 18:24:10 2009 +0100
@@ -17,18 +17,18 @@
use File::Path;
unlink "landmarks_api.zip";
-##rmtree "temp";
+rmtree "temp";
mkpath "temp/landmarks/general/testframework";
mkpath "temp/landmarks/winscw_udeb";
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("landmarks.xml", "temp/test.xml");
-copy($epoc . "release/winscw/udeb/testlandmarksapi.dll", "temp/landmarks/winscw_udeb/testlandmarksapi.dll");
-copy($epoc . "winscw/c/testframework/TestFramework_Landmarks.ini", "temp/landmarks/general/testframework/TestFramework_Landmarks.ini");
-copy($epoc . "winscw/c/testframework/testlandmarksapi.cfg", "temp/landmarks/general/testframework/testlandmarksapi.cfg");
-copy($epoc . "winscw/c/testing/data/smiltemplate.mif", "temp/landmarks/general/smiltemplate.mif");
-copy($epoc . "winscw/c/testing/data/testEposLmImport.lmx", "temp/landmarks/general/testEposLmImport.lmx");
-copy($epoc . "winscw/c/testing/data/testEposLmImportCollection.lmx", "temp/landmarks/general/testEposLmImportCollection.lmx");
+copy($epoc . "release/winscw/udeb/testlandmarksapi.dll", "temp/landmarks/winscw_udeb/testlandmarksapi.dll") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/TestFramework_Landmarks.ini", "temp/landmarks/general/testframework/TestFramework_Landmarks.ini") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/testlandmarksapi.cfg", "temp/landmarks/general/testframework/testlandmarksapi.cfg") or die "failed : $!";
+copy($epoc . "winscw/c/testing/data/smiltemplate.mif", "temp/landmarks/general/smiltemplate.mif") or die "failed : $!";
+copy($epoc . "winscw/c/testing/data/testEposLmImport.lmx", "temp/landmarks/general/testEposLmImport.lmx") or die "failed : $!";
+copy($epoc . "winscw/c/testing/data/testEposLmImportCollection.lmx", "temp/landmarks/general/testEposLmImportCollection.lmx") or die "failed : $!";
system("7z a -tzip landmarks_api.zip ./temp/*");
--- a/common/tools/ats/bctest/locationsrv/lmdbmanagement/lmdbmanagement.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/locationsrv/lmdbmanagement/lmdbmanagement.pl Mon Oct 05 18:24:10 2009 +0100
@@ -20,15 +20,15 @@
use File::Path;
unlink "lmdbmanagementtest.zip";
-##rmtree "temp";
+rmtree "temp";
mkpath "temp/lmdbmanagementtest/general/testframework";
mkpath "temp/lmdbmanagementtest/winscw_udeb";
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("lmdbmanagement.xml", "temp/test.xml");
-copy($epoc . "release/winscw/udeb/testdbmanagementapi.dll", "temp/lmdbmanagementtest/winscw_udeb/testdbmanagementapi.dll");
-copy($epoc . "winscw/c/testframework/testframework_lmdbmanagement.ini", "temp/lmdbmanagementtest/general/testframework/testframework_lmdbmanagement.ini");
-copy($epoc . "winscw/c/testframework/testdbmanagementapi.cfg", "temp/lmdbmanagementtest/general/testframework/testdbmanagementapi.cfg");
+copy($epoc . "release/winscw/udeb/testdbmanagementapi.dll", "temp/lmdbmanagementtest/winscw_udeb/testdbmanagementapi.dll") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/testframework_lmdbmanagement.ini", "temp/lmdbmanagementtest/general/testframework/testframework_lmdbmanagement.ini") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/testdbmanagementapi.cfg", "temp/lmdbmanagementtest/general/testframework/testdbmanagementapi.cfg") or die "failed : $!";
system("7z a -tzip lmdbmanagementtest.zip ./temp/*");
--- a/common/tools/ats/bctest/locationsrv/lmdbmanagement/lmdbmanagement.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/locationsrv/lmdbmanagement/lmdbmanagement.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Landmarks Database Management BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/locationsrv/lmsearch/lmsearch.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/locationsrv/lmsearch/lmsearch.pl Mon Oct 05 18:24:10 2009 +0100
@@ -20,15 +20,15 @@
use File::Path;
unlink "lmsearchtest.zip";
-##rmtree "temp";
+rmtree "temp";
mkpath "temp/lmsearchtest/general/testframework";
mkpath "temp/lmsearchtest/winscw_udeb";
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("lmsearch.xml", "temp/test.xml");
-copy($epoc . "release/winscw/udeb/testlmksearchapi.dll", "temp/lmsearchtest/winscw_udeb/testlmksearchapi.dll");
-copy($epoc . "winscw/c/testframework/TestFramework_lmsearch.ini", "temp/lmsearchtest/general/testframework/TestFramework_lmsearch.ini");
-copy($epoc . "winscw/c/testframework/testlmksearchapi.cfg", "temp/lmsearchtest/general/testframework/testlmksearchapi.cfg");
+copy($epoc . "release/winscw/udeb/testlmksearchapi.dll", "temp/lmsearchtest/winscw_udeb/testlmksearchapi.dll") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/TestFramework_lmsearch.ini", "temp/lmsearchtest/general/testframework/TestFramework_lmsearch.ini") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/testlmksearchapi.cfg", "temp/lmsearchtest/general/testframework/testlmksearchapi.cfg") or die "failed : $!";
system("7z a -tzip lmsearchtest.zip ./temp/*");
--- a/common/tools/ats/bctest/locationsrv/lmsearch/lmsearch.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/locationsrv/lmsearch/lmsearch.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Landmarks Search BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/locationsrv/locblid/locblid.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/locationsrv/locblid/locblid.pl Mon Oct 05 18:24:10 2009 +0100
@@ -20,16 +20,16 @@
use File::Path;
unlink "locblidtest.zip";
-##rmtree "temp";
+rmtree "temp";
mkpath "temp/locblidtest/general/testframework";
mkpath "temp/locblidtest/winscw_udeb";
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("locblid.xml", "temp/test.xml");
-copy($epoc . "release/winscw/udeb/BCBlidTest.dll", "temp/locblidtest/winscw_udeb/BCBlidTest.dll");
-copy($epoc . "winscw/c/testframework/testframework_locblid.ini", "temp/locblidtest/general/testframework/testframework_locblid.ini");
-copy($epoc . "winscw/c/testframework/tcLmkBlid.cfg", "temp/locblidtest/general/testframework/tcLmkBlid.cfg");
-copy($epoc . "winscw/c/testframework/UI_BCBLid.cfg", "temp/locblidtest/general/testframework/UI_BCBLid.cfg");
+copy($epoc . "release/winscw/udeb/BCBlidTest.dll", "temp/locblidtest/winscw_udeb/BCBlidTest.dll") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/testframework_locblid.ini", "temp/locblidtest/general/testframework/testframework_locblid.ini") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/tcLmkBlid.cfg", "temp/locblidtest/general/testframework/tcLmkBlid.cfg") or die "failed : $!";
+copy($epoc . "winscw/c/testframework/UI_BCBLid.cfg", "temp/locblidtest/general/testframework/UI_BCBLid.cfg") or die "failed : $!";
system("7z a -tzip locblidtest.zip ./temp/*");
--- a/common/tools/ats/bctest/messaging/messaging.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/messaging/messaging.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Messaging BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -143,7 +142,7 @@
<param file="atsinterface.exe"/>
<param parameters="-testmodule testcombiner -config C:\TestFramework\tcTestUIBioCombiner.cfg"/>
<param result-file="c:\spd_logs\xml\testcombiner.xml"/>
- <param timeout="3600"/>
+ <param timeout="300"/>
</params>
</step>
<step id="" name="PluginBioControlAPITest (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/messagingmw/sendui/sendui.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/messagingmw/sendui/sendui.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Send UI BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/multimedia/multimediasvs.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/multimedia/multimediasvs.pl Mon Oct 05 18:24:10 2009 +0100
@@ -21,7 +21,7 @@
use File::Path;
unlink "multimediatest.zip";
-rmtree "temp" or die "failed : $!";
+rmtree "temp";
mkpath "temp/multimediatest/general/multimedia/t_imagedecoder";
mkpath "temp/multimediatest/general/multimedia/t_imageencoder";
--- a/common/tools/ats/bctest/multimedia/multimediatest.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/multimedia/multimediatest.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="GENERIC" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="0.54" name="MultimediaSVSTests WINSCW UDEB" harness="GENERIC" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/package_definition.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/package_definition.xml Mon Oct 05 18:24:10 2009 +0100
@@ -1,169 +1,400 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE SystemDefinition [
+<!ENTITY codeline.oss.fcl "//v800008/builds01/mercurial_development/oss/FCL" >
+<!ENTITY codeline.sfl.fcl "//v800008/builds01/mercurial_development/sfl/FCL" >
+<!ENTITY codeline.sfl.mcl "//v800008/builds01/Mercurial_master_prod/sfl/MCL" >
+<!ENTITY param.updatebranch "RCL_1" >
+<!ENTITY cmd.clone "metacmd.py mcclone" >
+<!ENTITY cmd.copy "metacmd.py mccopy" >
+<!ENTITY cmd.makedirs "metacmd.py mcmakedirs" >
+<!ENTITY cmd.perl "perl" >
+<!ENTITY cmd.sisbld "makesis" >
+<!ENTITY cmd.unzip "7z -y x" >
+<!ENTITY cmd.update "hg update ¶m.updatebranch;" >
+<!ENTITY cmd.wget "wget" >
+<!ENTITY dir.50_asp_connection "sf/mw/websrv/websrv_pub/web_service_connection_api/tsrc/bc/connection/sis" >
+<!ENTITY dir.50_asp_hostconn "sf/mw/websrv/websrv_pub/hostlet_connection_api/tsrc/bc/hostconn/sis" >
+<!ENTITY dir.50_asp_newsoapclasses "sf/mw/websrv/websrv_pub/web_service_messaging_api/tsrc/bc/newsoapclasses/sis" >
+<!ENTITY dir.50_Browser_DownloadMgr "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/browser/apps/DownloadMgrBCTest/sis" >
+<!ENTITY dir.50_Browser_Favourites "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/browser/apps/FavouritesBCTest/sis" >
+<!ENTITY dir.50_loc_landmarks "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_api/sis" >
+<!ENTITY dir.50_loc_LmkDBMgmt "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_database_management_api/sis" >
+<!ENTITY dir.50_loc_LmkSearch "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_search_api/sis" >
+<!ENTITY dir.50_Messaging_MMSClientMTM "sf/app/messaging/msg_pub/mms_client_mtm_api/tsrc/bc/sis" >
+<!ENTITY dir.50_Messaging_PluginBio "sf/app/messaging/msg_pub/plugin_bio_control_api/tsrc/bc/sis" >
+<!ENTITY dir.50_MM_DRMCAF "sf/mw/drm/drm_pub/oma_drm_caf_agent_api/tsrc/bc/sis" >
+<!ENTITY dir.50_PIM_PbkDataAddEdit "sf/app/contacts/contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/sis" >
+<!ENTITY dir.50_PIM_PbkDataMgmt "sf/app/contacts/contacts_pub/phonebook_data_management_api/tsrc/bc/sis" >
+<!ENTITY dir.50_PIM_PbkFetchAPI "sf/app/contacts/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/sis" >
+<!ENTITY dir.50_PIM_PbkUIUtil "sf/app/contacts/contacts_pub/phonebook_ui_utilities_api/tsrc/bc/sis" >
+<!ENTITY dir.50_PIM_PbkVcard "sf/app/contacts/contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/sis" >
+<!ENTITY dir.50_PIM_Spdial "sf/app/contacts/contacts_pub/speed_dial_utility_control_api/tsrc/bc/sis" >
+<!ENTITY dir.50_SP_PROENG "sf/mw/appsupport/appsupport_pub/profiles_engine_wrapper_api/tsrc/BC/ProfilesEngineWrapperAPI/sis" >
+<!ENTITY dir.50_Symbian_AudioConvertUtility "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/mmf/T_MdaAudioConvertUtility/sis" >
+<!ENTITY dir.50_Symbian_AudioInputStream "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/mmf/T_MdaAudioInputStream/sis" >
+<!ENTITY dir.50_Symbian_AudioOutputStream "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/mmf/T_MdaAudioOutputStream/sis" >
+<!ENTITY dir.50_Symbian_AudioPlayerUtility "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/mmf/T_MdaAudioPlayerUtility/sis" >
+<!ENTITY dir.50_Symbian_AudioRecorderUtility "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/mmf/T_MdaAudioRecorderUtility/sis" >
+<!ENTITY dir.50_Symbian_Base "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/base/sis" >
+<!ENTITY dir.50_Symbian_Ecom "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/SysLibs/ecom/sis" >
+<!ENTITY dir.50_symbian_graphics "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/graphics/sis" >
+<!ENTITY dir.50_Symbian_ImageDecoder "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/icl/T_ImageDecoder/sis" >
+<!ENTITY dir.50_Symbian_ImageEncoder "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/icl/T_ImageEncoder/sis" >
+<!ENTITY dir.50_Symbian_T_Camera "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/ecam/T_Camera/sis" >
+<!ENTITY dir.50_Symbian_T_MdaAudioToneUtility "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/mmf/T_MdaAudioToneUtility/sis" >
+<!ENTITY dir.50_Symbian_T_MidiClientUtility "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/symbian/apps/multimedia/mmf/T_MidiClientUtility/sis" >
+<!ENTITY dir.50_systemsw "sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/systemsw/sis" >
+
+
+<!ELEMENT SystemDefinition ( systemModel | layer | package | collection | component)>
+<!ATTLIST SystemDefinition
+ schema CDATA #REQUIRED
+>
+<!-- this DTD describes schema="3.0.0" -->
+
+<!-- all relative paths are relative to this file
+ all absolute paths are relative to the environment variable specified by the root attribute, or SRCROOT if not. -->
+
+<!-- Container for metadata
+ meta, if present, should always be the first element in the parent
+ -->
+<!ELEMENT meta ANY>
+<!ATTLIST meta
+ href CDATA #IMPLIED
+ type CDATA "auto"
+ rel CDATA "Generic"
+>
+
+<!-- systemModel element has name but no ID -->
+<!ELEMENT systemModel (meta*, layer+)>
+<!ATTLIST systemModel
+ name CDATA #IMPLIED
+>
+
+<!-- All items from layer down to component should have either @href or at least one valid child item.
+ Anything else will be considered a placeholder
+ -->
+
+<!ELEMENT layer (meta*, (package | collection)*) >
+<!ATTLIST layer
+ id ID #REQUIRED
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ levels NMTOKENS #IMPLIED
+ span CDATA #IMPLIED
+ before NMTOKEN #IMPLIED
+>
+
+<!ELEMENT package (meta*, (package | collection)*)>
+ <!-- Nested packages are for backwards compatibility only -->
+<!ATTLIST package
+ id ID #REQUIRED
+ name CDATA #IMPLIED
+ version CDATA #IMPLIED
+ href CDATA #IMPLIED
+ levels NMTOKENS #IMPLIED
+ span CDATA #IMPLIED
+ level NMTOKEN #IMPLIED
+ before NMTOKEN #IMPLIED
+>
+
+<!ELEMENT collection (meta*, (component* ))>
+<!ATTLIST collection
+ id ID #REQUIRED
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ level NMTOKEN #IMPLIED
+ before NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (meta*, unit*)>
+<!-- contains units or is a placeholder -->
+<!ATTLIST component
+ id ID #REQUIRED
+ name CDATA #IMPLIED
+ href CDATA #IMPLIED
+ deprecated CDATA #IMPLIED
+ introduced CDATA #IMPLIED
+ target ( device | desktop | other ) "device"
+ purpose ( optional | mandatory | development ) "optional"
+ class NMTOKENS #IMPLIED
+ filter CDATA #IMPLIED
+ before NMTOKEN #IMPLIED
+ origin-model CDATA #IMPLIED
+>
+<!--
+ "filter" attribute is deprecated
+ "origin-model" attribute is only to be inserted by tools when merging models
+ recommended class values are:
+ doc, config, plugin, tool, api -->
+
+<!ELEMENT unit EMPTY >
+<!ATTLIST unit
+ mrp CDATA #IMPLIED
+ bldFile CDATA #IMPLIED
+ base CDATA #IMPLIED
+ root CDATA #IMPLIED
+ version NMTOKEN #IMPLIED
+ prebuilt NMTOKEN #IMPLIED
+ late (yes|no) #IMPLIED
+ filter CDATA #IMPLIED
+ priority CDATA #IMPLIED
+>
+<!-- filter and priority are deprecated
+ "root" attribute will usually be inserted by tools when merging models, although it can be set manually-->
+]>
<SystemDefinition name="Foundation" schema="2.0.1">
<systemModel>
- <layer name="bc" long-name="Binary Compatability" levels="generic specific">
- <block long-name="Dynamic BC Tests" level="specific" name="dynamicbctest" levels="fts">
- <collection name="aspconnectionsis" long-name="50_asp_connection.sis">
- <component id="aspconnection" name="ASP Connection Test">
- <unit bldFile="sf/mw/websrv/websrv_pub/web_service_connection_api/tsrc/bc/connection/group"/>
- </component>
- </collection>
- <collection name="hostconnsis" long-name="50_asp_hostconn.sis">
- <component id="hostconn" name="Hostlet Connection Test">
+ <layer name="pre_bld" long-name="Binary Compatability Sync" levels="generic specific">
+ <meta type="commands">
+ <command cmd="&cmd.makedirs; interim/fbf/configs" />
+ <command cmd="&cmd.makedirs; sf/app" />
+ <command cmd="&cmd.makedirs; sf/mw" />
+ <command cmd="&cmd.makedirs; sf/os" />
+ <command cmd="&cmd.makedirs; sftools/ana" />
+ <command cmd="&cmd.clone; &codeline.oss.fcl;/interim/fbf/configs/default interim/fbf/configs/default" />
+ <command cmd="&cmd.update;" dir="interim/fbf/configs/default" />
+ <command cmd="&cmd.clone; &codeline.sfl.fcl;/sf/app/contacts sf/app/contacts" />
+ <command cmd="&cmd.update;" dir="sf/app/contacts" />
+ <command cmd="&cmd.clone; &codeline.sfl.fcl;/sf/app/messaging sf/app/messaging" />
+ <command cmd="&cmd.update;" dir="sf/app/messaging" />
+ <command cmd="&cmd.clone; &codeline.sfl.fcl;/sf/mw/appsupport sf/mw/appsupport" />
+ <command cmd="&cmd.update;" dir="sf/mw/appsupport" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/mw/drm sf/mw/drm" />
+ <command cmd="&cmd.update;" dir="sf/mw/drm" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/mw/locationsrv sf/mw/locationsrv" />
+ <command cmd="&cmd.update;" dir="sf/mw/locationsrv" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/mw/messagingmw sf/mw/messagingmw" />
+ <command cmd="&cmd.update;" dir="sf/mw/messagingmw" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/mw/mmmw sf/mw/mmmw" />
+ <command cmd="&cmd.update;" dir="sf/mw/mmmw" />
+ <command cmd="&cmd.clone; &codeline.sfl.fcl;/sf/mw/websrv sf/mw/websrv" />
+ <command cmd="&cmd.update;" dir="sf/mw/websrv" />
+ <command cmd="&cmd.clone; &codeline.sfl.fcl;/sf/os/devicesrv sf/os/devicesrv" />
+ <command cmd="&cmd.update;" dir="sf/os/devicesrv" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/os/graphics sf/os/graphics" />
+ <command cmd="&cmd.update;" dir="sf/os/graphics" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/os/kernelhwsrv sf/os/kernelhwsrv" />
+ <command cmd="&cmd.update;" dir="sf/os/kernelhwsrv" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/os/mm sf/os/mm" />
+ <command cmd="&cmd.update;" dir="sf/os/mm" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/os/ossrv sf/os/ossrv" />
+ <command cmd="&cmd.update;" dir="sf/os/ossrv" />
+ <command cmd="&cmd.clone; &codeline.sfl.mcl;/sf/os/shortlinksrv sf/os/shortlinksrv" />
+ <command cmd="&cmd.update;" dir="sf/os/shortlinksrv" />
+ <command cmd="&cmd.clone; &codeline.sfl.fcl;/sftools/ana/compatanamdw sftools/ana/compatanamdw" />
+ <command cmd="&cmd.update;" dir="sftools/ana/compatanamdw" />
+ <command cmd="&cmd.wget; http://developer.symbian.org/wiki/images/e/e7/Xvid.zip" />
+ <command cmd="&cmd.unzip; xvid.zip" />
+ <command cmd="&cmd.perl; sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/group/SetEnv.pl" />
+ </meta>
+ </layer>
+ <layer name="bld_production" long-name="Binary Compatability Production code build" levels="generic specific">
+ <collection name="aspconnectionsis" long-name="50_asp_connection.sis">
+ <component id="aspconnection" name="ASP Connection Test">
+ <unit bldFile="sf/mw/websrv/websrv_pub/web_service_connection_api/tsrc/bc/connection/group"/>
+ </component>
+ </collection>
+ <collection name="hostconnsis" long-name="50_asp_hostconn.sis">
+ <component id="hostconn" name="Hostlet Connection Test">
<unit bldFile="sf/mw/websrv/websrv_pub/hostlet_connection_api/tsrc/bc/hostconn/group"/>
- </component>
- </collection>
- <collection name="newsoapclassessis" long-name="50_asp_newsoapclasses.sis">
- <component id="newsoapclasses" name="New SOAP Classes Test">
+ </component>
+ </collection>
+ <collection name="newsoapclassessis" long-name="50_asp_newsoapclasses.sis">
+ <component id="newsoapclasses" name="New SOAP Classes Test">
<unit bldFile="sf/mw/websrv/websrv_pub/web_service_messaging_api/tsrc/bc/newsoapclasses/group"/>
- </component>
- </collection>
- <collection name="favouritesbctestsis" long-name="50_Browser_Favourites.SIS">
- <component id="favouritesbctest" name="Browser Favourites BC Test">
- <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/browser/apps/FavouritesBCTest/group"/>
- </component>
- </collection>
- <collection name="downloadmgrbctestsis" long-name="50_Browser_DownloadMgr.SIS">
- <component id="downloadmgrbctest" name="Download Manager BC Test">
- <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/browser/apps/DownloadMgrBCTest/group"/>
- </component>
- </collection>
-
- <component id="lmksearch" name="Landmark Search Test">
- <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_search_api/group"/>
- </component>
- <component id="lmkdbmgmt" name="Landmark Database Management Test">
- <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_database_management_api/group"/>
- </component>
- <component id="landmarks" name="Landmarks API Test">
- <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_api/group"/>
</component>
-
- <collection name="mmsclientmtmsis" long-name="50_Messaging_MMSClientMTM.SIS">
- <component id="mmsclientmtm" name="Messaging MMS Client MTM BC Test">
- <unit bldFile="sf/app/messaging/msg_pub/mms_client_mtm_api/tsrc/bc/group"/>
- </component>
- </collection>
+ </collection>
+ <collection name="favouritesbctestsis" long-name="50_Browser_Favourites.SIS">
+ <component id="favouritesbctest" name="Browser Favourites BC Test">
+ <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/browser/apps/FavouritesBCTest/group"/>
+ </component>
+ </collection>
+ <collection name="downloadmgrbctestsis" long-name="50_Browser_DownloadMgr.SIS">
+ <component id="downloadmgrbctest" name="Download Manager BC Test">
+ <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/browser/apps/DownloadMgrBCTest/group"/>
+ </component>
+ </collection>
- <collection name="senduiapisis" long-name="50_msg_sendui.sis">
- <component id="sendui" name="Messaging Send UI API BC Test">
- <unit bldFile="sf/mw/messagingmw/msgfw_pub/send_ui_api/tsrc/bc/group"/>
- </component>
- </collection>
-
- <collection name="pluginbiosis" long-name="50_Messaging_PluginBio.sis">
- <component id="pluginbio" name="Messaging Plugin BIO BC Test">
- <unit bldFile="sf/app/messaging/msg_pub/plugin_bio_control_api/tsrc/bc/group"/>
- </component>
- </collection>
-
- <component id="drmcaf" name="DRM CAF BC Test">
- <unit bldFile="sf/mw/drm/drm_pub/oma_drm_caf_agent_api/tsrc/bc/group"/>
+ <component id="lmksearch" name="Landmark Search Test">
+ <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_search_api/group"/>
+ </component>
+ <component id="lmkdbmgmt" name="Landmark Database Management Test">
+ <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_database_management_api/group"/>
+ </component>
+ <component id="landmarks" name="Landmarks API Test">
+ <unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/location/apps/LandmarksEngine/landmarks_api/group"/>
+ </component>
+
+ <collection name="mmsclientmtmsis" long-name="50_Messaging_MMSClientMTM.SIS">
+ <component id="mmsclientmtm" name="Messaging MMS Client MTM BC Test">
+ <unit bldFile="sf/app/messaging/msg_pub/mms_client_mtm_api/tsrc/bc/group"/>
</component>
-
- <collection name="pbkdataaddeditsis" long-name="50_PIM_PbkDataAddEdit.SIS">
- <component id="pbkdataaddedit" name="Phonebook Data Add Edit BC Test">
- <unit bldFile="sf/app/contacts/contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/group"/>
- </component>
- </collection>
-
- <collection name="pbkdatamanagementsis" long-name="50_PIM_PbkDataMgmt.SIS">
- <component id="pbkdatamgmt" name="Phonebook Data Management BC Test">
- <unit bldFile="sf/app/contacts/contacts_pub/phonebook_data_management_api/tsrc/bc/group"/>
- </component>
- </collection>
-
- <collection name="pbkfetchuisis" long-name="50_PIM_PbkFetchAPI.SIS">
- <component id="pbkfetchui" name="Phonebook Fetch UI BC Test">
- <unit bldFile="sf/app/contacts/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/group"/>
- </component>
- </collection>
-
- <component id="pbkuiutil" name="Phonebook UI Utils BC Test">
- <unit bldFile="sf/app/contacts/contacts_pub/phonebook_ui_utilities_api/tsrc/bc/group"/>
+ </collection>
+
+ <collection name="senduiapisis" long-name="50_msg_sendui.sis">
+ <component id="sendui" name="Messaging Send UI API BC Test">
+ <unit bldFile="sf/mw/messagingmw/msgfw_pub/send_ui_api/tsrc/bc/group"/>
+ </component>
+ </collection>
+
+ <collection name="pluginbiosis" long-name="50_Messaging_PluginBio.sis">
+ <component id="pluginbio" name="Messaging Plugin BIO BC Test">
+ <unit bldFile="sf/app/messaging/msg_pub/plugin_bio_control_api/tsrc/bc/group"/>
+ </component>
+ </collection>
+
+ <component id="drmcaf" name="DRM CAF BC Test">
+ <unit bldFile="sf/mw/drm/drm_pub/oma_drm_caf_agent_api/tsrc/bc/group"/>
+ </component>
+
+ <collection name="pbkdataaddeditsis" long-name="50_PIM_PbkDataAddEdit.SIS">
+ <component id="pbkdataaddedit" name="Phonebook Data Add Edit BC Test">
+ <unit bldFile="sf/app/contacts/contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/group"/>
+ </component>
+ </collection>
+
+ <collection name="pbkdatamanagementsis" long-name="50_PIM_PbkDataMgmt.SIS">
+ <component id="pbkdatamgmt" name="Phonebook Data Management BC Test">
+ <unit bldFile="sf/app/contacts/contacts_pub/phonebook_data_management_api/tsrc/bc/group"/>
+ </component>
+ </collection>
+
+ <collection name="pbkfetchuisis" long-name="50_PIM_PbkFetchAPI.SIS">
+ <component id="pbkfetchui" name="Phonebook Fetch UI BC Test">
+ <unit bldFile="sf/app/contacts/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/group"/>
</component>
- <component id="pbkvcard" name="Phonebook vCard Import Export BC Test">
- <unit bldFile="sf/app/contacts/contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/group"/>
- </component>
- <component id="pbkspeeddial" name="Phonebook Speed Dial BC Test">
- <unit bldFile="sf/app/contacts/contacts_pub/speed_dial_utility_control_api/tsrc/bc/group"/>
- </component>
- <component id="proengwrap" name="Profiles Engine Wrapper Test">
- <unit bldFile="sf/mw/appsupport/appsupport_pub/profiles_engine_wrapper_api/tsrc/BC/ProfilesEngineWrapperAPI/group"/>
- </component>
-
- <component id="basesvs" name="SVS Base API Tests" class="test">
- <unit bldFile="sf/os/kernelhwsrv/baseapitest/basesvs/group"/>
- </component>
-
- <component id="graphicssvs" name="SVS Graphics API Tests" class="test">
- <unit bldFile="sf/os/graphics/graphicsapitest/graphicssvs/group"/>
+ </collection>
+
+ <component id="pbkuiutil" name="Phonebook UI Utils BC Test">
+ <unit bldFile="sf/app/contacts/contacts_pub/phonebook_ui_utilities_api/tsrc/bc/group"/>
+ </component>
+ <component id="pbkvcard" name="Phonebook vCard Import Export BC Test">
+ <unit bldFile="sf/app/contacts/contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/group"/>
+ </component>
+ <component id="pbkspeeddial" name="Phonebook Speed Dial BC Test">
+ <unit bldFile="sf/app/contacts/contacts_pub/speed_dial_utility_control_api/tsrc/bc/group"/>
+ </component>
+ <component id="proengwrap" name="Profiles Engine Wrapper Test">
+ <unit bldFile="sf/mw/appsupport/appsupport_pub/profiles_engine_wrapper_api/tsrc/BC/ProfilesEngineWrapperAPI/group"/>
+ </component>
+
+ <collection name="multimediasvs" long-name="SVS Multimedia API Tests">
+ <component id="testfwsrv" name="Multimedia Test Framework Server">
+ <unit bldFile="sf/os/mm/mmtestenv/mmtestfw/group"/>
</component>
-
- <!-- OS Services SVS -->
- <collection name="systemlibrariessvs" long-name="SVS System Libraries API Tests">
- <component id="syslibssvs" name="SysLibs SVS Suite" class="test">
- <unit bldFile="sf/os/ossrv/syslibsapitest/syslibssvs/group"/>
- </component>
- </collection>
-
- <collection name="multimediasvs" long-name="SVS Multimedia API Tests">
- <component id="mmsvs" name="Multimedia SVS Suite" class="test">
- <unit bldFile="sf/os/mm/mmapitest/mmsvs/suite/group"/>
- </component>
- <component id="testfwsrv" name="Multimedia Test Framework Server">
- <unit bldFile="sf/os/mm/mmtestenv/mmtestfw/group"/>
- </component>
- </collection>
-
- <collection name="systemswsis" long-name="50_systemsw.sis">
- <component id="systemsw" name="System Software">
+ </collection>
+
+ <collection name="systemswsis" long-name="50_systemsw.sis">
+ <component id="systemsw" name="System Software">
<unit bldFile="sftools/ana/compatanamdw/apicompatanamdw/bcdrivers/src/bcdrivers/apps/systemsw/group"/>
- </component>
- <component id="featurediscovery" name="Feature Discovery API">
+ </component>
+ <component id="featurediscovery" name="Feature Discovery API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/feature_discovery_api/tsrc/bc/featurediscovery/group"/>
- </component>
- <component id="finditem" name="Find Item API">
+ </component>
+ <component id="finditem" name="Find Item API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/find_item_api/tsrc/bc/finditem/group"/>
- </component>
- <component id="light" name="Light API">
+ </component>
+ <component id="light" name="Light API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/light_api/tsrc/bc/light/group"/>
- </component>
- <component id="phoneparser" name="Phone Parser API">
+ </component>
+ <component id="phoneparser" name="Phone Parser API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/phone_parser_api/tsrc/bc/phoneparser/group"/>
- </component>
- <component id="platformenv" name="Platform Environment API">
+ </component>
+ <component id="platformenv" name="Platform Environment API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/platform_environment_api/tsrc/bc/platformenv/group"/>
- </component>
- <component id="powerstate" name="HW Resource Management Power State API">
+ </component>
+ <component id="powerstate" name="HW Resource Management Power State API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/hwrm_power_state_api/tsrc/bc/powerstate/group"/>
- </component>
- <component id="sysutil" name="System Utilities API">
+ </component>
+ <component id="sysutil" name="System Utilities API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/sysutil_api/tsrc/bc/sysutil/group"/>
- </component>
- <component id="textresolver" name="Text Resolver API">
+ </component>
+ <component id="textresolver" name="Text Resolver API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/text_resolver_api/tsrc/bc/textresolver/group"/>
- </component>
- <component id="vibra" name="Vibra API">
+ </component>
+ <component id="vibra" name="Vibra API">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/vibra_api/tsrc/bc/vibra/group"/>
- </component>
- <component id="platformvertest" name="Platform Version Test">
+ </component>
+ <component id="platformvertest" name="Platform Version Test">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/version_info_api/tsrc/bc/platformvertest/group"/>
- </component>
- <component id="accmonapibctests" name="Accessory Monitoring API BC Test">
+ </component>
+ <component id="accmonapibctests" name="Accessory Monitoring API BC Test">
<unit bldFile="sf/os/devicesrv/devicesrv_pub/accessory_monitoring_api/tsrc/bc/accmonapibctests/group"/>
- </component>
- <component id="networkstatus" name="Network Status API">
+ </component>
+ <component id="networkstatus" name="Network Status API">
<unit bldFile="sf/mw/appsupport/appsupport_pub/network_status_api/tsrc/bc/networkstatus/group"/>
- </component>
- </collection>
-
- <collection name="proengwrapsis" long-name="50_SP_PROENG.SIS">
- <component id="proeng" name="Profile Engine Wrapper">
- <unit bldFile="sf/mw/appsupport/appsupport_pub/profiles_engine_wrapper_api/tsrc/bc/profilesenginewrapperapi/group"/>
- </collection>
- </collection>
- </block>
+ </component>
+ </collection>
+
+ <collection name="proengwrapsis" long-name="50_SP_PROENG.SIS">
+ <component id="proeng" name="Profile Engine Wrapper">
+ <unit bldFile="sf/mw/appsupport/appsupport_pub/profiles_engine_wrapper_api/tsrc/bc/profilesenginewrapperapi/group"/>
+ </component>
+ </collection>
+ </layer>
+ <layer name="bld_test" long-name="Binary Compatability Test code build" levels="generic specific">
+ <collection name="basesvs" long-name="SVS Base API Tests">
+ <component id="basesvs" name="SVS Base API Tests" class="test">
+ <unit bldFile="sf/os/kernelhwsrv/baseapitest/basesvs/group"/>
+ </component>
+ </collection>
+
+ <collection name="graphicssvs" long-name="SVS Graphics API Tests">
+ <component id="graphicssvs" name="SVS Graphics API Tests" class="test">
+ <unit bldFile="sf/os/graphics/graphicsapitest/graphicssvs/group"/>
+ </component>
+ </collection>
+
+ <!-- OS Services SVS -->
+ <collection name="systemlibrariessvs" long-name="SVS System Libraries API Tests">
+ <component id="syslibssvs" name="SysLibs SVS Suite" class="test">
+ <unit bldFile="sf/os/ossrv/syslibsapitest/syslibssvs/group"/>
+ </component>
+ </collection>
+
+ <collection name="multimediasvs" long-name="SVS Multimedia API Tests">
+ <component id="mmsvs" name="Multimedia SVS Suite" class="test">
+ <unit bldFile="sf/os/mm/mmapitest/mmsvs/suite/group"/>
+ </component>
+ </collection>
+ </layer>
+ <layer name="post_bld" long-name="Binary Compatability SIS build" levels="generic specific">
+ <meta type="commands">
+ <command cmd="&cmd.makedirs; sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_asp_connection; &dir.50_asp_connection;/50_asp_connection.pkg sis/50_asp_connection.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_asp_hostconn; &dir.50_asp_hostconn;/50_asp_hostconn.pkg sis/50_asp_hostconn.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_asp_newsoapclasses; &dir.50_asp_newsoapclasses;/50_asp_newsoapclasses.pkg sis/50_asp_newsoapclasses.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Browser_DownloadMgr; &dir.50_Browser_DownloadMgr;/50_Browser_DownloadMgr.pkg sis/50_Browser_DownloadMgr.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Browser_Favourites; &dir.50_Browser_Favourites;/50_Browser_Favourites.pkg sis/50_Browser_Favourites.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_loc_landmarks; &dir.50_loc_landmarks;/50_loc_landmarks.pkg sis/50_loc_landmarks.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_loc_LmkDBMgmt; &dir.50_loc_LmkDBMgmt;/50_loc_LmkDBMgmt.pkg sis/50_loc_LmkDBMgmt.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_loc_LmkSearch; &dir.50_loc_LmkSearch;/50_loc_LmkSearch.pkg sis/50_loc_LmkSearch.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Messaging_MMSClientMTM; &dir.50_Messaging_MMSClientMTM;/50_Messaging_MMSClientMTM.pkg sis/50_Messaging_MMSClientMTM.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Messaging_PluginBio; &dir.50_Messaging_PluginBio;/50_Messaging_PluginBio.pkg sis/50_Messaging_PluginBio.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_MM_DRMCAF; &dir.50_MM_DRMCAF;/50_MM_DRMCAF.pkg sis/50_MM_DRMCAF.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_PIM_PbkDataAddEdit; &dir.50_PIM_PbkDataAddEdit;/50_PIM_PbkDataAddEdit.pkg sis/50_PIM_PbkDataAddEdit.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_PIM_PbkDataMgmt; &dir.50_PIM_PbkDataMgmt;/50_PIM_PbkDataMgmt.pkg sis/50_PIM_PbkDataMgmt.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_PIM_PbkFetchAPI; &dir.50_PIM_PbkFetchAPI;/50_PIM_PbkFetchAPI.pkg sis/50_PIM_PbkFetchAPI.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_PIM_PbkUIUtil; &dir.50_PIM_PbkUIUtil;/50_PIM_PbkUIUtil.pkg sis/50_PIM_PbkUIUtil.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_PIM_PbkVcard; &dir.50_PIM_PbkVcard;/50_PIM_PbkVcard.pkg sis/50_PIM_PbkVcard.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_PIM_Spdial; &dir.50_PIM_Spdial;/50_PIM_Spdial.pkg sis/50_PIM_Spdial.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_SP_PROENG; &dir.50_SP_PROENG;/50_SP_PROENG.pkg sis/50_SP_PROENG.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_AudioConvertUtility; &dir.50_Symbian_AudioConvertUtility;/50_Symbian_AudioConvertUtility.pkg sis/50_Symbian_AudioConvertUtility.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_AudioInputStream; &dir.50_Symbian_AudioInputStream;/50_Symbian_AudioInputStream.pkg sis/50_Symbian_AudioInputStream.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_AudioOutputStream; &dir.50_Symbian_AudioOutputStream;/50_Symbian_AudioOutputStream.pkg sis/50_Symbian_AudioOutputStream.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_AudioPlayerUtility; &dir.50_Symbian_AudioPlayerUtility;/50_Symbian_AudioPlayerUtility.pkg sis/50_Symbian_AudioPlayerUtility.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_AudioRecorderUtility; &dir.50_Symbian_AudioRecorderUtility;/50_Symbian_AudioRecorderUtility.pkg sis/50_Symbian_AudioRecorderUtility.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_Base; &dir.50_Symbian_Base;/50_Symbian_Base.pkg sis/50_Symbian_Base.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_Ecom; &dir.50_Symbian_Ecom;/50_Symbian_Ecom.pkg sis/50_Symbian_Ecom.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_symbian_graphics; &dir.50_symbian_graphics;/50_symbian_graphics.pkg sis/50_symbian_graphics.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_ImageDecoder; &dir.50_Symbian_ImageDecoder;/50_Symbian_ImageDecoder.pkg sis/50_Symbian_ImageDecoder.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_ImageEncoder; &dir.50_Symbian_ImageEncoder;/50_Symbian_ImageEncoder.pkg sis/50_Symbian_ImageEncoder.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_T_Camera; &dir.50_Symbian_T_Camera;/50_Symbian_T_Camera.pkg sis/50_Symbian_T_Camera.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_T_MdaAudioToneUtility; &dir.50_Symbian_T_MdaAudioToneUtility;/50_Symbian_T_MdaAudioToneUtility.pkg sis/50_Symbian_T_MdaAudioToneUtility.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_Symbian_T_MidiClientUtility; &dir.50_Symbian_T_MidiClientUtility;/50_Symbian_T_MidiClientUtility.pkg sis/50_Symbian_T_MidiClientUtility.sis" />
+ <command cmd="&cmd.sisbld; -d&dir.50_systemsw; &dir.50_systemsw;/50_systemsw.pkg sis/50_systemsw.sis" />
+ </meta>
</layer>
</systemModel>
-</SystemDefinition>
\ No newline at end of file
+</SystemDefinition>
--- a/common/tools/ats/bctest/pim/clock/clock.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/pim/clock/clock.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="PIM Clock BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/syslibs/syslibssvs.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/syslibs/syslibssvs.pl Mon Oct 05 18:24:10 2009 +0100
@@ -28,16 +28,16 @@
my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
copy("syslibstest.xml", "temp/test.xml");
-copy($epoc . "data/z/syslibs/t_syslibs.tcs", "temp/syslibstest/general/syslibs/t_syslibs.tcs");
-copy($epoc . "data/z/syslibs/winscw/t_syslibs.ini", "temp/syslibstest/general/syslibs/t_syslibs.ini");
+copy($epoc . "data/z/syslibs/t_syslibs.tcs", "temp/syslibstest/general/syslibs/t_syslibs.tcs") or die "failed : $!";
+copy($epoc . "data/z/syslibs/winscw/t_syslibs.ini", "temp/syslibstest/general/syslibs/t_syslibs.ini") or die "failed : $!";
-copy($epoc . "data/z/ecom/syslib-ecom-publicapi.script", "temp/syslibstest/general/ecom/syslib-ecom-publicapi.script");
-copy($epoc . "data/z/ecom/syslib-ecom-publicapi.ini", "temp/syslibstest/general/ecom/syslib-ecom-publicapi.ini");
-copy($epoc . "data/z/ecom/testproduct_plugin.rsc", "temp/syslibstest/general/ecom/testproduct_plugin.rsc");
-copy($epoc . "release/winscw/udeb/testproduct_plugin.dll", "temp/syslibstest/general/ecom/testproduct_plugin.dll");
+copy($epoc . "data/z/ecom/syslib-ecom-publicapi.script", "temp/syslibstest/general/ecom/syslib-ecom-publicapi.script") or die "failed : $!";
+copy($epoc . "data/z/ecom/syslib-ecom-publicapi.ini", "temp/syslibstest/general/ecom/syslib-ecom-publicapi.ini") or die "failed : $!";
+copy($epoc . "data/z/ecom/testproduct_plugin.rsc", "temp/syslibstest/general/ecom/testproduct_plugin.rsc") or die "failed : $!";
+copy($epoc . "release/winscw/udeb/testproduct_plugin.dll", "temp/syslibstest/general/ecom/testproduct_plugin.dll") or die "failed : $!";
-copy($epoc . "release/winscw/udeb/t_ecom.exe", "temp/syslibstest/winscw_udeb/t_ecom.exe");
-copy($epoc . "release/winscw/udeb/tpcopyfileutility.exe", "temp/syslibstest/winscw_udeb/tpcopyfileutility.exe");
-copy($epoc . "release/winscw/udeb/tpdeletefileutility.exe", "temp/syslibstest/winscw_udeb/tpdeletefileutility.exe");
+copy($epoc . "release/winscw/udeb/t_ecom.exe", "temp/syslibstest/winscw_udeb/t_ecom.exe") or die "failed : $!";
+copy($epoc . "release/winscw/udeb/tpcopyfileutility.exe", "temp/syslibstest/winscw_udeb/tpcopyfileutility.exe") or die "failed : $!";
+copy($epoc . "release/winscw/udeb/tpdeletefileutility.exe", "temp/syslibstest/winscw_udeb/tpdeletefileutility.exe") or die "failed : $!";
system("7z a -tzip syslibstest.zip ./temp/*");
--- a/common/tools/ats/bctest/syslibs/syslibstest.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/syslibs/syslibstest.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="GENERIC" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="0.54" name="SyslibsSVSTests WINSCW UDEB" harness="GENERIC" enabled="true" passrate="100">
--- a/common/tools/ats/bctest/systemsw/systemsw.pl Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/systemsw/systemsw.pl Mon Oct 05 18:24:10 2009 +0100
@@ -36,7 +36,7 @@
copy($epoc . "release/winscw/udeb/sysutiltest.dll", "temp/systemswtest/winscw_udeb/sysutiltest.dll") or die "failed : $!";
copy($epoc . "release/winscw/udeb/stiftextresolvertest.dll", "temp/systemswtest/winscw_udeb/stiftextresolvertest.dll") or die "failed : $!";
copy($epoc . "release/winscw/udeb/hwresmantest.dll", "temp/systemswtest/winscw_udeb/hwresmantest.dll") or die "failed : $!";
-copy($epoc . "release/winscw/udeb/vibractrltest.dll", "temp/systemswtest/winscw_udeb/vibractrltest.dll") or die "failed : $!";
+##copy($epoc . "release/winscw/udeb/vibractrltest.dll", "temp/systemswtest/winscw_udeb/vibractrltest.dll") or die "failed : $!";
copy($epoc . "release/winscw/udeb/platformvertest.dll", "temp/systemswtest/winscw_udeb/platformvertest.dll") or die "failed : $!";
copy($epoc . "release/winscw/udeb/accmonapibctests.dll", "temp/systemswtest/winscw_udeb/accmonapibctests.dll") or die "failed : $!";
--- a/common/tools/ats/bctest/systemsw/systemsw.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/systemsw/systemsw.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="System Software BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
@@ -337,38 +336,6 @@
</params>
</step>
</case>
- <case id="" name="Vibration Control" harness="ATSINTERFACE" enabled="true" passrate="100">
- <step id="" name="SPD_Logs XML (makedir)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
- <command>makedir</command>
- <params>
- <param dir="c:\spd_logs\xml" />
- </params>
- </step>
- <step id="" name="vibractrltest.dll (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
- <command>install</command>
- <params>
- <param type="binary"/>
- <param src="vibractrltest.dll"/>
- <param dst="c:\sys\bin\vibractrltest.dll"/>
- <param component-path="systemswtest" />
- </params>
- </step>
- <step id="" name="vibractrltest (execute)" harness="ATSINTERFACE" enabled="true" passrate="100">
- <command>execute</command>
- <params>
- <param file="atsinterface.exe"/>
- <param parameters="-testmodule vibractrltest"/>
- <param result-file="c:\spd_logs\xml\vibractrltest.xml"/>
- <param timeout="3600"/>
- </params>
- </step>
- <step id="" name="vibractrltest (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
- <command>fetch-log</command>
- <params>
- <param path="c:\logs\testframework\TestReport.txt" />
- </params>
- </step>
- </case>
<case id="" name="Platform Version" harness="ATSINTERFACE" enabled="true" passrate="100">
<step id="" name="SPD_Logs XML (makedir)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
<command>makedir</command>
@@ -438,5 +405,16 @@
</plan>
<files>
<file>systemswtest/winscw_udeb/featuremanagertest.dll</file>
+ <file>systemswtest/winscw_udeb/finditemenginetest.dll</file>
+ <file>systemswtest/winscw_udeb/light.dll</file>
+ <file>systemswtest/winscw_udeb/networkstatustest.dll</file>
+ <file>systemswtest/winscw_udeb/phoneparsertest.dll</file>
+ <file>systemswtest/winscw_udeb/platformenvtest.dll</file>
+ <file>systemswtest/winscw_udeb/powerstatetest.dll</file>
+ <file>systemswtest/winscw_udeb/sysutiltest.dll</file>
+ <file>systemswtest/winscw_udeb/stiftextresolvertest.dll</file>
+ <file>systemswtest/winscw_udeb/hwresmantest.dll</file>
+ <file>systemswtest/winscw_udeb/platformvertest.dll</file>
+ <file>systemswtest/winscw_udeb/accmonapibctests.dll</file>
</files>
</test>
--- a/common/tools/ats/bctest/websrv/websrv.xml Mon Oct 05 18:23:03 2009 +0100
+++ b/common/tools/ats/bctest/websrv/websrv.xml Mon Oct 05 18:24:10 2009 +0100
@@ -8,7 +8,6 @@
<target>
<device rank="master" alias="emulator_udeb">
<property name="HARNESS" value="ATSINTERFACE" />
- <property name="NAME" value="emulator_udeb" />
</device>
</target>
<plan id="" name="Web Services BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/brag/brag.xsl Mon Oct 05 18:24:10 2009 +0100
@@ -0,0 +1,80 @@
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions">
+
+<!-- Initialise keys (sort of like hashes?) to enable us to list distinct packages/severities -->
+<xsl:key name="packages" match="failure" use="@package"/>
+<xsl:key name="severities" match="failures" use="@severity"/>
+
+<!-- Main template -->
+<xsl:template match="/buildStatus">
+ <html>
+ <head><title>Build Status</title></head>
+ <body>
+ <h1>Build Status</h1>
+
+ <xsl:variable name="criticalCount" select="count(phase/step/failures[@level='critical']/failure)"/>
+ <xsl:variable name="majorCount" select="count(phase/step/failures[@level='major']/failure)"/>
+ <xsl:variable name="minorCount" select="count(phase/step/failures[@level='minor']/failure)"/>
+ <xsl:variable name="unknownCount" select="count(phase/step/failures[@level!='critical' and @level!='major' and @level!='minor']/failure)"/>
+
+ <h2>
+ Overall BRAG staus:
+ <xsl:choose>
+ <xsl:when test="$criticalCount != 0">BLACK</xsl:when>
+ <xsl:when test="$majorCount != 0">RED</xsl:when>
+ <xsl:when test="$minorCount != 0">AMBER</xsl:when>
+ <xsl:when test="$unknownCount != 0">GREEN</xsl:when>
+ <xsl:otherwise>GOLD!</xsl:otherwise>
+ </xsl:choose>
+ </h2>
+
+ <h2>Breakdown by severity</h2>
+ <table border="1">
+ <tr><td>Critical</td><td><xsl:value-of select="$criticalCount"/></td></tr>
+ <tr><td>Major</td><td><xsl:value-of select="$majorCount"/></td></tr>
+ <tr><td>Minor</td><td><xsl:value-of select="$minorCount"/></td></tr>
+ <tr><td>Unknown</td><td><xsl:value-of select="$unknownCount"/></td></tr>
+ <tr><th>Grand total</th><th><xsl:value-of select="count(phase/step/failures/failure)"/></th></tr>
+ </table>
+
+ <h2>Breakdown by phase/step</h2>
+ <table border="1">
+
+ <xsl:for-each select="phase">
+ <tr>
+ <th colspan='2'>Phase: <xsl:value-of select="@name"/></th>
+ </tr>
+ <xsl:for-each select="step">
+ <tr>
+ <td colspan='2'>Step: <xsl:value-of select="@name"/></td>
+ </tr>
+ <xsl:for-each select="failures">
+ <tr>
+ <td>Failures: <xsl:value-of select="@level"/></td>
+ <td>Number: <xsl:value-of select="count(failure)"/></td>
+ </tr>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:for-each>
+
+ </table>
+
+ <!-- If any failures are tied to a specific package... -->
+ <xsl:if test="phase/step/failures/failure[@package]">
+ <h2>Breakdown by package</h2>
+ <table border="1">
+ <tr><th>Package</th><th>Total failures</th></tr>
+ <!-- Use the Muenchian Method to get a set of distinct packages -->
+ <xsl:for-each select="phase/step/failures/failure[generate-id(.) = generate-id(key('packages', @package))]">
+ <xsl:sort select="@package"/>
+ <tr><td><xsl:value-of select="@package"/></td><td><xsl:value-of select="count(key('packages', @package))"/></td></tr>
+ </xsl:for-each>
+ </table>
+ </xsl:if>
+
+ </body>
+ </html>
+</xsl:template>
+
+</xsl:stylesheet>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/brag/bragForDiamonds.xsl Mon Oct 05 18:24:10 2009 +0100
@@ -0,0 +1,27 @@
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- Main template -->
+<xsl:template match="/buildStatus">
+ <xsl:variable name="criticalCount" select="count(phase/step/failures[@level='critical']/failure)"/>
+ <xsl:variable name="majorCount" select="count(phase/step/failures[@level='major']/failure)"/>
+ <xsl:variable name="minorCount" select="count(phase/step/failures[@level='minor']/failure)"/>
+ <xsl:variable name="unknownCount" select="count(phase/step/failures[@level!='critical' and @level!='major' and @level!='minor']/failure)"/>
+
+ <diamonds-build>
+ <schema>13</schema>
+ <build>
+ <status>
+ <xsl:choose>
+ <xsl:when test="$criticalCount != 0">Black</xsl:when>
+ <xsl:when test="$majorCount != 0">Red</xsl:when>
+ <xsl:when test="$minorCount != 0">Amber</xsl:when>
+ <xsl:when test="$unknownCount != 0">Green</xsl:when>
+ <xsl:otherwise>Gold</xsl:otherwise>
+ </xsl:choose>
+ </status>
+ </build>
+ </diamonds-build>
+</xsl:template>
+
+</xsl:stylesheet>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/brag/logToBRAG.pl Mon Oct 05 18:24:10 2009 +0100
@@ -0,0 +1,183 @@
+#!perl -w
+#
+# Copyright (c) 2009 Symbian Foundation Ltd
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Symbian Foundation Ltd - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Identifies failures in a log file (as determined by a set of rules) and produces a BRAG XML summary
+
+use strict;
+
+use Getopt::Long;
+
+my $phaseName;
+my $stepName;
+my $rulesFile;
+my $help = 0;
+GetOptions((
+ 'phase=s' => \$phaseName,
+ 'step=s' => \$stepName,
+ 'rules=s' => \$rulesFile,
+ 'help!' => \$help,
+));
+
+my $wrongArgs = 0;
+unless ($help)
+{
+ $wrongArgs += warn "No phase specified to indicate the phase that the failures fall under\n" unless defined $phaseName;
+ $wrongArgs += warn "No step specified to indicate the step that the failures fall under\n" unless defined $stepName;
+ $wrongArgs += warn "No file of rules specified to interpret the log file\n" unless defined $rulesFile;
+ $wrongArgs += warn "No log files to process\n" unless @ARGV;
+}
+if ($help || $wrongArgs)
+{
+ print <<"EOT";
+
+logToBRAG.pl --phase=prebuild --step=syncsource --rules=syncsourceRules.tsv presync.log [doSync.log ...] > output.xml
+EOT
+ exit(0 + !$help);
+}
+
+# Do the wild-carding thing
+@ARGV = map { glob $_ } @ARGV;
+
+# Start to build structure to be output as XML (same format as XML::Parser would create for us)
+my $xmlNewline = bless { Text => "\n" }, "Characters";
+my $step = bless {
+ name => $stepName,
+ Kids => [ $xmlNewline ]
+}, "step";
+my $phase = bless {
+ name => $phaseName,
+ Kids => [ $xmlNewline, $step, $xmlNewline ]
+}, "phase";
+my $buildStatus = [ bless {
+ Kids =>
+ [
+ $xmlNewline,
+ $phase,
+ $xmlNewline,
+ ]
+}, "buildStatus"];
+
+# Also create empty <failures> tags with severities in a sensible order
+# And shortcuts to those items
+my $severityShortcut = {};
+foreach my $severity (qw{critical major minor})
+{
+ my $failureSet = bless { level => $severity, Kids => [ $xmlNewline ] }, "failures";
+ push @{$step->{Kids}}, $failureSet, $xmlNewline;
+ $severityShortcut->{$severity} = $failureSet;
+}
+
+# Read rules file
+my @rules;
+open(TSV, $rulesFile) or die "Unable to open rules file '$rulesFile'\n";
+while (my $line = <TSV>)
+{
+ chomp $line;
+ next unless $line;
+ my @terms = split m{\t+}, $line;
+ die "Rules file not formatted as expected at line $.\n" unless scalar @terms == 2;
+ push @rules, { regexp => qr{$terms[0]}, severity => $terms[1] };
+}
+
+# Iterate through all the lines of all the files in @ARGV
+while (my $line = <>)
+{
+ chomp $line;
+ foreach my $rule (@rules)
+ {
+ if ($line =~ m[$rule->{regexp}])
+ {
+ last if $rule->{severity} eq "ignore";
+ # We found a match
+ my $failure = bless{ Kids => [ bless { Text => $line }, "Characters" ] }, "failure";
+ # Ensure we have a <failures> tag for this severity
+ if (!exists $severityShortcut->{$rule->{severity}})
+ {
+ # Create the failure set and add it to the shortcut list too
+ my $failureSet = bless { level => $rule->{severity}, Kids => [ $xmlNewline ] }, "failures";
+ push @{$step->{Kids}}, $failureSet, $xmlNewline;
+ $severityShortcut->{$rule->{severity}} = $failureSet;
+ }
+ push @{$severityShortcut->{$rule->{severity}}->{Kids}}, $failure, $xmlNewline;
+ # Do not consider any more rules
+ last;
+ }
+ }
+}
+
+# Print XML
+print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+print "<?xml-stylesheet type='text/xsl' href='brag.xsl'?>\n";
+printTree($buildStatus->[0]);
+print "\n";
+
+exit(0);
+
+sub printTree
+{
+ my $tree = shift or die;
+ die unless ref $tree;
+
+ my $tagName = ref $tree;
+ $tagName =~ s{^main::}{};
+ if ($tagName eq "Characters")
+ {
+ print escapeForXML($tree->{Text});
+ return;
+ }
+
+ print "<$tagName";
+
+ foreach my $attr (
+ sort {
+ my $order = "name level start stop href";
+ my $ixA = index $order, $a;
+ my $ixB = index $order, $b;
+ die "$a $b" if $ixA + $ixB == -2;
+ $ixA - $ixB;
+ }
+ grep {
+ ! ref $tree->{$_}
+ }
+ keys %$tree)
+ {
+ print " $attr=\"$tree->{$attr}\"";
+ }
+
+ my $children = $tree->{Kids} || [];
+ if (scalar @$children)
+ {
+ print ">";
+ foreach my $child (@$children)
+ {
+ printTree($child);
+ }
+ print "</$tagName";
+ }
+ else
+ {
+ print "/"
+ }
+
+ print ">";
+}
+
+sub escapeForXML
+{
+ $_ = shift;
+ s{&}{&}g;
+ s{<}{<}g;
+ s{>}{>}g;
+ return $_;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/brag/raptorToBRAG.pl Mon Oct 05 18:24:10 2009 +0100
@@ -0,0 +1,210 @@
+#!perl -w
+#
+# Copyright (c) 2009 Symbian Foundation Ltd
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Symbian Foundation Ltd - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Generate the BRAG-compatible XML summary of the Raptor log from the CSV output of the raptor parser
+
+use strict;
+
+use Getopt::Long;
+use Text::CSV;
+
+
+my $raptorSummary;
+my $help = 0;
+GetOptions((
+ 'raptorsummary=s' => \$raptorSummary,
+ 'help!' => \$help
+));
+
+$help = 1 if (!$raptorSummary);
+if ($help)
+{
+ print "Generate an XML summary of the Raptor build from a summary.csv file\n";
+ print "Usage: perl summarize.pl --raptorsummary=CSV\n";
+ exit(0);
+}
+
+# Start to build structure to be output as XML (same format as XML::Parser would create for us)
+my $xmlNewline = bless { Text => "\n" }, "Characters";
+my $buildStatus =
+[
+ bless
+ {
+ Kids =>
+ [
+ $xmlNewline,
+ bless
+ {
+ name => "build",
+ Kids => [ $xmlNewline ]
+ }, "phase",
+ ]
+ }, "buildStatus"
+];
+# Get a shortcut reference to the bit we will use a lot
+my $buildPhase = $buildStatus->[0]->{Kids}->[-1];
+
+# READ SUMMARY.CSV FILE
+open(CSV, $raptorSummary);
+my $csv = Text::CSV->new();
+while (my $line = <CSV>)
+{
+ chomp $line;
+
+ unless ($csv->parse($line))
+ {
+ my $err = $csv->error_input();
+ warn "Failed to parse $raptorSummary line line $. as CSV '$line': $err Skipping\n";
+ next;
+ }
+
+ my @keys = qw{category subcategory severity config component phase recipe file linenum};
+ my @values = $csv->fields();
+ unless (scalar @keys == scalar @keys)
+ {
+ warn "WARNING: line does not match expected format at $raptorSummary line $.. Skipping\n";
+ next;
+ }
+
+ # Populate the hash using a hash slice
+ my $failure = {};
+ @{$failure}{@keys} = @values;
+
+ if (!$failure->{category})
+ {
+ warn "WARNING: summary line without a category at $raptorSummary line $.. Skipping\n";
+ next;
+ }
+
+ if ($failure->{category} =~ m{^recipe_failure$}i and !$failure->{component})
+ {
+ warn "WARNING: recipe_failure with component field empty at $raptorSummary line $.. Skipping\n";
+ next;
+ }
+ $failure->{subcategory} ||= 'uncategorized';
+ $failure->{severity} ||= 'unknown';
+
+ # Look through the steps to see if we already have one to match this config
+ my $step;
+ foreach (@{$buildPhase->{Kids}})
+ {
+ next unless ref $_ eq "step";
+ if ($_->{name} eq $failure->{config})
+ {
+ $step = $_;
+ last;
+ }
+ }
+ unless ($step)
+ {
+ # First item found in this step - create step entry
+ $step = bless { name => $failure->{config}, Kids => [ $xmlNewline ] }, "step";
+ push @{$buildPhase->{Kids}}, $step, $xmlNewline;
+ # Also create empty <failures> tags with severities in a sensible order
+ foreach my $severity (qw{critical major minor})
+ {
+ my $failureSet = bless { level => $severity, Kids => [ $xmlNewline ] }, "failures";
+ push @{$step->{Kids}}, $failureSet, $xmlNewline;
+ }
+ }
+
+ # Look through the sets of failures in this step to see if we hve one which matches this severity
+ my $failureSet;
+ foreach (@{$step->{Kids}})
+ {
+ next unless ref $_ eq "failures";
+ if ($_->{level} eq $failure->{severity})
+ {
+ $failureSet = $_;
+ last;
+ }
+ }
+ unless ($failureSet)
+ {
+ # First item found at this severity - create failures entry
+ $failureSet = bless { level => $failure->{severity}, Kids => [ $xmlNewline ] }, "failures";
+ push @{$step->{Kids}}, $failureSet, $xmlNewline;
+ }
+
+ # Now create the failure itself, and add it to this failure set
+ my $failureItem = bless {
+# href => "",
+ Kids => [ bless { Text => $failure->{subcategory} }, "Characters" ]
+ }, "failure";
+ if ($failure->{component})
+ {
+ $failure->{component} =~ s{^(/sf/.*?/.*?)/.*$}{$1};
+ $failureItem->{package} = $failure->{component};
+ }
+ push @{$failureSet->{Kids}}, $failureItem, $xmlNewline;
+}
+close(CSV);
+
+# Print XML
+print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+print "<?xml-stylesheet type='text/xsl' href='brag.xsl'?>\n";
+printTree($buildStatus->[0]);
+print "\n";
+
+exit(0);
+
+sub printTree
+{
+ my $tree = shift or die;
+ die unless ref $tree;
+
+ my $tagName = ref $tree;
+ $tagName =~ s{^main::}{};
+ if ($tagName eq "Characters")
+ {
+ print $tree->{Text};
+ return;
+ }
+
+ print "<$tagName";
+
+ foreach my $attr (
+ sort {
+ my $order = "name level start stop href";
+ my $ixA = index $order, $a;
+ my $ixB = index $order, $b;
+ die "$a $b" if $ixA + $ixB == -2;
+ $ixA - $ixB;
+ }
+ grep {
+ ! ref $tree->{$_}
+ }
+ keys %$tree)
+ {
+ print " $attr=\"$tree->{$attr}\"";
+ }
+
+ my $children = $tree->{Kids} || [];
+ if (scalar @$children)
+ {
+ print ">";
+ foreach my $child (@$children)
+ {
+ printTree($child);
+ }
+ print "</$tagName";
+ }
+ else
+ {
+ print "/"
+ }
+
+ print ">";
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/mergeXML.pl Mon Oct 05 18:24:10 2009 +0100
@@ -0,0 +1,193 @@
+#!perl -w
+# Copyright (c) 2009 Symbian Foundation Ltd
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Symbian Foundation Ltd - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Merge a set of XML files
+
+use strict;
+
+use XML::Parser;
+use Getopt::Long;
+
+# Read option arguments
+my $howtoString;
+my $xslLink;
+my $help;
+GetOptions((
+ 'xsl=s' => \$xslLink,
+ 'merge=s' => \$howtoString,
+ 'help!' => \$help,
+));
+
+my $wrongArgs = 0;
+unless ($help)
+{
+ $wrongArgs += warn "No merge string specified to indicate how the files should be merged\n" unless defined $howtoString;
+ $wrongArgs += warn "No files to be merged\n" unless scalar @ARGV;
+}
+if ($help || $wrongArgs)
+{
+ print <<"EOT";
+
+mergeXML.pl --xsl=brag.xsl --merge=SystemDefinition,systemModel,layer(name),block(name),package(name) sysModel1.xml [model*.xml ...] > output.xml
+EOT
+ exit(0 + !$help);
+}
+
+# Hash of tags that should be merged, with optional attribute consideration
+my $mergeTags;
+foreach my $term (split m{\s*,\s*}, $howtoString)
+{
+ my ($tag, $attribute) = $term =~ m{(\w+)\((\w+)\)};
+ $tag ||= $term;
+ $mergeTags->{$tag} = $attribute;
+}
+
+# Expand wildcards
+@ARGV = map { glob $_ } @ARGV;
+
+# Merge all the trees together
+my $outTree = mergeMultipleTrees($mergeTags, @ARGV);
+
+# Output total tree
+print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+print "<?xml-stylesheet type=\"text/xsl\" href=\"$xslLink\"?>\n" if $xslLink;
+printTree($outTree->[0]);
+print "\n";
+
+exit(0);
+
+sub mergeMultipleTrees
+{
+ my $mergeTags = shift or die;
+
+ # Create an XML parser
+ my $parser = new XML::Parser(Style => "Objects") or die;
+
+ my $outTree;
+ # For each XML file to merge...
+ foreach my $xmlFile (@_)
+ {
+ my $tree = eval { $parser->parsefile($xmlFile) } or die "Failed to parse $xmlFile : $@";
+ if (!$outTree)
+ {
+ # The first file is taken verbatim
+ $outTree = $tree;
+ }
+ else
+ {
+ # Merge into output Tree
+ mergeTwoTrees($outTree->[0], $tree->[0], $mergeTags);
+ }
+ }
+
+ return $outTree;
+}
+
+sub mergeTwoTrees
+{
+ my $baseTree = shift or die;
+ my $extrasTree = shift or die;
+ my $mergeTags = shift or die;
+
+ die ("Trees do not match: ".(ref $baseTree)." vs ".(ref $extrasTree)) unless ref $baseTree eq ref $extrasTree;
+ return if ref $baseTree eq "main::Characters";
+
+ foreach my $extraChild (@{$extrasTree->{Kids}})
+ {
+ # Work out whether this child should be merged with a namesake, or appended
+ my $mergeIt;
+
+ my $extraChildTag = ref $extraChild;
+ $extraChildTag =~ s{^main::}{};
+
+ if (exists $mergeTags->{$extraChildTag})
+ {
+ # Should be merged if there's already one there
+ # Look for a namesake in the base
+ $mergeIt = matchTag($baseTree->{Kids}, $extraChild, $mergeTags->{$extraChildTag});
+ }
+
+ if ($mergeIt)
+ {
+ # Merge children
+ mergeTwoTrees($mergeIt, $extraChild, $mergeTags);
+ }
+ else
+ {
+ # Add this child
+ push @{$baseTree->{Kids}}, $extraChild;
+ }
+ }
+}
+
+sub matchTag
+{
+ my $peers = shift;
+ my $outsider = shift;
+ my $attr = shift;
+
+ foreach my $peer (@$peers)
+ {
+ if (ref $peer eq ref $outsider && (!defined $attr || $peer->{$attr} eq $outsider->{$attr}))
+ {
+ return $peer;
+ }
+ }
+
+ return undef;
+}
+
+sub printTree
+{
+ my $tree = shift or die;
+ die unless ref $tree;
+
+ my $tagName = ref $tree;
+ $tagName =~ s{^main::}{};
+ if ($tagName eq "Characters")
+ {
+ print $tree->{Text};
+ return;
+ }
+
+ print "<$tagName";
+
+ foreach my $attr (
+ sort
+ grep {
+ ! ref $tree->{$_}
+ }
+ keys %$tree)
+ {
+ print " $attr=\"$tree->{$attr}\"";
+ }
+
+ my $children = $tree->{Kids};
+ if (scalar @$children)
+ {
+ print ">";
+ foreach my $child (@$children)
+ {
+ printTree($child);
+ }
+ print "</$tagName";
+ }
+ else
+ {
+ print "/"
+ }
+
+ print ">";
+}
+
+