--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/test/tinterpretsisinteg/runtest.pl Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,212 @@
+#
+# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# 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:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# runtest.pl is used to runtests defined in an xml file.
+#
+
+use strict;
+
+use FindBin;
+use lib "$FindBin::Bin";
+use testcontroller;
+use testlistreader;
+use Cwd;
+use defaulttestroutine;
+use File::Copy;
+
+#processing of command line arguments
+sub processArgs {
+ my ($controller, @args) = @_;
+
+
+ my $usage = <<EOF;
+runtests [-v] [-h] [<test list>] [-o <tests>]
+ -v verbose. Displays test title
+ -h this help text
+ -e Use enhanced test routine that checks result of setup and cleanup
+ <test list> One or more xml filenames containing test definitions
+ If no test list is defined it will try the default file
+ testlist.xml
+ -o <tests> Only run the tests defined in the specified list. This option
+ allows a subset of tests to be executed. This option must be
+ the last option and the tests referenced in this file must
+ already have been defined in previous files.
+
+EOF
+
+ my $hasTestFile = 0;
+ my @normalFiles;
+ my $specialFile;
+ my $enhanced = 0;
+ while (@args)
+ {
+ my $arg = shift @args;
+ if (lc($arg) eq "-v")
+ {
+ $controller->setVerbose();
+ }
+ elsif (lc($arg) eq "-o")
+ {
+ $arg = shift @args;
+ die "File '$arg' does not exist\n" if (! (-e $arg) );
+ $specialFile = $arg;
+ last;
+ }
+ elsif (lc($arg) eq "-e")
+ {
+ $enhanced = 1;
+ }
+ elsif (lc($arg) eq "-h")
+ {
+ die $usage;
+ }
+ elsif (lc($arg) eq "-d")
+ {
+ $controller->{'debug'} = 1;
+ }
+ else
+ {
+ die "File '$arg' does not exist\n" if (! (-e $arg) );
+ push @normalFiles, $arg;
+ $hasTestFile = 1;
+ }
+ }
+
+ return ($specialFile, $enhanced,$hasTestFile);
+}
+
+my %testEntry;
+my $controller = 0;
+my $parser = 0;
+
+my $special = 0;
+my $enhanced = 0;
+my $hasTestFile = 0;
+my @file;
+
+sub StartTest
+{
+use XML::DOM;
+
+$parser->parseFiles($special, @file);
+if ($enhanced)
+{
+ $controller->setTestRoutine(\&enhancedTestRoutine);
+}
+else
+{
+ $controller->setTestRoutine(\&defaultTestRoutine);
+}
+
+$controller->runTests();
+use Cwd;
+my $dir = cwd;
+my $xml = "xml";
+my $domDir = $dir."/".$xml;
+chdir $domDir;
+my $dom = "dom.pm";
+unlink $dom;
+
+}
+
+my $epocRoot = $ENV{'EPOCROOT'};
+my $ScrMain = $epocRoot."epoc32\\release\\winscw\\udeb\\z\\sys\\install\\scr\\provisioned\\scr.db";
+my $ScrBackup = $epocRoot."epoc32\\winscw\\c\\tswi\\tinterpretsisinteg\\backupscr.db";
+
+sub backupScr()
+ {
+
+ copy($ScrMain, $ScrBackup);
+ }
+
+sub restoreScr()
+ {
+ copy($ScrBackup, $ScrMain);
+ }
+
+# -------------- Start of script --------------
+
+my $runType = shift;
+
+if($runType eq "native" || $runType eq "usifnative")
+{
+%testEntry;
+my $logIntFile = "\\epoc32\\winscw\\c\\interpretsis_test_harness.txt";
+$controller = testcontroller->new($logIntFile, $runType);
+
+$parser = testlistreader->new($controller,$runType);
+($special, $enhanced, $hasTestFile) = processArgs($controller, @ARGV);
+
+my $nativeXmlFile="\\epoc32\\winscw\\c\\tswi\\tinterpretsisinteg\\testlist.xml"; # default filename
+if ($hasTestFile == 0)
+ {
+ # use default test list filename
+ die "File '$nativeXmlFile' does not exist\n" if (! (-e $nativeXmlFile) );
+ }
+push(@file,$nativeXmlFile);
+
+
+
+# Delete the log file
+unlink("$logIntFile");
+
+StartTest();
+@file = ();
+}
+
+elsif( $runType eq "usif")
+{
+ my $regfilepath =0;
+ my @nativeregfiles = ("sisregistry_5.2.txt","sisregistry_5.3.txt","sisregistry_5.1.txt");
+ my $regfile = 0;
+ %testEntry;
+ my $logDbFile = "\\epoc32\\winscw\\c\\interpretsis_test_harness_db.txt";
+
+ backupScr();
+ $controller = testcontroller->new($logDbFile, $runType);
+
+
+ $regfilepath = "\\epoc32\\release\\winscw\\udeb\\z\\system\\data\\";
+ # delete the registry file if present
+
+ foreach $regfile (@nativeregfiles)
+ {
+ $regfile = $regfilepath.$regfile;
+ unlink($regfile);
+ }
+ $parser = testlistreader->new($controller,$runType);
+
+ ($special, $enhanced, $hasTestFile) = processArgs($controller, @ARGV);
+ my $dbXmlfile="\\epoc32\\winscw\\c\\tswi\\tinterpretsisinteg\\testlistdb.xml"; # default filename
+ if ($hasTestFile == 0)
+ {
+ # use default test list filename
+ die "File '$dbXmlfile' does not exist\n" if (! (-e $dbXmlfile) );
+ }
+ push(@file,$dbXmlfile);
+
+ # Delete the log file
+ unlink("$logDbFile");
+
+ StartTest();
+
+ restoreScr();
+
+}
+
+else
+ {
+ print "Please specify the type of installation to be performed (native or usif).";
+ }
+