<%perl> # unit-test-results.html # # @author D. Chang # # TODO: Retrieve password from a file. # TODO: Add display of testing totals. # @todo Add link to testing state. # @todo Group by categories or modules. <%args> $test_run_id <%perl> use DBI; my $dbuser="root"; my $dbpass="panstar1"; #my $dbuser="mops"; #my $dbpass="mops"; my $dbname="psmops_testing_results"; my $dbhost="schmopc01.ifa.hawaii.edu"; my $dbconnect="DBI:mysql:$dbname:$dbhost"; my $dbh=DBI->connect($dbconnect,$dbuser,$dbpass) || die "ERROR: Cannot connect to database $dbname."; my $sql="SELECT id,test_run,number,psmops_function,module,cvs_version,test,modifier1,modifier2,result,FORMAT(wall,5),cpu FROM unit_test_results WHERE test_run=$test_run_id"; my $sth=$dbh->prepare($sql); my $result=$sth->execute; my $ref; if($result){ $ref=$sth->fetchall_arrayref(); } # Get Test Run time. $sql="SELECT DATE_FORMAT(time,'%Y-%b-%d %a %H:%i') FROM test_runs WHERE id=$test_run_id"; $sth=$dbh->prepare($sql); $result=$sth->execute; my $test_run_time; if($result){ $test_run_time=$sth->fetchall_arrayref(); } # Count test runs. $sql="SELECT COUNT(utr.id) FROM unit_test_results utr WHERE test_run=$test_run_id AND result!='n'"; $sth=$dbh->prepare($sql); $result=$sth->execute; my $test_cnts; if($result){ $test_cnts=$sth->fetchall_arrayref(); } # Count successful tests. $sql="SELECT COUNT(utr.id) FROM unit_test_results utr WHERE test_run=$test_run_id AND result='p'"; $sth=$dbh->prepare($sql); $result=$sth->execute; my $pass_cnts; if($result){ $pass_cnts=$sth->fetchall_arrayref(); } <& header.mas &>
 Testing State (<% $test_run_id %>)

Unit Test Results

Legend
Test Run ID = <% $test_run_id %>, Time = <% $test_run_time->[0]->[0] %> GMT, Result = <%perl> my $passed=$pass_cnts->[0]->[0]; my $total=$test_cnts->[0]->[0]; print " $passed/$total";

% for(my $i=0;$i <%perl> my $result=$ref->[$i]->[9]; if($result eq "P") { print ""; } elsif($result eq "F") { print ""; } elsif($result eq "N") { print ""; } else { print ""; } % }
Number PSMOPS Module Version Test Modifier1 Modifier2 Result Wall [s] CPU [s]
<% $ref->[$i]->[2] %> <% $ref->[$i]->[3] %> <% $ref->[$i]->[4] %> <% $ref->[$i]->[5] %> <% $ref->[$i]->[6] %> <%perl> my $r=$ref->[$i]->[7]; if(!defined($r)){ print " "; } else { print $r; } <%perl> $r=$ref->[$i]->[8]; if(!defined($r)){ print " "; } else { print $r; } "; print "PASS"; print "FAIL!NINONE <% $ref->[$i]->[10] %> <% $ref->[$i]->[11] %>

PSMOPS Value 1 indicates test corresponds directly to a PS-MOPS function, 0 otherwise.
Version CVS version
Modifier1, Modifier2 Used to distinguish test variations.
Result PASS for success, FAIL! for failure, NI for not implemented.