mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
* Split the programs table into MultiSource and SingleSource components
* Instead of printing the time to configure as the build time, print the time to configure AND the build time, explicitly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7942 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e928d7dcc5
commit
bf6a4dcf2d
@ -158,6 +158,12 @@ if (!$NOCHECKOUT) {
|
||||
}
|
||||
|
||||
|
||||
sub GetRegexNum {
|
||||
my ($Regex, $Num, $Regex2, $File) = @_;
|
||||
my @Items = split "\n", `grep '$Regex' $File`;
|
||||
return GetRegex $Regex2, $Items[$Num];
|
||||
}
|
||||
|
||||
#
|
||||
# Get some statistics about the build...
|
||||
#
|
||||
@ -165,10 +171,17 @@ my @Linked = split '\n', `grep Linking $Prefix-Build-Log.txt`;
|
||||
my $NumExecutables = scalar(grep(/executable/, @Linked));
|
||||
my $NumLibraries = scalar(grep(!/executable/, @Linked));
|
||||
my $NumObjects = `grep '^Compiling' $Prefix-Build-Log.txt | wc -l` + 0;
|
||||
my $BuildTimeU = GetRegex "([0-9.]+)", `grep '^user' $Prefix-Build-Log.txt`;
|
||||
my $BuildTimeS = GetRegex "([0-9.]+)", `grep '^sys' $Prefix-Build-Log.txt`;
|
||||
my $BuildWallTime = GetRegex "([0-9.]+)", `grep '^real' $Prefix-Build-Log.txt`;
|
||||
|
||||
my $ConfigTimeU = GetRegexNum "^user", 0, "([0-9.]+)", "$Prefix-Build-Log.txt";
|
||||
my $ConfigTimeS = GetRegexNum "^sys", 0, "([0-9.]+)", "$Prefix-Build-Log.txt";
|
||||
my $ConfigTime = $BuildTimeU+$BuildTimeS; # ConfigTime = User+System
|
||||
my $ConfigWallTime = GetRegexNum "^real", 0,"([0-9.]+)","$Prefix-Build-Log.txt";
|
||||
|
||||
my $BuildTimeU = GetRegexNum "^user", 1, "([0-9.]+)", "$Prefix-Build-Log.txt";
|
||||
my $BuildTimeS = GetRegexNum "^sys", 1, "([0-9.]+)", "$Prefix-Build-Log.txt";
|
||||
my $BuildTime = $BuildTimeU+$BuildTimeS; # BuildTime = User+System
|
||||
my $BuildWallTime = GetRegexNum "^real", 1, "([0-9.]+)","$Prefix-Build-Log.txt";
|
||||
|
||||
my $BuildError = "";
|
||||
if (`grep '^gmake[^:]*: .*Error' $Prefix-Build-Log.txt | wc -l` + 0) {
|
||||
$BuildError = "<h3>Build error: compilation <a href=\"$DATE-Build-Log.txt\">"
|
||||
@ -253,24 +266,29 @@ my $ModifiedFilesList = AddPreTag join "\n", sort keys %ModifiedFiles;
|
||||
my $RemovedFilesList = AddPreTag join "\n", sort keys %RemovedFiles;
|
||||
|
||||
my $TestError = 1;
|
||||
my $ProgramsTable;
|
||||
my $SingleSourceProgramsTable;
|
||||
my $MultiSourceProgramsTable;
|
||||
|
||||
# If we build the tree successfully, the nightly programs tests...
|
||||
if ($BuildError eq "") {
|
||||
chdir "test/Programs" or die "Could not change into programs testdir!";
|
||||
|
||||
sub TestDirectory {
|
||||
my $SubDir = shift;
|
||||
|
||||
chdir "test/Programs/$SubDir" or
|
||||
die "Could not change into test/Programs/$SubDir testdir!";
|
||||
|
||||
# Run the programs tests... creating a report.nightly.html file
|
||||
if (!$NOTEST) {
|
||||
system "gmake $MAKEOPTS report.nightly.html TEST=nightly "
|
||||
. "RUNTIMELIMIT=300 > $Prefix-ProgramTest.txt 2>&1";
|
||||
. "RUNTIMELIMIT=300 > $Prefix-$SubDir-ProgramTest.txt 2>&1";
|
||||
} else {
|
||||
system "gunzip $Prefix-ProgramTest.txt.gz";
|
||||
system "gunzip $Prefix-$SubDir-ProgramTest.txt.gz";
|
||||
}
|
||||
|
||||
if (`grep '^gmake: .*Error' $Prefix-ProgramTest.txt | wc -l` + 0) {
|
||||
my $ProgramsTable;
|
||||
if (`grep '^gmake: .*Error' $Prefix-$SubDir-ProgramTest.txt | wc -l` + 0) {
|
||||
$TestError = 1;
|
||||
$ProgramsTable = "<font color=white><h2>Error running tests!</h2></font>";
|
||||
} elsif (`grep '^gmake: .*No rule to make target' $Prefix-ProgramTest.txt | wc -l` + 0) {
|
||||
} elsif (`grep '^gmake: .*No rule to make target' $Prefix-$SubDir-ProgramTest.txt | wc -l` + 0) {
|
||||
$TestError = 1;
|
||||
$ProgramsTable =
|
||||
"<font color=white><h2>Makefile error running tests!</h2></font>";
|
||||
@ -281,12 +299,21 @@ if ($BuildError eq "") {
|
||||
#
|
||||
# Create a list of the tests which were run...
|
||||
#
|
||||
system "egrep 'TEST-(PASS|FAIL)' < $Prefix-ProgramTest.txt "
|
||||
. "| sort > $Prefix-Tests.txt";
|
||||
system "egrep 'TEST-(PASS|FAIL)' < $Prefix-$SubDir-ProgramTest.txt "
|
||||
. "| sort > $Prefix-$SubDir-Tests.txt";
|
||||
}
|
||||
|
||||
# Compress the test output
|
||||
system "gzip -f $Prefix-ProgramTest.txt";
|
||||
system "gzip -f $Prefix-$SubDir-ProgramTest.txt";
|
||||
chdir "../../.." or die "Cannot return to parent directory!";
|
||||
return $ProgramsTable;
|
||||
}
|
||||
|
||||
# If we build the tree successfully, the nightly programs tests...
|
||||
if ($BuildError eq "") {
|
||||
$SingleSourceProgramsTable = TestDirectory("SingleSource");
|
||||
$MultiSourceProgramsTable = TestDirectory("MultiSource");
|
||||
system "cat $Prefix-SingleSource-Tests.txt $Prefix-MultiSource-Tests.txt > $Prefix-$SubDir-Tests.txt";
|
||||
}
|
||||
|
||||
my ($TestsAdded, $TestsRemoved, $TestsFixed, $TestsBroken) = ("","","","");
|
||||
|
@ -52,6 +52,8 @@
|
||||
<li><a href="$DATE-Build-Log.txt">Compilation Log</a>
|
||||
<ul>
|
||||
$BuildError
|
||||
Time to configure CVS tree: <b>$ConfigTime</b> seconds
|
||||
(<b>$ConfigWallTime</b> seconds wall time)<br>
|
||||
Time to build CVS tree: <b>$BuildTime</b> seconds
|
||||
(<b>$BuildWallTime</b> seconds wall time)<br>
|
||||
Number of object files compiled: <b>$NumObjects</b><br>
|
||||
@ -154,11 +156,16 @@ for further analysis.
|
||||
|
||||
<center>
|
||||
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
|
||||
$ProgramsTable
|
||||
$MultiSourceProgramsTable
|
||||
</td></tr></table></center>
|
||||
|
||||
<h2>Programs/SingleSource</h2>
|
||||
|
||||
<center>
|
||||
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
|
||||
$SingleSourceProgramsTable
|
||||
</td></tr></table></center>
|
||||
|
||||
|
||||
|
||||
<br><br><center>
|
||||
|
Loading…
Reference in New Issue
Block a user