--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/doc/nokiatsy_test_tool_installer.pl Fri Nov 06 17:28:23 2009 +0000
@@ -0,0 +1,797 @@
+#
+# Copyright (c) 2007-2008 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:
+#
+
+########################################## VARIABLES ##########################################
+
+$appname_and_version = "NokiaTSY Test Tool - installer v1";
+$date_and_author = "20-Nov-2008 Martti Suvanne";
+
+#info string
+$syntax = "\n----------------------------------------------------------------------------\n";
+$syntax = $syntax. " $appname_and_version $date_and_author\n";
+$syntax = $syntax. "----------------------------------------------------------------------------\n\n";
+$syntax = $syntax. "Checks that the environment is ready for testing, and makes the necessary\n";
+$syntax = $syntax. "changes to NokiaTSY. \n";
+$syntax = $syntax. "NOTE: you have to have your environment mapped as a virtual drive \n\n\n";
+$syntax = $syntax. "";
+$syntax = $syntax. "*************************************************************************";
+$syntax = $syntax. "*** THIS SCRIPT SHOULD BE RUN IN THE DIRECTORY IN WHICH IT IS LOCATED ***";
+$syntax = $syntax. "*************************************************************************";
+$syntax = $syntax. "";
+$syntax = $syntax. "Usage: install.pl [/parameters] \n\n";
+$syntax = $syntax. " /? Show this help.\n";
+$syntax = $syntax. " /N NO to ALL, this installs ONLY the modifications that are\n";
+$syntax = $syntax. " not overwriting anything. And does NOT compile anything.\n";
+$syntax = $syntax. " /Y YES to ALL, this installs ALL the modifications and\n";
+$syntax = $syntax. " compiles everything.\n";
+$syntax = $syntax. " /cs Activate scripts only.\n";
+$syntax = $syntax. " /compileonly YES to all COMPILATIONS.\n";
+$syntax = $syntax. " /modifyonly YES to all COMPILATIONS.\n";
+$syntax = $syntax. " /version show version and environment information\n\n\n";
+$syntax = $syntax. "HELP END.\n----------------------------------------------------------------------------\n";
+
+#GLOBAL VARs
+$stif_installation = 0; #0-no stiff, 1-stiff exist, but not compiled, 2-stif ok
+$testtool_installation = 0; #0-no ntsytt, 1-ntsytt exist, but not compiled, 2-ntsytt ok
+$nokiatsy_installation = 0; #0-no ntsy, 1-ntsy exist, but not compiled, 2-ntsy ok
+
+$compileall = 0; #ask, yes, no
+$modifyall = 0; #ask, yes, no
+
+$mod_flag = "INTERNAL_NTSY_TESTTOOL_MOD";
+$nokiatsy_path = "";
+
+########################################## SCRIPT STARTS ##########################################
+
+$amount = @ARGV;
+#if($amount==0){die "\nHelp:".$syntax;} #empty
+
+# Make files modifiable
+chdir ("cd ../../../../../..");
+system ("attrib -R /S");
+
+for($i_args=0;$i_args<$amount;$i_args++)
+ {
+ #HELP
+ if (@ARGV[$i_args] =~ m/^[\/-](\?|h|help)$/i)
+ {
+ die "\nHelp:".$syntax;
+ }
+ #VERSION
+ elsif(@ARGV[$i_args] =~ m/^[\/-](v|version)$/i)
+ {
+ die "\n$appname_and_version - $date_and_author\n\n";
+ }
+ #N
+ elsif(@ARGV[$i_args] =~ m/^[\/-](n|no)$/i)
+ {
+ print "\nNO to all.\n";
+ $compileall =2;
+ $modifyall =2;
+ }
+ #Y
+ elsif(@ARGV[$i_args] =~ m/^[\/-](y|yes)$/i)
+ {
+ print "\nYES to all.\n";
+ $compileall =1;
+ $modifyall =1;
+ }
+ #compileonly
+ elsif(@ARGV[$i_args] =~ m/^[\/-](compileonly)$/i)
+ {
+ print "\nCOMPILE only.\n";
+ $compileall =1;
+ $modifyall =2;
+ }
+ #modifyonly
+ elsif(@ARGV[$i_args] =~ m/^[\/-](modifyonly)$/i)
+ {
+ print "\nMODIFY only.\n";
+ $compileall =2;
+ $modifyall =1;
+ }
+ #modifyonly
+ elsif(@ARGV[$i_args] =~ m/^[\/-](cs|copyscript)$/i)
+ {
+ print "\nSCRIPT COPY only.\n";
+ $compileall =2;
+ $modifyall =2;
+ $testroot = "";
+ $testroot = ( !length($testroot) && (-e "/CASW_Integrated/modemadaptation/adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/group/bld.inf"))? "/casw" : $testroot; #CASW
+ $testroot = ( !length($testroot) && (-e "/nokiatsy_test_tool/core/group/bld.inf"))? "/" : $testroot; #root
+ if(!length($testroot))
+ {
+ die "NO NTSY Test Tool installation found.\n";
+ }
+ goto ACTIVATESCRIPTS;
+ }
+ #BAD INPUT
+ else
+ {
+ die "Invalid parameter($i_args): @ARGV[$i_args].\n";
+ }
+ }
+
+print "\n----------------------------------------------------------------------------\n $appname_and_version $date_and_author\n----------------------------------------------------------------------------\n";
+
+
+### FIND PATHS ###
+
+$stifroot = "";
+$stifroot = ( !length($stifroot) && (-e "/CASW_Integrated/stif/TestEngine/group/bld.inf"))? "/CASW_Integrated" : $stifroot; #CASW
+$stifroot = ( !length($stifroot) && (-e "/stif/TestEngine/group/bld.inf"))? "/" : $stifroot; #root
+if( !length($stifroot) )
+ {
+ die "NO STIF installation found.\n";
+ }
+
+print " - PATH: \"".$stifroot."\"\n";
+
+$testroot = "";
+$testroot = ( !length($testroot) && (-e "/CASW_Integrated/modemadaptation/adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/group/bld.inf"))? "/CASW_Integrated/modemadaptation/adaptationlayer/tsy/nokiatsy_dll/internal/test" : $testroot; #CASW
+$testroot = ( !length($testroot) && (-e "/nokiatsy_test_tool/core/group/bld.inf"))? " " : $testroot; #root
+if(!length($testroot))
+ {
+ die "NO NTSY Test Tool installation found.\n";
+ }
+print " - PATH: \"".$testroot."\"\n";
+
+$nokiatsy_path = "";
+$nokiatsy_path = ( !length($nokiatsy_path) && (-e "/CASW_Integrated/modemadaptation/adaptationlayer/tsy/group/bld.inf"))? "/CASW_Integrated/modemadaptation/adaptationlayer" : $nokiatsy_path; #CASW
+#$nokiatsy_path = ( !length($nokiatsy_path) && (-e "/ncp_sw/corecom/modemadaptation/adaptationlayer/tsy/group/bld.inf"))? "/ncp_sw/corecom/modemadaptation/adaptationlayer" : $nokiatsy_path; #3.0 RND
+#$nokiatsy_path = ( !length($nokiatsy_path) && (-e "/ape_cmt/NokiaTSY/NokiaTSY/group/bld.inf"))? "/ape_cmt/NokiaTSY" : $nokiatsy_path; #2.8 RND
+#$nokiatsy_path = ( !length($nokiatsy_path) && (-e "/bs_adaptation/casw_adaptation/NokiaTSY/NokiaTSY/group/bld.inf" ))? "/bs_adaptation/casw_adaptation/NokiaTSY" : $nokiatsy_path; #OLD 3.0 RND
+#$nokiatsy_path = ( !length($nokiatsy_path) && (-e "/baseservices/adaptation/nokiaadaptation/NokiaTSY/NokiaTSY/group/bld.inf"))? "/baseservices/adaptation/nokiaadaptation/NokiaTSY" : $nokiatsy_path; #2.6
+if(!length($nokiatsy_path))
+ {
+ die "NO NokiaTSY installation found.\n";
+ }
+print " - PATH: \"".$nokiatsy_path."\"\n";
+
+
+########################################## MODIFICATIONs START ##########################################
+#
+# Do the modifications to different files
+
+print "\n____________________________________________________________________________\n1. INSTALLING CHANGES.\n";
+
+if(2!=$modifyall) #NO MODIFY
+ {
+ $mod_amount = &AddMods();
+ #print "MODS: $mod_amount";
+
+ for($i_mods=0;$i_mods<$mod_amount;$i_mods++)
+ {
+ &Modify($mod_file{$i_mods}, $mod_oper{$i_mods}, $mod_srch{$i_mods}, $mod_text{$i_mods},$i_mods, $mod_nodf{$i_mods});
+ }
+
+ }
+else
+ {
+ print " - MODIFICATIONS SKIPPED";
+ }
+
+########################################## COMPILING PHASES ##########################################
+#
+# it is checked that all the components required are installed properly
+# also if some components haven't been compiled, user is prompted for compilation
+#
+
+#--------------------------------------------------------------------------
+# NokiaTSY
+#--------------------------------------------------------------------------
+print "\n____________________________________________________________________________\n4. NOKIATSY.\n";
+$nokiatsy_installation |= (-e $nokiatsy_path."/tsy/group/bld.inf")? 1 : 0;
+$nokiatsy_installation |= (-e "/epoc32/release/winscw/UREL/NOKIATSY.DLL")? 2 : 0;
+
+
+print " - Clean and export for NokiaTSY (export is needed for Nokia TSY Test Tool)";
+
+#INSTALLATION DIR seems to exist. Clean and export (export is needed for Nokia TSY Test Tool).
+if( $nokiatsy_installation&1 )
+ {
+ #COMPILE
+ print " - CLEAN AND EXPORT. \n";
+
+ $cpath= $nokiatsy_path."/tsy/group";
+ &Cleanandcompile($cpath,1);
+ }
+else
+ {
+ print " - NokiaTSY was not found! You need to extract the NokiaTSY in order to use the tool\n You can for example get a snapshot\n from NokiaTSY's newest release project from Synergy.\n";
+ print " ...ERROR.\n";
+ exit;
+ }
+print " ...OK.\n";
+
+
+#--------------------------------------------------------------------------
+# NTSY Test Tool
+#--------------------------------------------------------------------------
+print "\n____________________________________________________________________________\n3. NOKIATSY TEST TOOL.\n";
+$testtool_installation |= (-e $testroot."/nokiatsy_test_tool/core/group/bld.inf")? 1 : 0;
+$testtool_installation |= (-e "/epoc32/release/winscw/UREL/NTT_core.dll")? 2 : 0;
+
+
+#INSTALLATION DIR seems to exist
+if( $testtool_installation&1 )
+ {
+ $cpath=$testroot."/NokiaTSY_Test_Tool/group";
+ &Compile($cpath);
+ }
+else #if($stif_installation==0 || $stif_installation==2)
+ {
+ print " - Test Tool was not found! You need to extract the NokiaTSY Test Tool in order to use it\n You can for example get a snapshot\n from NokiaTSY_Test_Tool's newest release project from Synergy.\n";
+ print " ...ERROR.\n";
+ exit;
+ }
+print " ...OK.\n";
+
+
+
+
+
+#--------------------------------------------------------------------------
+# NokiaTSY
+#--------------------------------------------------------------------------
+print "\n____________________________________________________________________________\n4. NOKIATSY.\n";
+$nokiatsy_installation |= (-e $nokiatsy_path."/tsy/group/bld.inf")? 1 : 0;
+$nokiatsy_installation |= (-e "/epoc32/release/winscw/UREL/NOKIATSY.DLL")? 2 : 0;
+
+
+#INSTALLATION DIR seems to exist
+if( $nokiatsy_installation&1 )
+ {
+ #COMPILE
+ $cpath= $nokiatsy_path."/tsy/group";
+ &Compile($cpath,1);
+ }
+else
+ {
+ print " - NokiaTSY was not found! You need to extract the NokiaTSY in order to use the tool\n You can for example get a snapshot\n from NokiaTSY's newest release project from Synergy.\n";
+ print " ...ERROR.\n";
+ exit;
+ }
+print " ...OK.\n";
+
+
+########################################## ACTIVATE ALL SCRIPTS ##########################################
+ACTIVATESCRIPTS:
+print "\n____________________________________________________________________________\n6. COPY SCRIPTs.\n";
+if(1!=$compileall)
+ {
+ #ACTIVATE
+ @filesfrom;
+ use File::Find;
+ find(\&SearchScripts, $testroot.'/NokiaTSY_Test_Tool'); #Fills the $filesfrom
+ @filesto2 = ('/epoc32/winscw/c/TestFramework/TestFramework.ini');
+ print "\n - ACTIVATE SCRIPTS:\n (NOTE: If you activate ALL the scripts, it may slow down starting test)\n";
+ $fop = &ActivateScripts( \@filesfrom, \@filesto2 ); #passing references
+ if( $fop != 1)
+ {
+ print " - error is script activation: $fop\n";
+ }
+ else
+ {
+ print " - activating ok.\n";
+ }
+ }
+
+
+
+########################################## ENDING ##########################################
+
+#ENDING
+print "\n____________________________________________________________________________\n\n";
+print " - Installer ended, to start the NokiaTSY Test Tool:\n Start emulator and give a command in prompt: consoleui\n and browse test cases using arrow keys.\n\n";
+exit;
+
+########################################## MAIN END ##########################################
+#----------------------------------------- MAIN END -----------------------------------------#
+
+
+
+
+
+
+
+
+
+
+
+########################################## SUBROUTINES ##########################################
+
+######### Compile and clean
+sub Compile
+ {
+ local($comppath) = $_[0]; #Compilation path
+ local($notreally) = $_[1]; #No cleaning wanted
+
+ chdir $comppath;
+ print " - PREPARE BUILD FILES. \n";
+ system("bldmake bldfiles") == 0 or exit;
+
+ if(!$notreally)
+ {
+ print " - CLEAN OLD. \n";
+ system("abld reallyclean winscw") == 0 or exit;
+ }
+ print " - BUILD WINSCW. \n";
+ system("abld build winscw") == 0 or exit;
+ }
+
+######### Compile and clean
+sub Cleanandcompile
+ {
+ local($comppath) = $_[0]; #Compilation path
+
+ chdir $comppath;
+ print " - PREPARE BUILD FILES. \n";
+ system("bldmake bldfiles") == 0 or exit;
+
+ print " - CLEAN OLD. \n";
+ system("abld reallyclean winscw nokiatsy_dll") == 0 or exit;
+
+ print " - BUILD WINSCW. \n";
+ system("abld build winscw nokiatsy_dll") == 0 or exit;
+
+ }
+
+######### Search
+sub SearchScripts
+ {
+ local($filetype) = 'cfg';
+ if($_ =~ m/\.$filetype$/i)
+ {
+ print " ".$File::Find::name."\n";
+ push(@filesfrom,$File::Find::name)
+ }
+ }
+
+######### Modify files
+sub Modify
+ {
+ local($filepath) = $_[0];
+ local($operation) = $_[1];
+ local($search) = $_[2];
+ local($replace) = $_[3];
+ local($id) = $_[4];
+ local($nodef) = $_[5];
+
+ local($mod_def_start) ="";
+ local($mod_def_else) ="";
+ local($mod_def_end) ="";
+ local($data) = "";
+ local($permission) = 1;
+
+ #make paths to correct format
+ $filepath =~ s/\\/\//g;
+
+ my($directory, $filename) = $filepath =~ m/(.*\/)(.*)$/;
+ local($linecomment) = ($filename =~ /\.ini$/i )?"#":"//";
+
+ #flagging
+ local($ifdefs) = ($filename =~ /\.(cpp|h|mmp)$/i )?1:0;
+ local($mod_def_name) = ($filename =~ /\.mmp$/i )?$mod_flag."_MMP":$mod_flag;
+ #print "def: $mod_def_name\n";
+
+ local($changenote) = "\n\n".$linecomment."NOKIATSY TEST TOOL (ID:".$id.")";
+
+ #OPEN FILE
+ print "\n - modifying file: $filename\n -- reading..\n";
+ if(!open( RESOURCE, "< $filepath" ))
+ {
+ print " -- NOT FOUND! skipped\n";
+ return;
+ }
+
+ #read file
+ while ( <RESOURCE> )
+ {
+ $data .= $_;
+ }
+ close( RESOURCE );
+
+ #check if already modified
+ $cn=$changenote;
+ $cn =~ s/\s+/\\s\*/g;
+ $cn =~ s/([().+?\/])/\\$1/g;
+ if($data =~ /$cn/ )
+ {
+ print " -- File has been modified already, proceed anyway? [y/n] ";
+
+ $modcomp= &ReadKey();
+
+ if($modcomp =~ m/^[^y]/i)
+ {
+ $permission = 0;
+ }
+ }
+
+ if($permission!=0)
+ {
+ print " -- applying modification\n";
+
+ if($ifdefs!=0 && $nodef!=1)
+ {
+ $mod_def_start = ($filename =~ /\.(mmp)$/i )?"\n#if defined $mod_def_name\n":"#ifdef $mod_def_name\n";
+ $mod_def_else = "\n#else //$mod_def_name\n";
+ $mod_def_end = "\n#endif //$mod_def_name\n";
+ }
+
+ #PREPARE SEARCH
+ $search =~ s/\s+/\\s\*/g;
+ $search =~ s/([().+?\/])/\\$1/g;
+ $search =~ s/_ANY_/\)\(\(\.\|\\s\)\*\?\)\(/g;
+ $mod_text=~ s/\s+/\\s\*/g;
+ $mod_text=~ s/([().+?\/])/\\$1/g;
+
+ #AFTER ANY
+ if("afterany" eq $operation)
+ {
+ $changenote .= "(added following)\n";
+ if($data =~ /($search)/ )
+ {
+ $mod = ($ifdefs!=0 && $nodef!=1)?"$mod_def_start$replace$mod_def_end":"$replace";
+ $data =~ s/($search)/$1$2$changenote$mod\n$4/g;
+ }
+ else
+ {
+ print " -- not found:\n $search";
+ }
+ }
+ #REPLACE
+ elsif("replace" eq $operation)
+ {
+ $changenote .= "(replacement)\n";
+ if($data =~ /($search)/ )
+ {
+ $mod = ($ifdefs!=0 && $nodef!=1)?"$mod_def_start$replace$mod_def_else$1$mod_def_end":"$replace";
+ $data =~ s/($search)/$changenote$mod\n/g;
+ }
+ else
+ {
+ print " -- not found ($operation):\n $search";
+ }
+ }
+
+ #COMMENT
+ elsif("comment" eq $operation)
+ {
+ $changenote .= "(commented following)\n";
+ if($data =~ /($search)/ )
+ {
+ $commented = $1;
+ $comm = $commented;
+ $commented =~ s/\n/\n$linecomment/g;
+ $mod = ($ifdefs!=0 && $nodef!=1)?"$mod_def_start$linecomment$commented$mod_def_else$comm$mod_def_end":"$linecomment$commented";
+ $data =~ s/($search)/$changenote$mod/g;
+ }
+ else
+ {
+ print " -- not found:\n \"$search\"\n";
+ }
+ }
+ #UNCOMMENT
+ elsif("uncomment" eq $operation)
+ {
+ $changenote .= "(uncommented following)\n";
+ if($data =~ /([\s#\/]*$search)/ )
+ {
+ $uncommented = $1;
+ $uncommented =~ s/(^\s*$linecomment|(\n)\s*$linecomment)/$2/g;
+ $mod = ($ifdefs!=0 && $nodef!=1)?"$mod_def_start$uncommented$mod_def_else$1$mod_def_end":"$uncommented";
+ $data =~ s/([\s#\/]*$search)/$changenote$mod/g;
+ }
+ else
+ {
+ print " -- not found:\n \"$search\"\n";
+ }
+ }
+
+ #ADD BELOW (add below search)
+ elsif("addbelow" eq $operation)
+ {
+ $changenote .= "(added)\n";
+ if($data =~ /($search)/ )
+ {
+ $mod = ($ifdefs!=0 && $nodef!=1)?"$mod_def_start$replace$mod_def_end":"$replace";
+ $data =~ s/($search)/$1$changenote$mod\n/g;
+ }
+ else
+ {
+ print " -- not found:\n \"$search\"\n";
+ }
+ }
+ #ADD TO TOP
+ elsif("addtop" eq $operation)
+ {
+ $changenote .= "(added)\n";
+ $mod = ($ifdefs!=0 && $nodef!=1)?"$mod_def_start$replace$mod_def_end":"$replace";
+ $data = "$changenote$mod\n$data";
+ }
+
+ #UNKNOWN
+ else
+ {
+ print " -- unknown modification request: \"$operation\"\n";
+ }
+
+ $mod="";
+ open( OUTFILE, "> $filepath" ) || die " - BREAK: Cannot open output file, is it marked READ ONLY?.\n$!\n";
+ print OUTFILE $data;
+ close( OUTFILE );
+ }
+ else
+ {
+ print " -- modification skipped\n";
+ }
+ print " -- modification end\n";
+ }
+
+######### COPY FROM -> TO
+sub CopyFiles
+ {
+ my($ref_from, $ref_to) = @_; # Two
+ local(@from) = @{$ref_from};
+ local(@to) = @{$ref_to};
+ local($size_from) = scalar(@from);
+ local($size_to) = scalar(@to);
+
+ if($size_from==0 || $size_to==0)
+ {
+ return (" - no files to copy.\n");
+ }
+
+ local($i_from);
+ for( $i_from=0; $i_from<$size_from; $i_from++ )
+ {
+ local($i_to);
+ for( $i_to=0; $i_to<$size_to; $i_to++ )
+ {
+ #$fromall = join('+', @from);
+
+ #make paths to correct format
+ @from[$i_from] =~ s/\//\\/g;
+ @to[$i_to] =~ s/\//\\/g;
+ $command = "copy ".@from[$i_from]." ".@to[$i_to]." /-Y\n";
+
+ #print $command;
+ system($command) == 0 or return ("Copy Error.");
+ }
+ }
+ print " - COPY FINISHED\n";
+ return 1;
+ }
+
+
+######### ACTIVATE SCRIPTS
+sub ActivateScripts
+ {
+ my($ref_name, $ref_location) = @_; # Two
+ local(@name) = @{$ref_name};
+ local(@location) = @{$ref_location};
+ local($size_name) = scalar(@name);
+ local($size_location) = scalar(@location);
+
+ if($size_name==0 || $size_location==0)
+ {
+ return (" - no scripts to activate.\n");
+ }
+
+ #COMMENT DEMO MODULE
+ # -----------------------------------------------------------------------
+ $scr_id = 100;
+ $scr_file{$scr_id} = @location[0]; #'/epoc32/winscw/c/TestFramework/TestFramework.ini';
+ $scr_oper{$scr_id} = 'comment';
+ $scr_srch{$scr_id} =
+ '\[New_Module\]
+ ModuleName= demomodule
+ \[End_Module\]';
+ $scr_text{$scr_id} = '';
+ $scr_nodf{$scr_id} = 1; #NOKIATSY defs are not active
+ $scr_id++;
+
+ #COMMENT ADAPTATION TEST ENV
+ # -----------------------------------------------------------------------
+ $scr_file{$scr_id} = @location[0]; #'/epoc32/winscw/c/TestFramework/TestFramework.ini';
+ $scr_oper{$scr_id} = 'comment';
+ $scr_srch{$scr_id} =
+'\[New_Module\]
+ModuleName= adaptationtestenvstifadapter
+\[End_Module\]';
+ $scr_text{$scr_id} = '';
+ $scr_nodf{$scr_id} = 1; #NOKIATSY defs are not active
+ $scr_id++;
+
+ local($i_name);
+ local($old_name) = "";
+ local($activated) = "";
+
+ for( $i_name=0; $i_name<$size_name; $i_name++ )
+ {
+ my($scr_dir, $scr_filename) = @name[$i_name] =~ m/(.*\/)(.*)$/;
+
+ if(!(@name[$i_name] eq $old_name))
+ {
+ print " - Do you want to add '".$scr_filename."' to the TestFramework.ini? [y/n] ";
+ $key = &ReadKey();
+ }
+ if('y' eq $key)
+ {
+ $activated .= 'TestCaseFile= c:\\TestFramework\\'.$scr_filename."\n";
+ }
+ else
+ {
+ $activated .= '#TestCaseFile= c:\\TestFramework\\'.$scr_filename."\n";
+ }
+ $old_name = @from[$i_name];
+ }
+
+if(length($activated))
+ {
+ #ADD NEW MODULEs
+ # -----------------------------------------------------------------------
+ $scr_file{$scr_id} = @location[0]; #'/epoc32/winscw/c/TestFramework/TestFramework.ini';
+ $scr_oper{$scr_id} = 'addbelow';
+ $scr_srch{$scr_id} =
+ '# name of the test module when adding new test module';
+ $scr_text{$scr_id} =
+'[New_Module]
+ModuleName= testscripter
+'.$activated.'[End_Module]';
+ $scr_nodf{$scr_id} = 1; #NOKIATSY defs are not active
+ $scr_id++;
+ }
+
+ $mod_amount = $scr_id;
+
+ #modify
+ for($i_mods=100;$i_mods<$mod_amount;$i_mods++)
+ {
+ &Modify($scr_file{$i_mods}, $scr_oper{$i_mods}, $scr_srch{$i_mods}, $scr_text{$i_mods},$i_mods, $scr_nodf{$i_mods});
+ }
+ print " - ACTIVATING FINISHED\n";
+ return 1;
+ }
+
+
+######### Read a Key.
+sub ReadKey
+ {
+ #READKEY
+ $readkey=lc( getc(STDIN) );
+ while($readkey =~ /([^a-z0-9])/ )
+ {
+ $readkey=lc( getc(STDIN) );
+ }
+ return substr( $readkey, 0, 1);
+ }
+
+
+######### CREATING A MODIFICATION LIST
+#
+# each MOD shoud have at least three of the following:
+#
+# 1. $mod_file{$mod_id}
+# - path to the file to be modified
+#
+# 2. $mod_oper{$mod_id}
+# - modification operation, currently supported:
+# "addbelow" - adds text($mod_text) to $mod_file right after the $mod_srch -text
+# "replace" - replaces instances of $mod_srch by $mod_text
+# "comment" - puts a c-style comment to every line in $mod_srch
+# "afterany" - adds text($mod_text) to $mod_file according to a keyword "_ANY_" in $mod_srch
+# "addtop" - adds to top of the $mod_file
+#
+# 3. $mod_srch{$mod_id}
+# - search string(can be multiple lines)
+#
+# 4. $mod_text{$mod_id}
+# - text replacement or addition, depending on operation.
+#
+# 5. $mod_nodf{$mod_id}
+# - if the modification should _NOT_ be flagged. Use this only for special cases!
+#
+#
+sub AddMods
+ {
+ $mod_id = 0;
+
+
+ # -----------------------------------------------------------------------
+ $mod_file{$mod_id} = $nokiatsy_path.'/tsy/nokiatsy_dll/group/nokiatsy_dll.mmp';
+ $mod_oper{$mod_id} = 'replace';
+ $mod_srch{$mod_id} = 'LIBRARY commontsy.lib // for using Common Tsy';
+ $mod_text{$mod_id} = 'LIBRARY NTT_core.lib // for TEST tool';
+ $mod_id++;
+
+ # -----------------------------------------------------------------------
+ $mod_file{$mod_id} = $nokiatsy_path.'/tsy/nokiatsy_dll/group/nokiatsy_dll.mmp';
+ $mod_oper{$mod_id} = 'addbelow';
+ $mod_srch{$mod_id} = 'UID 0x1000008D 0x1000A84A';
+ $mod_text{$mod_id} =
+ ' #define '.$mod_flag.'_MMP
+ #if defined('.$mod_flag.'_MMP)
+ MACRO '.$mod_flag.'
+ #endif //'.$mod_flag.'_MMP
+ ';
+ $mod_nodf{$mod_id} = 1;
+ $mod_id++;
+
+
+ #EPOC.INI (for running emulator in textshell)
+ # -----------------------------------------------------------------------
+ $mod_file{$mod_id} = '/epoc32/data/epoc.ini';
+ $mod_oper{$mod_id} = 'addtop';
+ $mod_srch{$mod_id} = '';
+ $mod_text{$mod_id} = 'textshell';
+ $mod_id++;
+
+ # -----------------------------------------------------------------------
+ $mod_file{$mod_id} = '/epoc32/data/epoc.ini';
+ $mod_oper{$mod_id} = 'replace';
+ $mod_srch{$mod_id} = 'configuration epoc_480x640.ini';
+ $mod_text{$mod_id} = '// configuration epoc_480x640.ini';
+ $mod_id++;
+
+ # -----------------------------------------------------------------------
+ $mod_file{$mod_id} = '/epoc32/data/epoc.ini';
+ $mod_oper{$mod_id} = 'replace';
+ $mod_srch{$mod_id} = 'configuration epoc_640x480.ini';
+ $mod_text{$mod_id} = '// configuration epoc_640x480.ini';
+ $mod_id++;
+
+
+ #STIF SPEEDUP
+ # -----------------------------------------------------------------------
+ $mod_file{$mod_id} = $stifroot.'/stif/ConsoleUI/src/ConsoleUI.cpp';
+ $mod_oper{$mod_id} = 'comment';
+ $mod_srch{$mod_id} =
+ ' RDebug::Print(_L("We have to wait until emulator is up & running"));
+ User::After(40000000);';
+ $mod_text{$mod_id} = '';
+ $mod_nodf{$mod_id} = 1; #NOKIATSY defs are not active in STIF
+ $mod_id++;
+
+
+ #TEST FRAMEWORK INI (create your own additions)
+ # -----------------------------------------------------------------------
+ #$mod_file = '/stif/Group/TestFrameWork.INI';
+ #$mod_file = '/epoc32/data/Z/System/Data/TestFrameWork.INI';
+ #$mod_file = '/epoc32/winscw/c/TestFramework/TestFrameWork.INI';
+ #$mod_file = '/epoc32/wins/c/TestFramework/TestFrameWork.INI';
+ #$mod_id++;
+
+##################### ADD NEW MODIFICATIONS HERE ######################
+
+
+ # NEW MOD TASK TEMPLATE
+ #$mod_file{$mod_id} = '/filepath';
+ #$mod_oper{$mod_id} = 'command'; #POSSIBLE KEYWORDS: ('afterany'|'replace'|'comment'|'addbelow')
+ #$mod_srch{$mod_id} = 'searched text (multiline is ok)';
+ #$mod_text{$mod_id} = 'text to be added (when relevant, otherwise leave empty)';
+ #$mod_id++;
+
+##################### END MODIFICATIONS HERE ######################
+ return ($mod_id);
+ }
+
+
+
+########### END SUBROUTINES ###########
+
+################### SCRIPT ENDS ###################
\ No newline at end of file