本文整理汇总了PHP中Build::GetNumberOfFailedTests方法的典型用法代码示例。如果您正苦于以下问题:PHP Build::GetNumberOfFailedTests方法的具体用法?PHP Build::GetNumberOfFailedTests怎么用?PHP Build::GetNumberOfFailedTests使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Build
的用法示例。
在下文中一共展示了Build::GetNumberOfFailedTests方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ReportLastBuild
/** Report statistics about the last build */
function ReportLastBuild($type, $projectid, $siteid, $projectname, $nightlytime)
{
$xml = '<' . strtolower($type) . '>';
$nightlytime = strtotime($nightlytime);
// Find the last build
$build = pdo_query("SELECT starttime,id FROM build WHERE siteid='{$siteid}' AND projectid='{$projectid}' AND type='{$type}' ORDER BY submittime DESC LIMIT 1");
if (pdo_num_rows($build) > 0) {
$build_array = pdo_fetch_array($build);
$buildid = $build_array['id'];
// Express the date in terms of days (makes more sens)
$buildtime = strtotime($build_array['starttime'] . ' UTC');
$builddate = $buildtime;
if (date(FMT_TIME, $buildtime) > date(FMT_TIME, $nightlytime)) {
$builddate += 3600 * 24;
//next day
}
if (date(FMT_TIME, $nightlytime) < '12:00:00') {
$builddate -= 3600 * 24;
// previous date
}
$date = date(FMT_DATE, $builddate);
$days = (time() - strtotime($date)) / (3600 * 24);
if ($days < 1) {
$day = 'today';
} elseif ($days > 1 && $days < 2) {
$day = 'yesterday';
} else {
$day = round($days) . ' days';
}
$xml .= add_XML_value('date', $day);
$xml .= add_XML_value('datelink', 'index.php?project=' . urlencode($projectname) . '&date=' . $date);
// Configure
$configure = pdo_query("SELECT status FROM configure WHERE buildid='{$buildid}'");
if (pdo_num_rows($configure) > 0) {
$configure_array = pdo_fetch_array($configure);
$xml .= add_XML_value('configure', $configure_array['status']);
if ($configure_array['status'] != 0) {
$xml .= add_XML_value('configureclass', 'error');
} else {
$xml .= add_XML_value('configureclass', 'normal');
}
} else {
$xml .= add_XML_value('configure', '-');
$xml .= add_XML_value('configureclass', 'normal');
}
// Update
$update = pdo_query('SELECT uf.updateid FROM updatefile AS uf,build2update AS b2u WHERE uf.updateid=b2u.updateid AND b2u.buildid=' . $buildid);
$nupdates = pdo_num_rows($update);
$xml .= add_XML_value('update', $nupdates);
// Find locally modified files
$updatelocal = pdo_query('SELECT uf.updateid FROM updatefile AS uf,build2update AS b2u WHERE uf.updateid=b2u.updateid AND b2u.buildid=' . $buildid . " AND uf.author='Local User'");
// Set the color
if (pdo_num_rows($updatelocal) > 0) {
$xml .= add_XML_value('updateclass', 'error');
} else {
$xml .= add_XML_value('updateclass', 'normal');
}
// Find the number of errors and warnings
$Build = new Build();
$Build->Id = $buildid;
$nerrors = $Build->GetNumberOfErrors();
$xml .= add_XML_value('error', $nerrors);
$nwarnings = $Build->GetNumberOfWarnings();
$xml .= add_XML_value('warning', $nwarnings);
// Set the color
if ($nerrors > 0) {
$xml .= add_XML_value('errorclass', 'error');
} elseif ($nwarnings > 0) {
$xml .= add_XML_value('errorclass', 'warning');
} else {
$xml .= add_XML_value('errorclass', 'normal');
}
// Find the test
$nnotrun = $Build->GetNumberOfNotRunTests();
$nfail = $Build->GetNumberOfFailedTests();
// Display the failing tests then the not run
if ($nfail > 0) {
$xml .= add_XML_value('testfail', $nfail);
$xml .= add_XML_value('testfailclass', 'error');
} elseif ($nnotrun > 0) {
$xml .= add_XML_value('testfail', $nnotrun);
$xml .= add_XML_value('testfailclass', 'warning');
} else {
$xml .= add_XML_value('testfail', '0');
$xml .= add_XML_value('testfailclass', 'normal');
}
$xml .= add_XML_value('NA', '0');
} else {
$xml .= add_XML_value('NA', '1');
}
$xml .= '</' . strtolower($type) . '>';
return $xml;
}
示例2: ReportLastBuild
/** Report statistics about the last build */
function ReportLastBuild($type, $projectid, $siteid, $projectname, $nightlytime)
{
$xml = "<" . strtolower($type) . ">";
$nightlytime = strtotime($nightlytime);
// Find the last build
$build = pdo_query("SELECT starttime,id FROM build WHERE siteid='{$siteid}' AND projectid='{$projectid}' AND type='{$type}' ORDER BY submittime DESC LIMIT 1");
if (pdo_num_rows($build) > 0) {
$build_array = pdo_fetch_array($build);
$buildid = $build_array["id"];
// Express the date in terms of days (makes more sens)
$buildtime = strtotime($build_array["starttime"] . " UTC");
$builddate = $buildtime;
if (date(FMT_TIME, $buildtime) > date(FMT_TIME, $nightlytime)) {
$builddate += 3600 * 24;
//next day
}
if (date(FMT_TIME, $nightlytime) < '12:00:00') {
$builddate -= 3600 * 24;
// previous date
}
$date = date(FMT_DATE, $builddate);
$days = (time() - strtotime($date)) / (3600 * 24);
if ($days < 1) {
$day = "today";
} else {
if ($days > 1 && $days < 2) {
$day = "yesterday";
} else {
$day = round($days) . " days";
}
}
$xml .= add_XML_value("date", $day);
$xml .= add_XML_value("datelink", "index.php?project=" . urlencode($projectname) . "&date=" . $date);
// Configure
$configure = pdo_query("SELECT status FROM configure WHERE buildid='{$buildid}'");
if (pdo_num_rows($configure) > 0) {
$configure_array = pdo_fetch_array($configure);
$xml .= add_XML_value("configure", $configure_array["status"]);
if ($configure_array["status"] != 0) {
$xml .= add_XML_value("configureclass", "error");
} else {
$xml .= add_XML_value("configureclass", "normal");
}
} else {
$xml .= add_XML_value("configure", "-");
$xml .= add_XML_value("configureclass", "normal");
}
// Update
$update = pdo_query("SELECT uf.updateid FROM updatefile AS uf,build2update AS b2u WHERE uf.updateid=b2u.updateid AND b2u.buildid=" . $buildid);
$nupdates = pdo_num_rows($update);
$xml .= add_XML_value("update", $nupdates);
// Find locally modified files
$updatelocal = pdo_query("SELECT uf.updateid FROM updatefile AS uf,build2update AS b2u WHERE uf.updateid=b2u.updateid AND b2u.buildid=" . $buildid . " AND uf.author='Local User'");
// Set the color
if (pdo_num_rows($updatelocal) > 0) {
$xml .= add_XML_value("updateclass", "error");
} else {
$xml .= add_XML_value("updateclass", "normal");
}
// Find the number of errors and warnings
$Build = new Build();
$Build->Id = $buildid;
$nerrors = $Build->GetNumberOfErrors();
$xml .= add_XML_value("error", $nerrors);
$nwarnings = $Build->GetNumberOfWarnings();
$xml .= add_XML_value("warning", $nwarnings);
// Set the color
if ($nerrors > 0) {
$xml .= add_XML_value("errorclass", "error");
} else {
if ($nwarnings > 0) {
$xml .= add_XML_value("errorclass", "warning");
} else {
$xml .= add_XML_value("errorclass", "normal");
}
}
// Find the test
$nnotrun = $Build->GetNumberOfNotRunTests();
$nfail = $Build->GetNumberOfFailedTests();
// Display the failing tests then the not run
if ($nfail > 0) {
$xml .= add_XML_value("testfail", $nfail);
$xml .= add_XML_value("testfailclass", "error");
} else {
if ($nnotrun > 0) {
$xml .= add_XML_value("testfail", $nnotrun);
$xml .= add_XML_value("testfailclass", "warning");
} else {
$xml .= add_XML_value("testfail", "0");
$xml .= add_XML_value("testfailclass", "normal");
}
}
$xml .= add_XML_value("NA", "0");
} else {
$xml .= add_XML_value("NA", "1");
}
$xml .= "</" . strtolower($type) . ">";
return $xml;
}
示例3: ComputeUpdateStatistics
/** Compute the user statistics */
public function ComputeUpdateStatistics()
{
if (!$this->Id) {
add_log('Id is not set', 'Build::ComputeUpdateStatistics', LOG_ERR, $this->ProjectId, $this->Id, CDASH_OBJECT_BUILD, $this->Id);
return false;
}
if (!$this->ProjectId) {
add_log('ProjectId is not set', 'Build::ComputeUpdateStatistics', LOG_ERR, 0, $this->Id);
return false;
}
$previousbuildid = $this->GetPreviousBuildId();
if ($previousbuildid < 1) {
// Nothing to compare the current results against.
return false;
}
// Find how the number of errors, warnings and test failures have changed.
$previousbuild = new Build();
$previousbuild->Id = $previousbuildid;
$errordiff = $this->GetNumberOfErrors() - $previousbuild->GetNumberOfErrors();
$warningdiff = $this->GetNumberOfWarnings() - $previousbuild->GetNumberOfWarnings();
$testdiff = $this->GetNumberOfFailedTests() + $this->GetNumberOfNotRunTests() - ($previousbuild->GetNumberOfFailedTests() + $previousbuild->GetNumberOfNotRunTests());
// Find the number of authors that contributed to this changeset.
$pdo = get_link_identifier()->getPdo();
$nauthors_stmt = $pdo->prepare('SELECT count(author) FROM
(SELECT uf.author FROM updatefile AS uf
JOIN build2update AS b2u ON (b2u.updateid=uf.updateid)
WHERE b2u.buildid=? GROUP BY author)
AS test');
$nauthors_stmt->execute(array($this->Id));
$nauthors_array = $nauthors_stmt->fetch();
$nauthors = $nauthors_array[0];
$newbuild = 1;
$previousauthor = '';
// Record user statistics for each updated file.
$updatefiles_stmt = $pdo->prepare("SELECT author,email,checkindate,filename FROM updatefile AS uf\n JOIN build2update AS b2u ON b2u.updateid=uf.updateid\n WHERE b2u.buildid=? AND checkindate>'1980-01-01T00:00:00'\n ORDER BY author ASC, checkindate ASC");
$updatefiles_stmt->execute(array($this->Id));
add_last_sql_error('Build:ComputeUpdateStatistics', $this->ProjectId, $this->Id);
while ($updatefiles_array = $updatefiles_stmt->fetch()) {
$checkindate = $updatefiles_array['checkindate'];
$author = $updatefiles_array['author'];
$filename = $updatefiles_array['filename'];
$email = $updatefiles_array['email'];
$warnings = 0;
$errors = 0;
$tests = 0;
if ($author != $previousauthor) {
$newbuild = 1;
}
$previousauthor = $author;
if ($warningdiff > 1) {
$warnings = $this->FindRealErrors('WARNING', $author, $this->Id, $filename);
} elseif ($warningdiff < 0) {
$warnings = $this->FindRealErrors('WARNING', $author, $previousbuildid, $filename) * -1;
}
if ($errordiff > 1) {
$errors = $this->FindRealErrors('ERROR', $author, $this->Id, $filename);
} elseif ($errordiff < 0) {
$errors = $this->FindRealErrors('ERROR', $author, $previousbuildid, $filename) * -1;
}
if ($nauthors > 1) {
// When multiple authors contribute to a changeset it is
// too difficult to determine which modified file caused a
// change in test behavior.
$tests = 0;
} else {
$tests = $testdiff;
}
$this->AddUpdateStatistics($author, $email, $checkindate, $newbuild, $warnings, $errors, $tests);
$warningdiff -= $warnings;
$errordiff -= $errors;
$testdiff -= $tests;
$newbuild = 0;
}
return true;
}