mirror of https://github.com/BOINC/boinc.git
svn path=/trunk/boinc/; revision=15150
This commit is contained in:
parent
6ff5f3a829
commit
a0be700d20
|
@ -1,87 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("../inc/email.inc");
|
||||
require_once("../inc/phpmailer/class.phpmailer.php");
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
|
||||
function tcount($p, $v) {
|
||||
$r = mysql_query("select count(*) from test_report where version='$v' and test_group = '$p' and status<>3");
|
||||
$s = mysql_fetch_row($r);
|
||||
return $s[0];
|
||||
}
|
||||
|
||||
$r = mysql_query("select * from test_report");
|
||||
while ($tr = mysql_fetch_object($r)) {
|
||||
$tarr[$tr->test_group][$tr->version][$tr->status]++;
|
||||
}
|
||||
|
||||
$max_versions = 1;
|
||||
$message = "";
|
||||
$mail = new PHPMailer();
|
||||
|
||||
$html = "<html><head><title>Testing status report</title></head><body>
|
||||
<p>
|
||||
This report shows the tests for which more reports are needed.
|
||||
<p>
|
||||
Please visit http://boinc.berkeley.edu/trac/wiki/TestMatrix
|
||||
to see descriptions of the various tests,
|
||||
and submit reports as soon as possible.
|
||||
<p>
|
||||
Thanks for your time and effort in making BOINC
|
||||
a great platform for volunteer computing.
|
||||
<p>
|
||||
The BOINC Development Team
|
||||
<p>
|
||||
Tests for which we need more reports:
|
||||
<table><tr><td>Test</td><td>Additional reports needed</td></tr>
|
||||
";
|
||||
|
||||
$message = "This report shows which test areas need more test coverage.
|
||||
|
||||
Please visit http://boinc.berkeley.edu/trac/wiki/TestMatrix
|
||||
to see descriptions of the various tests,
|
||||
and submit reports as soon as possible.
|
||||
Thanks for your time and effort in making BOINC
|
||||
a great platform for volunteer computing.
|
||||
|
||||
The BOINC Development Team
|
||||
|
||||
Tests for which we need more reports:
|
||||
";
|
||||
|
||||
for ($i=0; $i<count($test_groups); $i++) {
|
||||
$p = $test_groups[$i][0];
|
||||
$pl = $test_groups[$i][1];
|
||||
$tr = $test_groups[$i][2];
|
||||
for ($j=0; $j<count($versions)&&$j<$max_versions; $j++) {
|
||||
$v = $versions[$j];
|
||||
$x1 = tcount($p, $v);
|
||||
$x2 = $tr - $x1;
|
||||
if ($tr > $x1) {
|
||||
$html = $html."<tr><td>$pl</td><td>$x2</td></tr>";
|
||||
$message = $message."$pl\t$x2\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$html = $html."</table></body></html>";
|
||||
|
||||
$mail->From = "boincadm@ssl.berkeley.edu";
|
||||
$mail->FromName = "BOINC Administrator";
|
||||
$mail->Host = "mail.ssl.berkeley.edu";
|
||||
$mail->Mailer = "smtp";
|
||||
$mail->Subject = "Testing status report";
|
||||
$mail->Body = $html;
|
||||
$mail->AltBody = $message;
|
||||
$mail->AddAddress("boinc_alpha@ssl.berkeley.edu", "BOINC Alpha Email List");
|
||||
$mail->Send();
|
||||
|
||||
echo "<pre>";
|
||||
echo "$message";
|
||||
echo "</pre>";
|
||||
|
||||
?>
|
342
test.inc
342
test.inc
|
@ -1,342 +0,0 @@
|
|||
<?php
|
||||
|
||||
$basic_tests = array(
|
||||
array("New install",
|
||||
"Install BOINC client with no existing install"
|
||||
),
|
||||
array("Existing install",
|
||||
"Install BOINC client with existing install"
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
$platforms = array(
|
||||
array("winxp", "Win XP", 10,),
|
||||
array("winxp_x64", "Win XP x64", 5,),
|
||||
array("win2000", "Win 2000", 5,),
|
||||
array("win98", "Win 98/ME", 5,),
|
||||
array("win2003", "Win 2003 server", 5,),
|
||||
array("winvista", "Windows Vista", 5,),
|
||||
array("winvista_x64", "Windows Vista x64", 5,),
|
||||
array("mac103", "Mac OS X 10.3", 5,),
|
||||
array("mac104", "Mac OS X 10.4", 5,),
|
||||
array("mac105", "Mac OS X 10.5", 5,),
|
||||
array("linuxcmdline", "Linux x86 command-line", 5,),
|
||||
array("linuxgraphical", "Linux x86 graphical", 5,),
|
||||
//array("linuxcmdline_x64", "Linux x64 command-line", 5,),
|
||||
array("linuxgraphical_x64", "Linux x64 graphical", 5,),
|
||||
);
|
||||
|
||||
$test_groups = array(
|
||||
array("general", "General tests", 10,),
|
||||
array("clean", "Clean install", 10,),
|
||||
array("transfer_restart", "File transfer restart", 5,),
|
||||
array("preference", "Preferences tests", 5,),
|
||||
array("v6_win_compat_private", "Windows compatibility/private install tests", 5,),
|
||||
array("v6_win_secure_private", "Windows secure/private install tests", 5,),
|
||||
array("v6_win_secure_public", "Windows secure/public install tests", 5,),
|
||||
array("v6_migraton", "Windows data file migration tests", 5,),
|
||||
array("modem", "Tests for modem-connected connections", 5,),
|
||||
array("firewall", "Tests for computers with personal firewalls", 5,),
|
||||
array("proxyhttp", "Tests for computers connected by HTTP proxy", 5,),
|
||||
array("proxysocks", "Tests for computers connected by SOCKS proxy", 2,),
|
||||
array("laptop", "Tests for laptops", 5,),
|
||||
array("screensaver", "Screensaver tests", 5,),
|
||||
array("attach_wizard", "BOINC Manager 'Attach to Project' tests", 5,),
|
||||
array("gui_rpc_auth", "GUI RPC authentication", 5,),
|
||||
array("acct_mgr", "Account manager functions", 5,),
|
||||
array("trickle", "Trickle messages and intermediate file upload", 5,),
|
||||
);
|
||||
|
||||
// newer versions first
|
||||
$versions = array(
|
||||
"6.2.1",
|
||||
"6.1.16",
|
||||
"6.1.15",
|
||||
"6.1.14",
|
||||
"6.1.12",
|
||||
"6.1.10",
|
||||
"6.1.8",
|
||||
"6.1.7",
|
||||
"6.1.6",
|
||||
"5.10.45",
|
||||
"5.10.44",
|
||||
"5.10.43",
|
||||
"5.10.42",
|
||||
"5.10.41",
|
||||
"5.10.40",
|
||||
"5.10.39",
|
||||
"5.10.38",
|
||||
"5.10.35",
|
||||
"5.10.34",
|
||||
"5.10.33",
|
||||
"5.10.32",
|
||||
"5.10.30",
|
||||
"5.10.28",
|
||||
"5.10.27",
|
||||
"5.10.26",
|
||||
"5.10.24",
|
||||
"5.10.23",
|
||||
"5.10.21",
|
||||
"5.10.20",
|
||||
"5.10.19",
|
||||
"5.10.18",
|
||||
"5.10.17",
|
||||
"5.10.16",
|
||||
"5.10.15",
|
||||
"5.10.14",
|
||||
"5.10.13",
|
||||
"5.10.12",
|
||||
"5.10.11",
|
||||
"5.10.10",
|
||||
"5.10.8",
|
||||
"5.10.7",
|
||||
"5.10.6",
|
||||
"5.10.5",
|
||||
"5.10.4",
|
||||
"5.10.3",
|
||||
"5.10.2",
|
||||
"5.10.1",
|
||||
"5.10.0",
|
||||
"5.9.12",
|
||||
"5.9.11",
|
||||
"5.9.10",
|
||||
"5.9.9",
|
||||
"5.9.8",
|
||||
"5.9.7",
|
||||
"5.9.5",
|
||||
"5.9.4",
|
||||
"5.9.3",
|
||||
"5.8.17",
|
||||
"5.8.16",
|
||||
"5.8.15",
|
||||
"5.8.14",
|
||||
"5.8.13",
|
||||
"5.8.12",
|
||||
"5.8.11",
|
||||
"5.8.9",
|
||||
"5.8.8",
|
||||
"5.8.7",
|
||||
"5.8.6",
|
||||
"5.8.5",
|
||||
"5.8.4",
|
||||
"5.8.3",
|
||||
"5.8.2",
|
||||
"5.8.1",
|
||||
"5.8.0",
|
||||
"5.7.5",
|
||||
"5.7.4",
|
||||
"5.7.3",
|
||||
"5.7.2",
|
||||
"5.7.1",
|
||||
"5.6.5",
|
||||
"5.6.4",
|
||||
"5.6.3",
|
||||
"5.6.2",
|
||||
"5.6.1",
|
||||
"5.6.0",
|
||||
"5.5.16",
|
||||
"5.5.15",
|
||||
"5.5.14",
|
||||
"5.5.13",
|
||||
"5.5.12",
|
||||
"5.5.11",
|
||||
"5.5.10",
|
||||
"5.5.9",
|
||||
"5.5.8",
|
||||
"5.5.6",
|
||||
"5.5.5",
|
||||
"5.4.9",
|
||||
"5.4.8",
|
||||
"5.4.7",
|
||||
"5.4.6",
|
||||
"5.4.5",
|
||||
"5.4.4",
|
||||
"5.4.3",
|
||||
"5.4.2",
|
||||
"5.4.1",
|
||||
"5.4.0",
|
||||
"5.3.31",
|
||||
"5.3.30",
|
||||
"5.3.29",
|
||||
"5.3.28",
|
||||
"5.3.27",
|
||||
"5.3.26",
|
||||
"5.3.24",
|
||||
"5.3.23",
|
||||
"5.3.22",
|
||||
"5.3.21",
|
||||
"5.3.20",
|
||||
"5.3.16",
|
||||
"5.3.15",
|
||||
"5.2.15",
|
||||
"5.2.14",
|
||||
"5.2.13",
|
||||
//"5.2.2",
|
||||
//"5.2.1",
|
||||
//"5.2.0",
|
||||
//"5.1.10",
|
||||
//"5.1.9",
|
||||
//"5.1.8",
|
||||
//"5.1.6",
|
||||
//"5.1.5",
|
||||
//"5.1.4",
|
||||
//"5.1.3",
|
||||
//"5.1.2",
|
||||
//"5.1.1",
|
||||
//"4.72",
|
||||
);
|
||||
|
||||
function current_version() {
|
||||
global $versions;
|
||||
return $versions[0];
|
||||
}
|
||||
|
||||
function reports_for_version($v) {
|
||||
$rs = array();
|
||||
$r = mysql_query("select * from test_report where version='$v' and status<>3");
|
||||
while ($rep = mysql_fetch_object($r)) {
|
||||
$rs[] = $rep;
|
||||
}
|
||||
return $rs;
|
||||
}
|
||||
|
||||
function test_count($x) {
|
||||
$n = 0;
|
||||
foreach($x as $y) {
|
||||
$n += $y[2];
|
||||
}
|
||||
return $n;
|
||||
}
|
||||
|
||||
function fraction_left($v) {
|
||||
global $platforms;
|
||||
global $test_groups;
|
||||
$ps = $platforms;
|
||||
$gs = $test_groups;
|
||||
$total_tests = test_count($ps) + test_count($gs);
|
||||
|
||||
$rs = reports_for_version($v);
|
||||
foreach ($rs as $r) {
|
||||
for ($i=0; $i<count($ps); $i++) {
|
||||
if ($r->platform == $ps[$i][0]) {
|
||||
if ($ps[$i][2]>0) {
|
||||
$ps[$i][2]--;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
for ($i=0; $i<count($gs); $i++) {
|
||||
if ($r->test_group == $gs[$i][0]) {
|
||||
if ($gs[$i][2]>0) {
|
||||
$gs[$i][2]--;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
$tests_left = test_count($ps) + test_count($gs);
|
||||
return $tests_left/$total_tests;
|
||||
}
|
||||
|
||||
function platform_name($short_name) {
|
||||
global $platforms;
|
||||
for ($i=0; $i<count($platforms); $i++) {
|
||||
$p = $platforms[$i];
|
||||
if ($short_name == $p[0]) return $p[1];
|
||||
}
|
||||
return $short_name;
|
||||
}
|
||||
|
||||
function test_group_name($short_name) {
|
||||
global $test_groups;
|
||||
for ($i=0; $i<count($test_groups); $i++) {
|
||||
$p = $test_groups[$i];
|
||||
if ($short_name == $p[0]) return $p[1];
|
||||
}
|
||||
return $short_name;
|
||||
}
|
||||
|
||||
function show_status_select($t, $user, $v, $p) {
|
||||
$tgname = $t[0];
|
||||
$query = "select * from test_report where userid=$user->id and version='$v' and platform='$p' and test_group='$tgname'";
|
||||
$result = mysql_query($query);
|
||||
$tr = mysql_fetch_object($result);
|
||||
if ($tr) {
|
||||
if ($tr->status==0) $ch0 = "checked";
|
||||
if ($tr->status==1) $ch1 = "checked";
|
||||
if ($tr->status==2) $ch2 = "checked";
|
||||
if ($tr->status==3) $ch3 = "checked";
|
||||
$comment = $tr->comment;
|
||||
} else {
|
||||
$ch3 = "checked";
|
||||
}
|
||||
|
||||
echo "
|
||||
<td><input type=radio name=".$tgname."_status value=3 $ch3></td>
|
||||
<td><input type=radio name=".$tgname."_status value=0 $ch0></td>
|
||||
<td><input type=radio name=".$tgname."_status value=1 $ch1></td>
|
||||
<td><input type=radio name=".$tgname."_status value=2 $ch2></td>
|
||||
<td><textarea rows=4 cols=60 name=".$tgname."_comment>$comment</textarea></td>
|
||||
";
|
||||
}
|
||||
|
||||
function show_test_groups($user, $v, $p) {
|
||||
global $test_groups;
|
||||
echo "<table cellpadding=4 border=1>
|
||||
<tr><th><a href=http://boinc.berkeley.edu/test_matrix.php>Test group</a></th>
|
||||
<th>Not<br> tested</th>
|
||||
<th>No<br>bugs<br>found</th>
|
||||
<th>Minor<br>bugs<br>found</th>
|
||||
<th>Major<br>bugs<br>found</th>
|
||||
<th>Comments (include BOINC trac ticket number if applicable)</th>
|
||||
</tr>
|
||||
";
|
||||
for ($i=0; $i<count($test_groups); $i++) {
|
||||
$t = $test_groups[$i];
|
||||
echo "<tr><td>$t[1]</td>\n";
|
||||
show_status_select($t, $user, $v, $p);
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
function show_version_select() {
|
||||
global $versions;
|
||||
echo "<select name=version>\n";
|
||||
for ($i=0; $i<count($versions); $i++) {
|
||||
$p = $versions[$i];
|
||||
echo "<option value=$p>$p\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
}
|
||||
|
||||
function show_platform_select() {
|
||||
global $platforms;
|
||||
for ($i=0; $i<count($platforms); $i++) {
|
||||
$p = $platforms[$i];
|
||||
echo "<br><input type=radio name=platform value=$p[0]>$p[1]\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function show_platform_summary() {
|
||||
global $versions;
|
||||
global $platforms;
|
||||
for ($i=0; $i<count($platforms); $i++) {
|
||||
$p = $platforms[$i];
|
||||
echo $p[1]."-";
|
||||
for ($n=0; $n<count($versions); $n++) {
|
||||
$v = $versions[$n];
|
||||
echo "<a href=\"test_details.php?platform=".$p[0].
|
||||
"&version=".$v."\">".$v."</a> ";
|
||||
}
|
||||
echo "<br>\n";
|
||||
}
|
||||
}
|
||||
|
||||
function show_platform_details($platform) {
|
||||
echo $platform->platform, $platform->version, $platform->status;
|
||||
}
|
||||
|
||||
?>
|
17
test.sql
17
test.sql
|
@ -1,17 +0,0 @@
|
|||
use alpha;
|
||||
|
||||
create table test_report (
|
||||
id integer not null auto_increment,
|
||||
userid integer not null,
|
||||
version varchar(64) not null,
|
||||
platform varchar(64) not null,
|
||||
test_group varchar(64) not null,
|
||||
status integer not null,
|
||||
comment text,
|
||||
mod_time timestamp,
|
||||
primary key (id)
|
||||
);
|
||||
|
||||
alter table test_report
|
||||
add unique (userid, version, platform, test_group),
|
||||
add index tr_vers (version);
|
|
@ -1,52 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
|
||||
$user = get_logged_in_user();
|
||||
$platform = process_user_text(get_str("platform"));
|
||||
$version = process_user_text(get_str("version"));
|
||||
|
||||
for ($i=0; $i<count($test_groups); $i++) {
|
||||
$t = $test_groups[$i];
|
||||
$sname = $t[0]."_status";
|
||||
$cname = $t[0]."_comment";
|
||||
|
||||
$status = null;
|
||||
$comment = null;
|
||||
$status = get_str($sname, true);
|
||||
if (is_null($status)) continue;
|
||||
$status = process_user_text($status);
|
||||
$comment = process_user_text(get_str($cname, true));
|
||||
|
||||
$query = "select * from test_report where userid=$user->id and version='$version' and platform='$platform' and test_group='$t[0]'";
|
||||
$result = mysql_query($query);
|
||||
$tr = mysql_fetch_object($result);
|
||||
if ($tr) {
|
||||
$query = "update test_report set status=$status, comment='$comment' where userid=$user->id and version='$version' and platform='$platform' and test_group='$t[0]'";
|
||||
$retval = mysql_query($query);
|
||||
echo "<br>$t[1]: updating existing report\n";
|
||||
} else {
|
||||
echo "inserting";
|
||||
$query = "insert into test_report (userid, version, platform, test_group, status, comment) values ($user->id, '$version', '$platform', '$t[0]', $status, '$comment')";
|
||||
|
||||
$retval = mysql_query($query);
|
||||
echo "<br>$t[1]: adding new report\n";
|
||||
}
|
||||
if (!$retval) {
|
||||
echo mysql_error();
|
||||
error_page("db error");
|
||||
}
|
||||
}
|
||||
|
||||
echo "
|
||||
<p>
|
||||
Test report accepted - thank you.
|
||||
<p>
|
||||
<a href=test_form.php>Submit more test results</a>
|
||||
";
|
||||
?>
|
111
test_details.php
111
test_details.php
|
@ -1,111 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
$version = process_user_text(get_str("version"),true);
|
||||
|
||||
function show_status($counts, $url) {
|
||||
$colors[0] = "00ff00.gif";
|
||||
$colors[1] = "ffff00.gif";
|
||||
$colors[2] = "ff0000.gif";
|
||||
echo "
|
||||
<table border=1>
|
||||
";
|
||||
for ($i=0; $i<3; $i++) {
|
||||
if ($counts[$i]) {
|
||||
$w = $counts[$i]*20;
|
||||
echo "
|
||||
<tr>
|
||||
<td><a href=$url&status=$i><img src=$colors[$i] width=$w height=12></a>$counts[$i]</td>
|
||||
</tr>
|
||||
";
|
||||
} else {
|
||||
echo "<tr><td><br></td></tr>\n";
|
||||
}
|
||||
}
|
||||
echo "
|
||||
</table>
|
||||
";
|
||||
}
|
||||
|
||||
page_head("Test status of version $version");
|
||||
|
||||
$n = array();
|
||||
$n[0] = 0;
|
||||
$n[1] = 0;
|
||||
$n[2] = 0;
|
||||
|
||||
$tr = array();
|
||||
$query = "select * from test_report where version='$version'";
|
||||
$result = mysql_query($query);
|
||||
if (!$result) {
|
||||
echo mysql_error();
|
||||
error_page("db error");
|
||||
}
|
||||
while ($r = mysql_fetch_object($result)) {
|
||||
array_push($tr, $r);
|
||||
$n[$r->status]++;
|
||||
}
|
||||
mysql_free_result($result);
|
||||
|
||||
start_table();
|
||||
row1("OVERALL STATUS");
|
||||
echo "<tr><td>\n";
|
||||
show_status($n, "test_list.php?version=$version");
|
||||
$fl = fraction_left($version);
|
||||
$pd = number_format(100*(1-$fl), 0);
|
||||
|
||||
echo "
|
||||
<br>
|
||||
$pd% of target testing has been done.
|
||||
</td></tr>
|
||||
";
|
||||
end_table();
|
||||
|
||||
start_table();
|
||||
row1("PLATFORMS");
|
||||
|
||||
for ($i=0; $i<count($platforms); $i++) {
|
||||
$p = $platforms[$i];
|
||||
$n[0] = 0;
|
||||
$n[1] = 0;
|
||||
$n[2] = 0;
|
||||
|
||||
for ($j=0; $j<count($tr); $j++) {
|
||||
$r = $tr[$j];
|
||||
if ($r->platform != $p[0]) continue;
|
||||
$n[$r->status]++;
|
||||
}
|
||||
|
||||
row1($p[1]);
|
||||
echo "<tr><td>\n";
|
||||
show_status($n, "test_list.php?version=$version&platform=$p[0]");
|
||||
echo "</td></tr>\n";
|
||||
}
|
||||
end_table();
|
||||
|
||||
start_table();
|
||||
row1("TEST GROUPS");
|
||||
|
||||
for ($i=0; $i<count($test_groups); $i++) {
|
||||
$tg = $test_groups[$i];
|
||||
$n[0] = 0;
|
||||
$n[1] = 0;
|
||||
$n[2] = 0;
|
||||
|
||||
for ($j=0; $j<count($tr); $j++) {
|
||||
$r = $tr[$j];
|
||||
if ($r->test_group != $tg[0]) continue;
|
||||
$n[$r->status]++;
|
||||
}
|
||||
|
||||
row1($tg[1]);
|
||||
echo "<tr><td>\n";
|
||||
show_status($n, "test_list.php?version=$version&test_group=$tg[0]");
|
||||
echo "</td></tr>\n";
|
||||
}
|
||||
end_table();
|
||||
?>
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
|
||||
$user = get_logged_in_user();
|
||||
|
||||
page_head("Report test results");
|
||||
echo "
|
||||
Use this form for reporting test results
|
||||
for the BOINC version currently under test.
|
||||
Fill out this form separately for each platform you tested.
|
||||
<p>
|
||||
To report bugs with public releases of BOINC,
|
||||
use the <a href=http://boinc.berkeley.edu/trac/>BOINC Trac bug database</a>.
|
||||
<p>
|
||||
<form action=test_form2.php>
|
||||
Version:
|
||||
";
|
||||
show_version_select();
|
||||
echo "
|
||||
<p>
|
||||
Which platform did you test on?
|
||||
";
|
||||
show_platform_select();
|
||||
echo "
|
||||
<p>
|
||||
<input type=submit value='OK'>
|
||||
</form>
|
||||
";
|
||||
|
||||
page_tail();
|
||||
?>
|
|
@ -1,31 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
|
||||
$user = get_logged_in_user();
|
||||
$platform = process_user_text(get_str("platform"));
|
||||
$version = process_user_text(get_str("version"));
|
||||
|
||||
|
||||
page_head("Report test results");
|
||||
|
||||
echo "
|
||||
<p>
|
||||
<form action=test_action.php>
|
||||
<input type=hidden name=platform value=$platform>
|
||||
<input type=hidden name=version value=$version>
|
||||
";
|
||||
show_test_groups($user, $version, $platform);
|
||||
echo "
|
||||
<p>
|
||||
<input type=submit value='OK'>
|
||||
</form>
|
||||
";
|
||||
page_tail();
|
||||
|
||||
?>
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/util.inc");
|
||||
|
||||
page_head("Instructions for testers");
|
||||
|
||||
echo "
|
||||
|
||||
<h3>Becoming a tester</h3>
|
||||
<p>
|
||||
The BOINC testing program helps us find and fix bugs
|
||||
in the BOINC software before we release it to the public.
|
||||
Testing is vital to the success of BOINC.
|
||||
If you're a tester, then:
|
||||
<ul>
|
||||
<li>
|
||||
You'll need to spend about 1 hour per week doing testing;
|
||||
<li>
|
||||
Some of your computer power will be spent running test work,
|
||||
and you may receive no credit for it.
|
||||
<li>
|
||||
You must have enough computer experience to
|
||||
write clear descriptions of problems.
|
||||
<li>
|
||||
You may be asked to assist, via phone or email,
|
||||
in troubleshooting.
|
||||
</ul>
|
||||
If you are OK with all this and want to help test BOINC,
|
||||
send email to
|
||||
<a href=http://boinc.berkeley.edu/contact.php>David Anderson or Rom Walton</a>,
|
||||
and if we need more testers we'll set up an account for you.
|
||||
|
||||
<p>
|
||||
Testers must subscribe to the
|
||||
<a href=http://www.ssl.berkeley.edu/mailman/listinfo/boinc_alpha>boinc_alpha email list</a>.
|
||||
(You don't need to be a tester to subscribe to this list).
|
||||
|
||||
|
||||
|
||||
<h3>When to test</h3>
|
||||
<p>
|
||||
Periodically (every couple of weeks, sometimes more)
|
||||
we'll send an announcement on the email list,
|
||||
asking alpha testers to download and test a specific new release of BOINC.
|
||||
These releases can be downloaded from
|
||||
<a href=http://boinc.berkeley.edu/download_all.php?dev=1>here</a>.
|
||||
Please try to report test results within two days of receiving the email.
|
||||
|
||||
<h3>How to test</h3>
|
||||
<p>
|
||||
The client software under test may have bugs that wipe out tasks in progress.
|
||||
Therefore we recommend that you install the test software
|
||||
in a different BOINC directory than the one you normally use for BOINC.
|
||||
<p>
|
||||
The set of test cases is
|
||||
<a href=http://boinc.berkeley.edu/test_matrix.php>here</a>.
|
||||
For each release, please try to do all the General tests.
|
||||
Please try to do as many of the other tests
|
||||
as your time and computer environment permit.
|
||||
<p>
|
||||
Depending on what you're testing,
|
||||
you can select which project(s) to attach to:
|
||||
<ul>
|
||||
<li> The BOINC Alpha project (this one) has tasks
|
||||
with large input and output files (4.5 MB each)
|
||||
and that use about 1 minute of CPU time.
|
||||
This is useful for testing file upload/download,
|
||||
and for testing things that happen on task completion.
|
||||
<b>You don't need to attach to this project to be an Alpha Tester.
|
||||
Please do not stay attached to this project for long periods</b>.
|
||||
|
||||
<li> You can use the Cunning Plan project
|
||||
(http://isaac.ssl.berkeley.edu/cplan) for tests
|
||||
that involve creating accounts.
|
||||
|
||||
<li> You can use other projects (SETI@home, Einstein@home, CPDN)
|
||||
for other purposes.
|
||||
</ul>
|
||||
<p>
|
||||
If at any time you experienced problems with BOINC that are not
|
||||
exercised by any of these tests,
|
||||
please post to the <a href=http://www.ssl.berkeley.edu/mailman/listinfo/boinc_alpha>boinc_alpha@ssl.berkeley.edu</a> email list.
|
||||
|
||||
|
||||
<h3>How to report test results</h3>
|
||||
<p>
|
||||
The preferred way to report test results is through the
|
||||
<a href=test_form.php>web-based interface</a>.
|
||||
|
||||
<p>
|
||||
You can optionally also submit bug reports to the
|
||||
<a href=http://boinc.berkeley.edu/trac/wiki/WikiStart>BOINC bug database</a>.
|
||||
You may also send email to the relevant area owner, as listed
|
||||
<a href=http://boinc.berkeley.edu/trac/wiki/DevProcess>here</a>.
|
||||
|
||||
<p>
|
||||
If you're not sure whether something is a bug,
|
||||
post to the boinc_alpha@ssl.berkeley.edu email list.
|
||||
<p>
|
||||
Read about
|
||||
<a href=http://boinc.berkeley.edu/trac/wiki/ReportBugs>Reporting Hard Bugs</a>.
|
||||
|
||||
|
||||
<h3>Resources</h3>
|
||||
<p>
|
||||
Windows users: if you have install/uninstall problems,
|
||||
you may need to use the Windows Installer CleanUp Utility: see
|
||||
<a href=http://support.microsoft.com/default.aspx?scid=kb;en-us;290301>here</a>
|
||||
and
|
||||
<a href=http://windowssdk.msdn.microsoft.com/en-us/library/ms707976.aspx>here</a>
|
||||
";
|
||||
|
||||
page_tail();
|
||||
?>
|
|
@ -1,72 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("test.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("../inc/db.inc");
|
||||
|
||||
$version = get_str("version");
|
||||
$platform = get_str("platform", true);
|
||||
$test_group = get_str("test_group", true);
|
||||
$status = -1;
|
||||
$status = get_int("status", true);
|
||||
|
||||
function show_report($r) {
|
||||
$user = lookup_user_id($r->userid);
|
||||
$s = array();
|
||||
$s[0] = "OK";
|
||||
$s[1] = "minor bugs";
|
||||
$s[2] = "major bugs";
|
||||
$status = $s[$r->status];
|
||||
$p = platform_name($r->platform);
|
||||
$tg = test_group_name($r->test_group);
|
||||
$c = $r->comment;
|
||||
if (!$c) $c = "<br>";
|
||||
echo "
|
||||
<tr>
|
||||
<td>$user->name</td>
|
||||
<td>$p</td>
|
||||
<td>$tg</td>
|
||||
<td>$status</td>
|
||||
<td>$c</td>
|
||||
<td>$r->mod_time</td>
|
||||
</tr>
|
||||
";
|
||||
}
|
||||
|
||||
db_init();
|
||||
|
||||
$tr = array();
|
||||
$query = "select * from test_report where version='$version'";
|
||||
$result = mysql_query($query);
|
||||
if (!$result) {
|
||||
echo mysql_error();
|
||||
error_page("db error");
|
||||
}
|
||||
while ($r = mysql_fetch_object($result)) {
|
||||
array_push($tr, $r);
|
||||
}
|
||||
mysql_free_result($result);
|
||||
|
||||
echo "
|
||||
<table cellpadding=4 border=1>
|
||||
<tr>
|
||||
<th>User</th>
|
||||
<th>Platform</th>
|
||||
<th>Test group</th>
|
||||
<th>Status</th>
|
||||
<th>Comment</th>
|
||||
<th>Time</th>
|
||||
</tr>
|
||||
";
|
||||
|
||||
for ($i=0; $i<count($tr); $i++) {
|
||||
$r = $tr[$i];
|
||||
if ($platform && $r->platform != $platform) continue;
|
||||
if ($test_group && $r->test_group != $test_group) continue;
|
||||
if ($status >= 0 && $r->status != $status) continue;
|
||||
|
||||
show_report($r);
|
||||
}
|
||||
|
||||
echo "</table>\n";
|
||||
?>
|
|
@ -1,52 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
|
||||
page_head("Tests that need coverage");
|
||||
|
||||
echo "
|
||||
<p>
|
||||
This report describes which platform a test groupings still need additional coverage.
|
||||
<p>
|
||||
";
|
||||
|
||||
echo "
|
||||
<table border=1 cellpadding=4>
|
||||
";
|
||||
|
||||
echo "<tr><th>PLATFORMS</th></tr>\n";
|
||||
for ($i=0; $i<count($platforms); $i++) {
|
||||
$p = $platforms[$i][0];
|
||||
$pl = $platforms[$i][1];
|
||||
$result_target = $platforms[$i][2];
|
||||
$v = $versions[0];
|
||||
$r = mysql_query("select count(*) as count from test_report where version='$v' and platform = '$p' and status<>3");
|
||||
$l = mysql_fetch_array($r, MYSQL_BOTH);
|
||||
$result_count = intval($l[0]);
|
||||
if ( $result_count < $result_target ) {
|
||||
echo "<tr><td>$pl</td><td>$result_target</td><td>$result_count</td></tr>\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "<tr><th>TESTS</th></tr>\n";
|
||||
for ($i=0; $i<count($test_groups); $i++) {
|
||||
$p = $test_groups[$i][0];
|
||||
$pl = $test_groups[$i][1];
|
||||
$result_target = $test_groups[$i][2];
|
||||
$v = $versions[0];
|
||||
$r = mysql_query("select count(*) as count from test_report where version='$v' and test_group = '$p' and status<>3");
|
||||
$l = mysql_fetch_array($r, MYSQL_BOTH);
|
||||
$result_count = intval($l[0]);
|
||||
if ( $result_count < $result_target ) {
|
||||
echo "<tr><td>$pl</td><td>$result_target</td><td>$result_count</td></tr>\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "</table>";
|
||||
|
||||
page_tail();
|
||||
?>
|
|
@ -1,82 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
|
||||
page_head("Test results summaries");
|
||||
|
||||
echo "
|
||||
<p>
|
||||
This table shows the number of test reports that have been
|
||||
submitted for each combination of (platform, version)
|
||||
and (test, version).
|
||||
<p>
|
||||
";
|
||||
|
||||
function pcount($p, $v) {
|
||||
$r = mysql_query("select count(*) from test_report where version='$v' and platform = '$p' and status<>3");
|
||||
$s = mysql_fetch_row($r);
|
||||
return $s[0];
|
||||
}
|
||||
function tcount($p, $v) {
|
||||
$r = mysql_query("select count(*) from test_report where version='$v' and test_group = '$p' and status<>3");
|
||||
$s = mysql_fetch_row($r);
|
||||
return $s[0];
|
||||
}
|
||||
|
||||
$r = mysql_query("select * from test_report");
|
||||
while ($tr = mysql_fetch_object($r)) {
|
||||
$parr[$tr->platform][$tr->version][$tr->status]++;
|
||||
$tarr[$tr->test_group][$tr->version][$tr->status]++;
|
||||
}
|
||||
|
||||
echo "
|
||||
<table border=1 cellpadding=4>
|
||||
<tr>
|
||||
<td>Version<br><font size=-2>click for details</td>
|
||||
<td>Target<br>#results</td>
|
||||
";
|
||||
|
||||
$max_versions = 12;
|
||||
for ($i=0; $i<count($versions)&&$i<$max_versions; $i++) {
|
||||
echo "
|
||||
<td><a href=test_details.php?version=$versions[$i]>$versions[$i]</a></td>
|
||||
";
|
||||
}
|
||||
echo "</tr>";
|
||||
|
||||
$nc = count($versions)+2;
|
||||
echo "<tr><th colspan=$nc>PLATFORMS</td></tr>\n";
|
||||
for ($i=0; $i<count($platforms); $i++) {
|
||||
$p = $platforms[$i][0];
|
||||
$pl = $platforms[$i][1];
|
||||
$tr = $platforms[$i][2];
|
||||
echo "<tr><td>$pl</td><td>$tr</td>";
|
||||
for ($j=0; $j<count($versions)&&$j<$max_versions; $j++) {
|
||||
$v = $versions[$j];
|
||||
$x1 = pcount($p, $v);
|
||||
echo "<td>$x1</td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo "<tr><th colspan=$nc>TESTS</td></tr>\n";
|
||||
for ($i=0; $i<count($test_groups); $i++) {
|
||||
$p = $test_groups[$i][0];
|
||||
$pl = $test_groups[$i][1];
|
||||
$tr = $test_groups[$i][2];
|
||||
echo "<tr><td>$pl</td><td>$tr</td>";
|
||||
for ($j=0; $j<count($versions)&&$j<$max_versions; $j++) {
|
||||
$v = $versions[$j];
|
||||
$x1 = tcount($p, $v);
|
||||
echo "<td>$x1</td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
echo "</table>";
|
||||
|
||||
page_tail();
|
||||
?>
|
|
@ -1,56 +0,0 @@
|
|||
<?php
|
||||
|
||||
require_once("../inc/db.inc");
|
||||
require_once("../inc/util.inc");
|
||||
require_once("test.inc");
|
||||
|
||||
db_init();
|
||||
page_head("Alpha testers");
|
||||
echo "
|
||||
<p>
|
||||
This table shows the alpha testers,
|
||||
the platforms they have,
|
||||
and the versions for which they have reported results.
|
||||
<p>
|
||||
";
|
||||
|
||||
function os_list($user) {
|
||||
$r = mysql_query("select distinct os_name from host where userid=$user->id");
|
||||
while ($row = mysql_fetch_row($r)) {
|
||||
if ($x) $x .= "<br>$row[0]";
|
||||
else $x = $row[0];
|
||||
}
|
||||
if (!$x) $x='---';
|
||||
return $x;
|
||||
}
|
||||
|
||||
$r = mysql_query("select * from test_report where status<>3");
|
||||
while ($tr = mysql_fetch_object($r)) {
|
||||
$uarr[$tr->userid][$tr->version]++;
|
||||
}
|
||||
|
||||
echo "<table cellpadding=4 border=1><tr>
|
||||
<th>User</th>
|
||||
<th>Operating systems</th>
|
||||
";
|
||||
for ($i=0; $i<count($versions); $i++) {
|
||||
echo "<th>$versions[$i]</th>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
$r = mysql_query("select * from user");
|
||||
while ($user = mysql_fetch_object($r)) {
|
||||
echo "<tr><td>$user->name</td>
|
||||
<td>".os_list($user)."</td>
|
||||
";
|
||||
for ($i=0; $i<count($versions); $i++) {
|
||||
$v = $versions[$i];
|
||||
$n = $uarr[$user->id][$v];
|
||||
if (!$n) $n='---';
|
||||
echo "<td>$n</td>\n";
|
||||
}
|
||||
echo "</tr>";
|
||||
}
|
||||
echo "</table>\n";
|
||||
page_tail();
|
||||
|
||||
?>
|
Loading…
Reference in New Issue