#!/usr/bin/perl
-
use POSIX qw(strftime);
use File::Copy;
use Socket;
# the default.
# -compileflags Next argument specifies extra options passed to make when
# building LLVM.
+# -use-gmake Use gmake instead of the default make command to build
+# llvm and run tests.
#
# ---------------- Options to configure llvm-test ----------------------------
# -extraflags Next argument specifies extra options that are passed to
$nickname="";
$NOTEST=0;
$NORUNNINGTESTS=0;
+$MAKECMD="make";
while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
shift;
if (/^-norunningtests$/) { $NORUNNINGTESTS = 1; next; }
if (/^-parallel$/) { $MAKEOPTS = "$MAKEOPTS -j2 -l3.0"; next; }
if (/^-release$/) { $MAKEOPTS = "$MAKEOPTS ENABLE_OPTIMIZED=1 ".
- "OPTIMIZE_OPTION=-O2"; next; }
+ "OPTIMIZE_OPTION=-O2";
+ $BUILDTYPE="release"; next; }
if (/^-enable-llcbeta$/) { $PROGTESTOPTS .= " ENABLE_LLCBETA=1"; next; }
if (/^-disable-llc$/) { $PROGTESTOPTS .= " DISABLE_LLC=1";
$CONFIGUREARGS .= " --disable-llc_diffs"; next; }
if (/^-f2c$/) {
$CONFIGUREARGS .= " --with-f2c=$ARGV[0]"; shift; next;
}
- if (/^-with-externals/) {
- $CONFIGUREARGS .= "--with-externals=$ARGV[0]"; shift; next;
+ if (/^-with-externals$/) {
+ $CONFIGUREARGS .= " --with-externals=$ARGV[0]"; shift; next;
}
if (/^-nickname$/) { $nickname = "$ARGV[0]"; shift; next; }
if (/^-gccpath/) { $CONFIGUREARGS .=
if (/^-compileflags/) {
$MAKEOPTS = "$MAKEOPTS $ARGV[0]"; shift; next;
}
+ if (/^-use-gmake/) {
+ $MAKECMD = "gmake"; shift; next;
+ }
if (/^-extraflags/) {
$PROGTESTOPTS .= " EXTRA_FLAGS=\'$ARGV[0]\'"; shift; next;
}
$CONFIGUREARGS .= " --enable-jit";
}
-die "Must specify 0 or 3 options!" if (@ARGV != 0 and @ARGV != 3);
+
+if (@ARGV != 0 and @ARGV != 3){
+ foreach $x (@ARGV){
+ print "$x\n";
+ }
+ print "Must specify 0 or 3 options!";
+}
if (@ARGV == 3) {
$CVSRootDir = $ARGV[0];
$WebDir = $ARGV[2];
}
+if($CVSRootDir eq "" or
+ $BuildDir eq "" or
+ $WebDir eq ""){
+ die("please specify a cvs root directory, a build directory, and a ".
+ "web directory");
+ }
+
if($nickname eq ""){
die ("Please invoke NewNightlyTest.pl with command line option \"-nickname <nickname>\"");
}
+if($BUILDTYPE ne "release"){
+ $BUILDTYPE = "debug";
+}
+
##############################################################
#
#define the file names we'll use
my ($dir,$name) = @_;
chomp($dir);
if ( $VERBOSE ) { print "Changing To: $name ($dir)\n"; }
- chdir($dir) || die "Cannot change directory to: $name ($dir) ";
+ $result = chdir($dir);
+ if(!$result){
+ print "ERROR!!! Cannot change directory to: $name ($dir) because $!";
+ return false;
+ }
+ return true;
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Getting Start timestamp
#
##############################################################
-$starttime = `date`;
+$starttime = `date "+20%y-%m-%d %H:%M:%S"`;
##############################################################
#
##############################################################
if (!$NOCHECKOUT && !$NOBUILD) {
my $EXTRAFLAGS = "--enable-spec --with-objroot=.";
- if ( $VERBOSE )
- {
+ if ( $VERBOSE ){
print "CONFIGURE STAGE:\n";
print "(time -p $NICE ./configure $CONFIGUREARGS $EXTRAFLAGS) > $BuildLog 2>&1\n";
}
system "(time -p $NICE ./configure $CONFIGUREARGS $EXTRAFLAGS) > $BuildLog 2>&1";
if ( $VERBOSE )
{
- print "BUILD STAGE:\n";
- print "(time -p $NICE make $MAKEOPTS) >> $BuildLog 2>&1\n";
+ print "BUILD STAGE:\n";
+ print "(time -p $NICE $MAKECMD $MAKEOPTS) >> $BuildLog 2>&1\n";
}
# Build the entire tree, capturing the output into $BuildLog
- system "(time -p $NICE make $MAKEOPTS) >> $BuildLog 2>&1";
+ system "(time -p $NICE $MAKECMD $MAKEOPTS) >> $BuildLog 2>&1";
}
$BuildStatus = "Skipped by user";
$BuildError = 1;
}
-elsif (`grep '^make[^:]*: .*Error' $BuildLog | wc -l` + 0 ||
- `grep '^make: \*\*\*.*Stop.' $BuildLog | wc -l`+0) {
+elsif (`grep '^$MAKECMD\[^:]*: .*Error' $BuildLog | wc -l` + 0 ||
+ `grep '^$MAKECMD: \*\*\*.*Stop.' $BuildLog | wc -l`+0) {
$BuildStatus = "Error: compilation aborted";
$BuildError = 1;
print "\n***ERROR BUILDING TREE\n\n";
}
if ($BuildError) { $NODEJAGNU=1; }
+my $a_file_sizes="";
+my $o_file_sizes="";
+if(!$BuildError){
+ if ( $VERBOSE ){
+ print "Organizing size of .o and .a files\n";
+ }
+ ChangeDir( "$BuildDir/llvm", "Build Directory" );
+ $afiles = `find . -iname '*.a' -ls`;
+ $ofiles = `find . -iname '*.o' -ls`;
+ @AFILES = split "\n", $afiles;
+ $a_file_sizes="";
+ foreach $x (@AFILES){
+ $x =~ m/.+\s+.+\s+.+\s+.+\s+.+\s+.+\s+(.+)\s+.+\s+.+\s+.+\s+(.+)/;
+ $a_file_sizes.="$1 $2 $BUILDTYPE\n";
+ }
+ @OFILES = split "\n", $ofiles;
+ $o_file_sizes="";
+ foreach $x (@OFILES){
+ $x =~ m/.+\s+.+\s+.+\s+.+\s+.+\s+.+\s+(.+)\s+.+\s+.+\s+.+\s+(.+)/;
+ $o_file_sizes.="$1 $2 $BUILDTYPE\n";
+ }
+}
+else{
+ $a_file_sizes="No data due to a bad build.";
+ $o_file_sizes="No data due to a bad build.";
+}
+
+
##############################################################
#
# Running dejagnu tests
if(!$NODEJAGNU) {
if($VERBOSE)
{
- print "DEJAGNU FEATURE/REGRESSION TEST STAGE:\n";
- print "(time -p make $MAKEOPTS check) > $dejagnu_output 2>&1\n";
+ print "DEJAGNU FEATURE/REGRESSION TEST STAGE:\n";
+ print "(time -p $MAKECMD $MAKEOPTS check) > $dejagnu_output 2>&1\n";
}
#Run the feature and regression tests, results are put into testrun.sum
#Full log in testrun.log
- system "(time -p make $MAKEOPTS check) > $dejagnu_output 2>&1";
+ system "(time -p $MAKECMD $MAKEOPTS check) > $dejagnu_output 2>&1";
#Copy the testrun.log and testrun.sum to our webdir
CopyFile("test/testrun.log", $DejagnuLog);
#
##############################################################
sub TestDirectory {
- my $SubDir = shift;
-
- ChangeDir( "projects/llvm-test/$SubDir", "Programs Test Subdirectory" );
-
- my $ProgramTestLog = "$Prefix-$SubDir-ProgramTest.txt";
- #my $ProgramTestLog = "$Prefix-MultiSource-ProgramTest.txt"; #CHANGE ME!
-
- # Run the programs tests... creating a report.nightly.csv file
- if (!$NOTEST) {
- print "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv "
- . "TEST=nightly > $ProgramTestLog 2>&1\n";
- system "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv "
- . "TEST=nightly > $ProgramTestLog 2>&1";
- $llcbeta_options=`make print-llcbeta-option`;
- }
+ my $SubDir = shift;
+
+ ChangeDir( "$BuildDir/llvm/projects/llvm-test/$SubDir", "Programs Test Subdirectory" ) || return ("", "");
+
+ my $ProgramTestLog = "$Prefix-$SubDir-ProgramTest.txt";
+
+ # Run the programs tests... creating a report.nightly.csv file
+ if (!$NOTEST) {
+ print "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv ".
+ "TEST=nightly > $ProgramTestLog 2>&1\n";
+ system "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv ".
+ "TEST=nightly > $ProgramTestLog 2>&1";
+ $llcbeta_options=`$MAKECMD print-llcbeta-option`;
+ }
- my $ProgramsTable;
- if (`grep '^make[^:]: .*Error' $ProgramTestLog | wc -l` + 0){
- $TestError = 1;
- $ProgramsTable="Error running test $SubDir\n";
- print "ERROR TESTING\n";
- } elsif (`grep '^make[^:]: .*No rule to make target' $ProgramTestLog | wc -l` + 0) {
- $TestError = 1;
- $ProgramsTable="Makefile error running tests $SubDir!\n";
- print "ERROR TESTING\n";
- } else {
- $TestError = 0;
+ my $ProgramsTable;
+ if (`grep '^$MAKECMD\[^:]: .*Error' $ProgramTestLog | wc -l` + 0){
+ $TestError = 1;
+ $ProgramsTable="Error running test $SubDir\n";
+ print "ERROR TESTING\n";
+ } elsif (`grep '^$MAKECMD\[^:]: .*No rule to make target' $ProgramTestLog | wc -l` + 0) {
+ $TestError = 1;
+ $ProgramsTable="Makefile error running tests $SubDir!\n";
+ print "ERROR TESTING\n";
+ } else {
+ $TestError = 0;
+ #
+ # Create a list of the tests which were run...
+ #
+ system "egrep 'TEST-(PASS|FAIL)' < $ProgramTestLog ".
+ "| sort > $Prefix-multisourceprogramstable.txt";
+ }
+ $ProgramsTable = ReadFile "report.nightly.csv";
- #
- # Create a list of the tests which were run...
- #
- system "egrep 'TEST-(PASS|FAIL)' < $ProgramTestLog "
- . "| sort > $Prefix-multisourceprogramstable.txt";
- }
- $ProgramsTable = ReadFile "report.nightly.csv";
-
- ChangeDir( "../../..", "Programs Test Parent Directory" );
- return ($ProgramsTable, $llcbeta_options);
+ ChangeDir( "../../..", "Programs Test Parent Directory" );
+ return ($ProgramsTable, $llcbeta_options);
}
-$patrickjenkins=1;
-if(!$patrickjenkins){
- if ( $VERBOSE ) {
- print "Modified Multisource Olden test stage\n";
- }
- ($MultiSourceProgramsTable, $multisource_llcbeta_options) = TestDirectory("MultiSource/");
- ChangeDir( "../../..", "Programs Test Parent Directory" );
-
-
- WriteFile "$WebDir/multisourceprogramstable.txt", $MultiSourceProgramsTable;
-}
-if (!$BuildError && $patrickjenkins) {
- if ( $VERBOSE ) {
- print "SingleSource TEST STAGE\n";
- }
- ($SingleSourceProgramsTable, $llcbeta_options) = TestDirectory("SingleSource");
- WriteFile "$Prefix-singlesourceprogramstable.txt", $SingleSourceProgramsTable;
- if ( $VERBOSE ) {
- print "MultiSource TEST STAGE\n";
- }
- ($MultiSourceProgramsTable, $llcbeta_options) = TestDirectory("MultiSource");
- WriteFile "$Prefix-multisourceprogramstable.txt", $MultiSourceProgramsTable;
- if ( ! $NOEXTERNALS ) {
+if (!$BuildError) {
if ( $VERBOSE ) {
- print "External TEST STAGE\n";
+ print "SingleSource TEST STAGE\n";
}
- ($ExternalProgramsTable, $llcbeta_options) = TestDirectory("External");
- WriteFile "$Prefix-externalprogramstable.txt", $ExternalProgramsTable;
- system "cat $Prefix-singlesourceprogramstable.txt $Prefix-multisourceprogramstable.txt ".
- " $Prefix-externalprogramstable.txt | sort > $Prefix-Tests.txt";
- } else {
- $ExternalProgramsTable = "External TEST STAGE SKIPPED\n";
+ ($SingleSourceProgramsTable, $llcbeta_options) = TestDirectory("SingleSource");
+ WriteFile "$Prefix-singlesourceprogramstable.txt", $SingleSourceProgramsTable;
+ ($MultiSourceProgramsTable, $llcbeta_options) = TestDirectory("MultiSource");
+ WriteFile "$Prefix-multisourceprogramstable.txt", $MultiSourceProgramsTable;
if ( $VERBOSE ) {
- print "External TEST STAGE SKIPPED\n";
+ print "MultiSource returned $MultiSourceProgramsTable\n";
}
- system "cat $Prefix-singlesourceprogramstable.txt $Prefix-multisourceprogramstable.txt ".
- " | sort > $Prefix-Tests.txt";
- }
- WriteFile "$Prefix-externalprogramstable.txt", $ExternalProgramsTable;
+ if ( ! $NOEXTERNALS ) {
+ if ( $VERBOSE ) {
+ print "External TEST STAGE\n";
+ }
+ ($ExternalProgramsTable, $llcbeta_options) = TestDirectory("External");
+ WriteFile "$Prefix-externalprogramstable.txt", $ExternalProgramsTable;
+ system "cat $Prefix-singlesourceprogramstable.txt $Prefix-multisourceprogramstable.txt ".
+ " $Prefix-externalprogramstable.txt | sort > $Prefix-Tests.txt";
+ } else {
+ $ExternalProgramsTable = "External TEST STAGE SKIPPED\n";
+ if ( $VERBOSE ) {
+ print "External TEST STAGE SKIPPED\n";
+ }
+ system "cat $Prefix-singlesourceprogramstable.txt $Prefix-multisourceprogramstable.txt ".
+ " | sort > $Prefix-Tests.txt";
+ }
+ WriteFile "$Prefix-externalprogramstable.txt", $ExternalProgramsTable;
}
##############################################################
#
#
##############################################################
-$dejagnu = ReadFile $DejagnuSum;
-@DEJAGNU = split "\n", $dejagnu;
+my $dejagnu = ReadFile $DejagnuSum;
+my @DEJAGNU = split "\n", $dejagnu;
my $passes="",
my $fails="";
my $xfails="";
-for($x=0; $x<@DEJAGNU; $x++){
- if($DEJAGNU[$x] =~ m/^PASS:/){
- $passes.="$DEJAGNU[$x]\n";
- }
- elsif($DEJAGNU[$x] =~ m/^FAIL:/){
- $fails.="$DEJAGNU[$x]\n";
- }
- elsif($DEJAGNU[$x] =~ m/^XFAIL:/){
- $xfails.="$DEJAGNU[$x]\n";
+if(!$NODEJAGNU) {
+ for($x=0; $x<@DEJAGNU; $x++){
+ if($DEJAGNU[$x] =~ m/^PASS:/){
+ $passes.="$DEJAGNU[$x]\n";
+ }
+ elsif($DEJAGNU[$x] =~ m/^FAIL:/){
+ $fails.="$DEJAGNU[$x]\n";
+ }
+ elsif($DEJAGNU[$x] =~ m/^XFAIL:/){
+ $xfails.="$DEJAGNU[$x]\n";
+ }
}
}
-# my ($TestsAdded, $TestsRemoved, $TestsFixed, $TestsBroken) = ("","","","");
-#
-# if ($TestError) {
-# $TestsAdded = "<b>error testing</b><br>";
-# $TestsRemoved = "<b>error testing</b><br>";
-# $TestsFixed = "<b>error testing</b><br>";
-# $TestsBroken = "<b>error testing</b><br>";
-# } else {
-# my ($RTestsAdded, $RTestsRemoved) = DiffFiles "-Tests.txt";
-#
-# my @RawTestsAddedArray = split '\n', $RTestsAdded;
-# my @RawTestsRemovedArray = split '\n', $RTestsRemoved;
-#
-# my %OldTests = map {GetRegex('TEST-....: (.+)', $_)=>$_}
-# @RawTestsRemovedArray;
-# my %NewTests = map {GetRegex('TEST-....: (.+)', $_)=>$_}
-# @RawTestsAddedArray;
-#
-# foreach $Test (keys %NewTests) {
-# if (!exists $OldTests{$Test}) { # TestAdded if in New but not old
-# $TestsAdded = "$TestsAdded$Test\n";
-# } else {
-# if ($OldTests{$Test} =~ /TEST-PASS/) { # Was the old one a pass?
-# $TestsBroken = "$TestsBroken$Test\n"; # New one must be a failure
-# } else {
-# $TestsFixed = "$TestsFixed$Test\n"; # No, new one is a pass.
-# }
-# }
-# }
-# foreach $Test (keys %OldTests) { # TestRemoved if in Old but not New
-# $TestsRemoved = "$TestsRemoved$Test\n" if (!exists $NewTests{$Test});
-# }
-#
-# #print "\nTESTS ADDED: \n\n$TestsAdded\n\n" if (length $TestsAdded);
-# #print "\nTESTS REMOVED:\n\n$TestsRemoved\n\n" if (length $TestsRemoved);
-# #print "\nTESTS FIXED: \n\n$TestsFixed\n\n" if (length $TestsFixed);
-# #print "\nTESTS BROKEN: \n\n$TestsBroken\n\n" if (length $TestsBroken);
-#
-# #$TestsAdded = AddPreTag $TestsAdded;
-# #$TestsRemoved = AddPreTag $TestsRemoved;
-# #$TestsFixed = AddPreTag $TestsFixed;
-# #$TestsBroken = AddPreTag $TestsBroken;
-# }
-
##############################################################
#
# If we built the tree successfully, runs of the Olden suite with
#
##############################################################
if (!$BuildError) {
- if ( $VERBOSE ) { print "OLDEN TEST SUITE STAGE\n"; }
- my ($NATTime, $CBETime, $LLCTime, $JITTime, $OptTime, $BytecodeSize,
- $MachCodeSize) = ("","","","","","","");
- if (!$NORUNNINGTESTS) {
- ChangeDir( "$BuildDir/llvm/projects/llvm-test/MultiSource/Benchmarks/Olden",
+ if ( $VERBOSE ) { print "OLDEN TEST SUITE STAGE\n"; }
+ my ($NATTime, $CBETime, $LLCTime, $JITTime, $OptTime, $BytecodeSize,
+ $MachCodeSize) = ("","","","","","","");
+ if (!$NORUNNINGTESTS) {
+ ChangeDir( "$BuildDir/llvm/projects/llvm-test/MultiSource/Benchmarks/Olden",
"Olden Test Directory");
- # Clean out previous results...
- system "$NICE make $MAKEOPTS clean > /dev/null 2>&1";
+ # Clean out previous results...
+ system "$NICE $MAKECMD $MAKEOPTS clean > /dev/null 2>&1";
- # Run the nightly test in this directory, with LARGE_PROBLEM_SIZE and
- # GET_STABLE_NUMBERS enabled!
- if( $VERBOSE ) { print "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
+ # Run the nightly test in this directory, with LARGE_PROBLEM_SIZE and
+ # GET_STABLE_NUMBERS enabled!
+ if( $VERBOSE ) { print "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
" LARGE_PROBLEM_SIZE=1 GET_STABLE_NUMBERS=1 > /dev/null 2>&1\n"; }
- system "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
+ system "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
" LARGE_PROBLEM_SIZE=1 GET_STABLE_NUMBERS=1 > /dev/null 2>&1";
system "cp report.nightly.csv $OldenTestsLog";
- } #else {
- #system "gunzip ${OldenTestsLog}.gz";
- #}
-
- # Now we know we have $OldenTestsLog as the raw output file. Split
- # it up into records and read the useful information.
- #my @Records = split />>> ========= /, ReadFile "$OldenTestsLog";
- #shift @Records; # Delete the first (garbage) record
-
- # Loop over all of the records, summarizing them into rows for the running
- # totals file.
- #my $WallTimeRE = "Time: ([0-9.]+) seconds \\([0-9.]+ wall clock";
- #foreach $Rec (@Records) {
- #my $rNATTime = GetRegex 'TEST-RESULT-nat-time: program\s*([.0-9m]+)', $Rec;
- #my $rCBETime = GetRegex 'TEST-RESULT-cbe-time: program\s*([.0-9m]+)', $Rec;
- #my $rLLCTime = GetRegex 'TEST-RESULT-llc-time: program\s*([.0-9m]+)', $Rec;
- #my $rJITTime = GetRegex 'TEST-RESULT-jit-time: program\s*([.0-9m]+)', $Rec;
- #my $rOptTime = GetRegex "TEST-RESULT-compile: .*$WallTimeRE", $Rec;
- #my $rBytecodeSize = GetRegex 'TEST-RESULT-compile: *([0-9]+)', $Rec;
-
- #$NATTime .= " " . FormatTime($rNATTime);
- #$CBETime .= " " . FormatTime($rCBETime);
- #$LLCTime .= " " . FormatTime($rLLCTime);
- #$JITTime .= " " . FormatTime($rJITTime);
- #$OptTime .= " $rOptTime";
- #$BytecodeSize .= " $rBytecodeSize";
- #}
- #
- # Now that we have all of the numbers we want, add them to the running totals
- # files.
- #AddRecord($NATTime, "running_Olden_nat_time.txt", $WebDir);
- #AddRecord($CBETime, "running_Olden_cbe_time.txt", $WebDir);
- #AddRecord($LLCTime, "running_Olden_llc_time.txt", $WebDir);
- #AddRecord($JITTime, "running_Olden_jit_time.txt", $WebDir);
- #AddRecord($OptTime, "running_Olden_opt_time.txt", $WebDir);
- #AddRecord($BytecodeSize, "running_Olden_bytecode.txt", $WebDir);
+ }
}
##############################################################
# Getting end timestamp
#
##############################################################
-$endtime = `date`;
+$endtime = `date "+20%y-%m-%d %H:%M:%S"`;
##############################################################
}
else{
$gcc_version_long = `gcc --version`;
- print "gcc --version\n";
}
@GCC_VERSION = split '\n', $gcc_version_long;
my $gcc_version = $GCC_VERSION[0];
-$all_tests = ReadFile, "$Prefix-Tests.txt";
+my $all_tests = ReadFile, "$Prefix-Tests.txt";
##############################################################
#
my $host = "llvm.org";
my $file = "/nightlytest/NightlyTestAccept.cgi";
my %hash_of_data = ('machine_data' => $machine_data,
- 'build_data' => $build_data,
- 'gcc_version' => $gcc_version,
- 'nickname' => $nickname,
- 'dejagnutime_wall' => $DejagnuWallTime,
- 'dejagnutime_cpu' => $DejagnuTime,
- 'cvscheckouttime_wall' => $CVSCheckoutTime_Wall,
- 'cvscheckouttime_cpu' => $CVSCheckoutTime_CPU,
- 'configtime_wall' => $ConfigWallTime,
- 'configtime_cpu'=> $ConfigTime,
- 'buildtime_wall' => $BuildWallTime,
- 'buildtime_cpu' => $BuildTime,
- 'warnings' => $WarningsFile,
- 'cvsusercommitlist' => $UserCommitList,
- 'cvsuserupdatelist' => $UserUpdateList,
- 'cvsaddedfiles' => $CVSAddedFiles,
- 'cvsmodifiedfiles' => $CVSModifiedFiles,
- 'cvsremovedfiles' => $CVSRemovedFiles,
- 'lines_of_code' => $LOC,
- 'cvs_file_count' => $NumFilesInCVS,
- 'cvs_dir_count' => $NumDirsInCVS,
- 'buildstatus' => $BuildStatus,
- 'singlesource_programstable' => $SingleSourceProgramsTable,
- 'multisource_programstable' => $MultiSourceProgramsTable,
- 'externalsource_programstable' => $ExternalProgramsTable,
- 'llcbeta_options' => $multisource_llcbeta_options,
- 'warnings_removed' => $WarningsRemoved,
- 'warnings_added' => $WarningsAdded,
- 'passing_tests' => $passes,
- 'expfail_tests' => $xfails,
- 'unexpfail_tests' => $fails,
- 'all_tests' => $all_tests,
- 'new_tests' => "",
- 'removed_tests' => "",
- 'dejagnutests_log' => $dejagnutests_log,
- 'dejagnutests_sum' => $dejagnutests_sum,
- 'starttime' => $starttime,
- 'endtime' => $endtime);
+ 'build_data' => $build_data,
+ 'gcc_version' => $gcc_version,
+ 'nickname' => $nickname,
+ 'dejagnutime_wall' => $DejagnuWallTime,
+ 'dejagnutime_cpu' => $DejagnuTime,
+ 'cvscheckouttime_wall' => $CVSCheckoutTime_Wall,
+ 'cvscheckouttime_cpu' => $CVSCheckoutTime_CPU,
+ 'configtime_wall' => $ConfigWallTime,
+ 'configtime_cpu'=> $ConfigTime,
+ 'buildtime_wall' => $BuildWallTime,
+ 'buildtime_cpu' => $BuildTime,
+ 'warnings' => $WarningsFile,
+ 'cvsusercommitlist' => $UserCommitList,
+ 'cvsuserupdatelist' => $UserUpdateList,
+ 'cvsaddedfiles' => $CVSAddedFiles,
+ 'cvsmodifiedfiles' => $CVSModifiedFiles,
+ 'cvsremovedfiles' => $CVSRemovedFiles,
+ 'lines_of_code' => $LOC,
+ 'cvs_file_count' => $NumFilesInCVS,
+ 'cvs_dir_count' => $NumDirsInCVS,
+ 'buildstatus' => $BuildStatus,
+ 'singlesource_programstable' => $SingleSourceProgramsTable,
+ 'multisource_programstable' => $MultiSourceProgramsTable,
+ 'externalsource_programstable' => $ExternalProgramsTable,
+ 'llcbeta_options' => $multisource_llcbeta_options,
+ 'warnings_removed' => $WarningsRemoved,
+ 'warnings_added' => $WarningsAdded,
+ 'passing_tests' => $passes,
+ 'expfail_tests' => $xfails,
+ 'unexpfail_tests' => $fails,
+ 'all_tests' => $all_tests,
+ 'new_tests' => "",
+ 'removed_tests' => "",
+ 'dejagnutests_log' => $dejagnutests_log,
+ 'dejagnutests_sum' => $dejagnutests_sum,
+ 'starttime' => $starttime,
+ 'endtime' => $endtime,
+ 'o_file_sizes' => $o_file_sizes,
+ 'a_file_sizes' => $a_file_sizes);
$TESTING = 0;