tools/tests/win32/apprunner.pl
author Neil Deakin <neil@mozilla.com>
Wed, 10 Jun 2009 14:00:39 -0400
changeset 29018 cabb8925dcd3d831a244b01e0a37c29b8793c77b
parent 1 9b2a99adc05e53cd4010de512f50118594756650
permissions -rw-r--r--
Bug 178324, refactor focus by moving all focus handling into one place and simplifying it, add many tests, fixes many other bugs too numerous to mention in this small checkin comment, r=josh,smichaud,ere,dbaron,marco,neil,gavin,smaug,sr=smaug (CLOSED TREE)

#!/perl/bin/perl

@ARGV;
$BaseDir = $ARGV[0];
#print ($BaseDir, "\n");
#############################################

open (REPORT_FILE, '>report.html');
#open (XUL_FILE, '< c:\program files\netscape\seamonkey\x86rel\res\samples\navigator.xul') || die "cannot open hardcode path \n";
$NavXul = $BaseDir . '\res\samples\navigator.xul';
print ($NavXul, "\n");
open (XUL_FILE, "< $NavXul") || die "cannot open $NavXul";

$BuildNo = "";
$LineList;
while (<XUL_FILE>)
{
	$ThisLine = $_;
	chop ($ThisLine);
	if (/Build ID/)
	{
		@LineList = split (/ /, $ThisLine);
		$BuildNo = $LineList[3];
	}
}
$BuildNo =~ s/"/ /g;

($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)= localtime;
%weekday= (
       "1", "$day",
       '2', 'Tuesday',
       '3', 'Wednesday',
       '4', 'Thursday',
       '5', 'Friday',
       '6', 'Saturday',
       '7', 'Sunday',
);
$mon += 1;
print (REPORT_FILE "<HTML><HEAD><TITLE>Smoke Test Report File </TITLE></HEAD>\n");
print (REPORT_FILE "<BODY>\n");
print (REPORT_FILE "<H1><CENTER> Seamonkey Build Smoke Tests Report\n");
print (REPORT_FILE "<BR>\n");
print (REPORT_FILE "Win32</CENTER></H1>\n");
print (REPORT_FILE "<BR>\n");
print (REPORT_FILE "<B><CENTER>\n");
print (REPORT_FILE "<BR>\n");
print (REPORT_FILE "$weekday{$wday} $mon/$mday/19$year  ");
printf (REPORT_FILE "%02d:%02d:%02d", $hour,$min,$sec);
print (REPORT_FILE "</B></CENTER>\n");
print (REPORT_FILE "<BR>\n");
print (REPORT_FILE "<B><CENTER>\n");
print (REPORT_FILE "Build Number: $BuildNo");
print (REPORT_FILE "</CENTER></B>\n");
print (REPORT_FILE "<BR>\n");
print (REPORT_FILE "<HR>\n");

#############################################

open (STDOUT, ">log.txt");
select STDOUT; $| =1;

$temp = $BaseDir;
$temp =~ s/\\/\\\\/g;
use Win32::Process;
use Win32;
$cmdLine = "apprunner";
Win32::Process::Create($ProcessObj,
#				"c:\\program files\\netscape\\seamonkey\\x86rel\\apprunner.exe",
				"$temp.\\apprunner.exe",
				$cmdLine,
                         1,
                         NORMAL_PRIORITY_CLASS,
#                         "c:\\program files\\netscape\\seamonkey\\x86rel\\");
                         "$temp");

#print APPRUNNER_LOG $_;
sleep (30);
$ProcessObj->GetExitCode( $ExitCode );
$ProcessObj->Kill( $ExitCode );
close (STDOUT);

#############################################

print (REPORT_FILE "<B><CENTER><font size=+2>\n");
print (REPORT_FILE "Launch Apprunner Results");
print (REPORT_FILE "</font></CENTER></B>\n");

$count = 0;
open (APP_LOG_FILE, '< log.txt');
while (<APP_LOG_FILE>)
{
	$ThisLine = $_;
	chop ($ThisLine);
	if (/loaded successfully/)
	{
		#print (REPORT_FILE "<B>\n");
		#print (REPORT_FILE "$ThisLine");
		#print (REPORT_FILE "</B>\n");
		#print (REPORT_FILE "<BR>\n");
		$count = $count + 1;	
	}
}
if ($count >= 1)
{
	print (REPORT_FILE "<B><Center>\n");
	print (REPORT_FILE "Apprunner Loaded Successfully");
	print (REPORT_FILE "</B></Center>\n");
	print (REPORT_FILE "<BR>\n");
}
else
{
	print (REPORT_FILE "<B><Center>\n");
	print (REPORT_FILE "Apprunner NOT Loaded Successfully");
	print (REPORT_FILE "</B></Center>\n");
	print (REPORT_FILE "<BR>\n");
}
close (APP_LOG_FILE);

#########################################

close (REPORT_FILE);