# -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
# -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.
# 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
$CONFIGUREARGS="";
$nickname="";
$NOTEST=0;
-$USESVN=0;
+$USESVN=1;
$NORUNNINGTESTS=0;
$MAKECMD="make";
$SUBMITSERVER = "llvm.org";
$SUBMITSCRIPT = "/nightlytest/NightlyTestAccept.php";
+$SUBMIT = 1;
while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
shift;
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; }
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++";
else { $GCCPATH=""; }
if (/^-cvstag/) { $CVSCOOPT .= " -r $ARGV[0]"; shift; next; }
else { $CVSCOOPT="";}
- if (/^-usesvn/) { $USESVN = 1; }
- 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]\'";
#
##############################################################
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";
}
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;
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) {
'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"; }
}
##############################################################