X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FNewNightlyTest.pl;h=447165fd613d735cfd92deea23395173e90c67b9;hb=180c1691c7fd79e2376bdd59e962d190607e20fa;hp=9b802efca55576a7007819fedfacdb35b333e12d;hpb=eecd71151c62e24d4d074fba9ff8cbd452bc1f96;p=oota-llvm.git diff --git a/utils/NewNightlyTest.pl b/utils/NewNightlyTest.pl index 9b802efca55..447165fd613 100755 --- a/utils/NewNightlyTest.pl +++ b/utils/NewNightlyTest.pl @@ -35,6 +35,7 @@ use Socket; # -disable-llc Disable LLC tests in the nightly tester. # -disable-jit Disable JIT tests in the nightly tester. # -disable-cbe Disable C backend tests in the nightly tester. +# -disable-lto Disable link time optimization. # -verbose Turn on some debug output # -debug Print information useful only to maintainers of this script. # -nice Checkout/Configure/Build with "nice" to reduce impact @@ -45,10 +46,8 @@ use Socket; # -gccpath Path to gcc/g++ used to build LLVM # -cvstag Check out a specific CVS tag to build LLVM (useful for # testing release branches) -# -usesvn Check code out from a subversion repository. -# -svnurl Specify the SVN URL where LLVM can be found. Needs -usesvn -# to be useful. If -svnurl is not used but -usesvn is then -# the standard (UIUC) repository will be used. +# -usecvs Check code out from the (old) CVS Repository instead of from +# the standard Subversion repository. # -target Specify the target triplet # -cflags Next argument specifies that C compilation options that # override the default. @@ -75,6 +74,7 @@ use Socket; # this option is not specified it defaults to # /nightlytest/NightlyTestAccept.php. This is basically # everything after the www.yourserver.org. +# -nosubmit Do not report the test results back to a submit server. # # CVSROOT is the CVS repository from which the tree will be checked out, # specified either in the full :method:user@host:/dir syntax, or @@ -127,6 +127,7 @@ $NORUNNINGTESTS=0; $MAKECMD="make"; $SUBMITSERVER = "llvm.org"; $SUBMITSCRIPT = "/nightlytest/NightlyTestAccept.php"; +$SUBMIT = 1; while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { shift; @@ -154,6 +155,8 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { if (/^-disable-jit$/) { $PROGTESTOPTS .= " DISABLE_JIT=1"; $CONFIGUREARGS .= " --disable-jit"; next; } if (/^-disable-cbe$/) { $PROGTESTOPTS .= " DISABLE_CBE=1"; next; } + if (/^-disable-lto$/) { $PROGTESTOPTS .= " DISABLE_LTO=1"; next; } + if (/^-test-opts$/) { $PROGTESTOPTS .= " $ARGV[0]"; shift; next; } if (/^-verbose$/) { $VERBOSE = 1; next; } if (/^-debug$/) { $DEBUG = 1; next; } if (/^-nice$/) { $NICE = "nice "; next; } @@ -163,6 +166,7 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { shift; next; } if (/^-submit-server/) { $SUBMITSERVER = "$ARGV[0]"; shift; next; } if (/^-submit-script/) { $SUBMITSCRIPT = "$ARGV[0]"; shift; next; } + if (/^-nosubmit$/) { $SUBMIT = 0; next; } if (/^-nickname$/) { $nickname = "$ARGV[0]"; shift; next; } if (/^-gccpath/) { $CONFIGUREARGS .= " CC=$ARGV[0]/gcc CXX=$ARGV[0]/g++"; @@ -170,7 +174,7 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { else { $GCCPATH=""; } if (/^-cvstag/) { $CVSCOOPT .= " -r $ARGV[0]"; shift; next; } else { $CVSCOOPT="";} - if (/^-svnurl/) { $SVNURL = $ARGV[0]; shift; next; } + if (/^-usecvs/) { $USESVN = 0; } if (/^-target/) { $CONFIGUREARGS .= " --target=$ARGV[0]"; shift; next; } if (/^-cflags/) { $MAKEOPTS = "$MAKEOPTS C.Flags=\'$ARGV[0]\'"; @@ -513,24 +517,24 @@ ChangeDir( $BuildDir, "checkout directory" ); # ############################################################## if (!$NOCHECKOUT) { - if ( $VERBOSE ) { - print "CHECKOUT STAGE:\n"; - } + if ( $VERBOSE ) { print "CHECKOUT STAGE:\n"; } if ($USESVN) { my $SVNCMD = "$NICE svn co $SVNURL"; if ($VERBOSE) { print "( time -p $SVNCMD/llvm/trunk llvm; cd llvm/projects ; " . "$SVNCMD/test-suite/trunk llvm-test ) > $COLog 2>&1\n"; - system "( time -p $SVNCMD/llvm/trunk llvm; cd llvm/projects ; " . - "$SVNCMD/test-suite/trunk llvm-test ) > $COLog 2>&1\n"; } + system "( time -p $SVNCMD/llvm/trunk llvm; cd llvm/projects ; " . + "$SVNCMD/test-suite/trunk llvm-test ) > $COLog 2>&1\n"; } else { my $CVSOPT = ""; $CVSOPT = "-z3" # Use compression if going over ssh. if $CVSRootDir =~ /^:ext:/; my $CVSCMD = "$NICE cvs $CVSOPT -d $CVSRootDir co -P $CVSCOOPT"; - print "( time -p $CVSCMD llvm; cd llvm/projects ; " . - "$CVSCMD llvm-test ) > $COLog 2>&1\n"; + if ($VERBOSE) { + print "( time -p $CVSCMD llvm; cd llvm/projects ; " . + "$CVSCMD llvm-test ) > $COLog 2>&1\n"; + } system "( time -p $CVSCMD llvm; cd llvm/projects ; " . "$CVSCMD llvm-test ) > $COLog 2>&1\n"; } @@ -554,7 +558,7 @@ my $NumFilesInCVS = 0; my $NumDirsInCVS = 0; if ($USESVN) { $NumFilesInCVS = `egrep '^A' $COLog | wc -l` + 0; - $NumDirsInCVS = `sed -e 's#/[^/]*$##' $COLog | sort | uniq | wc -l` + 0; + $NumDirsInCVS = `sed -e 's#/[^/]*\$##' $COLog | sort | uniq | wc -l` + 0; } else { $NumFilesInCVS = `egrep '^U' $COLog | wc -l` + 0; $NumDirsInCVS = `egrep '^cvs (checkout|server|update):' $COLog | wc -l` + 0; @@ -739,7 +743,6 @@ $BuildWallTime=-1 unless $BuildWallTime; my $BuildError = 0, $BuildStatus = "OK"; if ($NOBUILD) { $BuildStatus = "Skipped by user"; - $BuildError = 1; } elsif (`grep '^$MAKECMD\[^:]*: .*Error' $BuildLog | wc -l` + 0 || `grep '^$MAKECMD: \*\*\*.*Stop.' $BuildLog | wc -l`+0) { @@ -1135,16 +1138,14 @@ my %hash_of_data = ( 'target_triple' => $targetTriple ); -$TESTING = 0; - -if ($TESTING) { +if ($SUBMIT) { + my $response = SendData $SUBMITSERVER,$SUBMITSCRIPT,\%hash_of_data; + if( $VERBOSE) { print "============================\n$response"; } +} else { print "============================\n"; foreach $x(keys %hash_of_data){ print "$x => $hash_of_data{$x}\n"; } -} else { - my $response = SendData $SUBMITSERVER,$SUBMITSCRIPT,\%hash_of_data; - if( $VERBOSE) { print "============================\n$response"; } } ##############################################################