--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/testing/tools/selgesubdirs.pl Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,156 @@
+#
+# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "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:
+#
+
+
+#------------------------------------------------------------------------------------
+# Includes
+#------------------------------------------------------------------------------------
+#use strict;
+use warnings;
+use Cwd; # for cwd
+use FindBin; # for FindBin:Bin
+use File::Path; # for mkpath
+use Date::Calc;
+
+#------------------------------------------------------------------------------------
+# GLOBAL CODE
+#------------------------------------------------------------------------------------
+
+my $argcount = scalar(@ARGV);
+
+if(scalar(@ARGV) > 0)
+{
+ ShowHelp();
+ exit();
+}
+
+print("This script deletes mobilecrashes and result directory from ./Selge.\nPress CTRL-C to quit, enter to continue.\n");
+$input = <>;
+exit if($input eq "q");
+
+my @dirs;
+my $startDir = cwd;
+
+FindFiles(".", 1, "", \@dirs, "case_*");
+
+foreach my $dir(@dirs)
+{
+ $dir =~ s/\//\\/g; #whitespaces in the end
+ system("del selge\\mobilecrash_*.bin\n");
+
+ print("copy $dir\\mobilecrash_*.bin selge\\\n");
+ system("copy $dir\\mobilecrash_*.bin selge\\");
+
+ print("cd selge\n");
+ chdir("selge");
+
+ print("selge.exe -m\n");
+ system("selge.exe -m");
+
+ print("copy results\\ $dir\\\n");
+ system("copy results\\ $dir\\");
+
+
+ print("del mobilecrash_*.bin\n");
+ system("del mobilecrash_*.bin");
+
+ print("rmdir /s /q results\\\n");
+ system("rmdir /s /q results\\");
+
+ chdir("..");
+}
+
+chdir($startDir);
+
+exit();
+
+#------------------------------------------------------------------------------------
+# ShowHelp
+#------------------------------------------------------------------------------------
+sub ShowHelp {
+
+print <<USAGE_EOF;
+
+selgesubdirs.pl
+
+Copies the mobilecrashes from sub directories into Selge directory and runs Selge there.
+Result files are copied back to the sub directory.
+
+Only directories starting with case_ are processed. Selge and case_* must exist in the current directory.
+
+USAGE_EOF
+
+ exit();
+
+};
+
+#------------------------------------------------------------------------------------
+# RemoveWhiteSpaces
+#
+# Parameters:
+# $text
+#------------------------------------------------------------------------------------
+sub RemoveWhiteSpaces()
+{
+ my ($text) = @_;
+ ${$text} =~ s/\s+$//; #whitespaces in the end
+ ${$text} =~ s/^\s+//; #whitespaces at the start
+}
+
+#------------------------------------------------------------------------------------
+# FindFiles
+# Parameters:
+# $goDir, where to start finding
+# $fileType 0 = files, 1 = directories
+# $fileSearch, filename search
+# $refIncfiles, reference to array which will hold found files
+#------------------------------------------------------------------------------------
+sub FindFiles
+{
+ my ($godir, $fileType, $fileSearch, $refIncfiles) = @_;
+
+ my $startDir = cwd;
+
+ chdir($godir);
+
+ #print("Now in: " . cwd . "\n");
+
+ opendir(DIR, ".");
+ my @filelist = sort(readdir(DIR));
+ closedir(DIR);
+
+ foreach my $file(@filelist)
+ {
+
+ if($file eq "." or $file eq "..") {next};
+
+ if($file =~ m/$fileSearch/i)
+ {
+
+ if (!(-d $file) and $fileType == 0)
+ {
+ push @$refIncfiles, ( cwd . "/" . $file );
+ }
+ elsif (-d $file and $fileType == 1)
+ {
+ push @$refIncfiles, ( cwd . "/" . $file );
+ }
+ }
+ }
+
+ chdir ($startDir);
+}
+