--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgtest/targetautomation/Script/autoprep.pl Wed Nov 03 22:41:46 2010 +0530
@@ -0,0 +1,174 @@
+# 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 "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:
+#
+
+#!perl
+# -----------------------------------------------------------------
+
+sub load_default_bat {
+ unless (open DEFAULT_BAT, $default_bat_file) {
+ die "ERROR: Cannot open default batch file: $!";
+ }
+ @default_bat = <DEFAULT_BAT>;
+ close DEFAULT_BAT;
+}
+
+# -----------------------------------------------------------------
+
+sub create_default_cleanup {
+ if (@default_clean == 0) {
+ unless (open DEFAULT_CLEAN, "DEFAULTCLEAN.TXT") {
+ die "ERROR: Cannot open default cleanup batch file: $!";
+ }
+ @default_clean = <DEFAULT_CLEAN>;
+ close DEFAULT_CLEAN;
+ }
+ $file_name = "\\epoc32\\data\\z\\system\\msgtest\\$_[0]\\T_$_[1]_CLEANUP_FROM_TEST.BAT";
+ unless (open NEW_CLEAN, ">$file_name") {
+ die "ERROR: Could not create cleanup batch file: $!";
+ }
+ print NEW_CLEAN @default_clean;
+ close NEW_CLEAN;
+}
+
+# -----------------------------------------------------------------
+
+sub auto_create_bat {
+ # check for existance of bat file, if not present, create
+ $file_name = "\\epoc32\\data\\z\\system\\msgtest\\$_[0]\\$_[1].BAT";
+ unless (open NEW_BAT, $file_name) {
+ unless (open NEW_BAT, ">$file_name") {
+ die "ERROR: Could not create batch file: $!";
+ }
+ @auto_bat = @default_bat;
+ foreach (@auto_bat) {
+ s/\@HARNESSNAME@/$_[1]/;
+ }
+ print NEW_BAT @auto_bat;
+ print "$file_name created.\n";
+ }
+ close NEW_BAT;
+}
+
+# -----------------------------------------------------------------
+
+sub add_to_ibybat {
+ $file_name = "T_$_[0]_$_[1]_TEST.BAT";
+ print HARNESSIBY "data=\\epoc32\\data\\z\\system\\msgtest\\BUILD_DIR\\$file_name System\\MsgTest\\$file_name\n";
+ print AUTOEXECUDEB "$file_name\n";
+ print AUTOEXECUDEB $change_dir;
+ print AUTOEXECUREL "$file_name\n";
+ print AUTOEXECUDEB $change_dir;
+}
+
+# -----------------------------------------------------------------
+
+die "ERROR: Bad arguments\n\n" if (@ARGV!=2);
+
+$default_bat_file = $ARGV[1];
+pop @ARGV;
+
+&load_default_bat();
+
+unless (open HARNESSIBY, ">\\epoc32\\rom\\include\\MsgTestHarnesses.iby") {
+ die "ERROR: Cannot create MSGTESTHARNESSES.IBY file: $!";
+}
+print HARNESSIBY "REM\nREM Copyright © 2002 Symbian Ltd. All rights reserved.\nREM\n\n";
+print HARNESSIBY "data=\\epoc32\\data\\z\\system\\msgtest\\BUILD_DIR\\AUTOEXEC.BAT AUTOEXEC.BAT\n\n";
+
+
+$change_dir = "z:\ncd \\system\\msgtest\n";
+unless (open AUTOEXECUDEB, ">\\epoc32\\data\\z\\system\\msgtest\\udeb\\AUTOEXEC.BAT") {
+ die "ERROR: Cannot create file: $!";
+}
+print AUTOEXECUDEB $change_dir;
+
+unless (open AUTOEXECUREL, ">\\epoc32\\data\\z\\system\\msgtest\\urel\\AUTOEXEC.BAT") {
+ die "ERROR: Cannot create file: $!";
+}
+print AUTOEXECUREL $change_dir;
+
+while (<>) {
+ chomp;
+ # remove comments
+ @fields = split /#/, $_;
+ $_ = $fields[0];
+ next if ("");
+
+ # check for a COMPONENT line
+ if (/COMPONENT/i) {
+ # add cleanup stage for previous component AUTOEXEC file(s)...
+ &add_to_ibybat($component,"CLEANUP_FROM") if ($start_located);
+
+ # expect line of this form: COMPONENT <COMPONENT_NAME>
+ @fields = split;
+ $component = $fields[1];
+ print HARNESSIBY "\nREM $component\n\n#include <T_$component.IBY>\n";
+ print "COMPONENT: $component.\n";
+
+ &create_default_cleanup("UREL", $component);
+ &create_default_cleanup("UDEB", $component);
+
+ # add preparation stage to AUTOEXEC file(s).
+ &add_to_ibybat($component,"PREPARE_FOR");
+ $start_located = 1;
+ next;
+ }
+
+ # check for a test harness line
+ if ((/UREL|UDEB/i) && defined($start_located)) {
+ @fields = split;
+ $test_harness = $fields[0];
+ $test_harness_iby = $test_harness . ".IBY";
+ $test_harness_bat = $test_harness . ".BAT";
+
+ # add to iby
+ print HARNESSIBY "data=\\epoc32\\data\\z\\system\\msgtest\\BUILD_DIR\\$test_harness_bat System\\MsgTest\\$test_harness_bat\n";
+
+ &auto_create_bat("urel",$test_harness);
+ &auto_create_bat("udeb",$test_harness);
+
+ if (/UREL/si) {
+ print AUTOEXECUREL "$test_harness_bat\n";
+ print AUTOEXECUREL $change_dir;
+ print AUTOEXECUREL "T_SERIALLOG c:\\MsgLogs\\$test_harness.THUMB.REL.LOG\n";
+ }
+
+ if (/UDEB/si) {
+ print AUTOEXECUDEB "$test_harness_bat\n";
+ print AUTOEXECUDEB $change_dir;
+#### print AUTOEXECUDEB "T_SERIALLOG d:\\MsgLogs\\$test_harness.THUMB.DEB.LOG\n";
+ }
+# print $_ . "\n";
+ }
+
+}
+
+if (defined($component)) {
+ &add_to_ibybat($component,"CLEANUP_FROM");
+}
+
+close HARNESSIBY;
+
+print AUTOEXECUREL $change_dir;
+print AUTOEXECUREL "T_SERIALLOG TERMINATE\n";
+print AUTOEXECUREL "T_SERIALLOG TERMINATE\n";
+close AUTOEXECUREL;
+
+print AUTOEXECUDEB $change_dir;
+####print AUTOEXECUDEB "T_SERIALLOG TERMINATE\n";
+####print AUTOEXECUDEB "T_SERIALLOG TERMINATE\n";
+close AUTOEXECUDEB;
+
+print "Automatic preparation completed.\n";