So you want to import nightly tester data into a data base? Have we got the perl script for you
llvm-svn: 21592
This commit is contained in:
		
							parent
							
								
									be6ce82937
								
							
						
					
					
						commit
						e81871331f
					
				| 
						 | 
				
			
			@ -1,26 +1,86 @@
 | 
			
		|||
#!/usr/bin/perl
 | 
			
		||||
#take the output of parseNLT.pl and load it into a database
 | 
			
		||||
# use like: cat file |perl parseNLT.pl |perl importNLT.pl password
 | 
			
		||||
 | 
			
		||||
use DBI;
 | 
			
		||||
 | 
			
		||||
# database information
 | 
			
		||||
$db="llvmalpha";
 | 
			
		||||
$host="narya.lenharth.org";
 | 
			
		||||
$host="localhost";
 | 
			
		||||
$userid="llvmdbuser";
 | 
			
		||||
$passwd=""; #removed for obvious reasons
 | 
			
		||||
$passwd=shift @ARGV;
 | 
			
		||||
$connectionInfo="dbi:mysql:$db;$host";
 | 
			
		||||
 | 
			
		||||
# make connection to database
 | 
			
		||||
$dbh = DBI->connect($connectionInfo,$userid,$passwd) or die DBI->errstr;
 | 
			
		||||
my $sth = $dbh->prepare( q{
 | 
			
		||||
      INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES (?, STR_TO_DATE(?, '\%d \%M \%Y'), ?, ?)
 | 
			
		||||
  }) || die "Can't prepare statement: $DBI::errstr";;
 | 
			
		||||
 | 
			
		||||
while($d = <>)
 | 
			
		||||
{
 | 
			
		||||
    if (18 == split / /, $d)
 | 
			
		||||
  chomp $d;
 | 
			
		||||
  if (18 == scalar split " ", $d)
 | 
			
		||||
    {
 | 
			
		||||
	($day, $mon, $year, $prog, $gccas, $bc, $llc-compile, $llc-beta-compile, $jit-compile,
 | 
			
		||||
	 $mc, $gcc, $cbe, $llc, $llc-beta, $jit, $foo1, $foo2, $foo3) = split / /, $d;
 | 
			
		||||
      ($day, $mon, $year, $prog, $gccas, $bc, $llccompile, $llcbetacompile, $jitcompile,
 | 
			
		||||
       $mc, $gcc, $cbe, $llc, $llcbeta, $jit, $foo1, $foo2, $foo3) = split / /, $d;
 | 
			
		||||
      if ($gccas =~ /\d+/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'gccas', $gccas)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($bc =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'bytecode', $bc)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($llccompile =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc-compile', $llccompile)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($llcbetacompile =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc-beta-compile', $llcbetacompile)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($jitcompile =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'jit-compile', $jitcompile)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($mc =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'machine-code', $mc)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($gcc =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'gcc', $gcc)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($llc =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc', $llc)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($llcbeta =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc-beta', $llcbeta)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      if ($jit =~ /\d/)
 | 
			
		||||
        {
 | 
			
		||||
          $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES
 | 
			
		||||
                ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'jit', $jit)") || die DBI->errstr;
 | 
			
		||||
        }
 | 
			
		||||
      print ".";
 | 
			
		||||
    }
 | 
			
		||||
  else
 | 
			
		||||
    {
 | 
			
		||||
      print "\nNO: $d\n";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
print "\n";
 | 
			
		||||
# disconnect from database
 | 
			
		||||
$dbh->disconnect
 | 
			
		||||
$dbh->disconnect;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue