Example #1
0
     case "failed":
         $test['status'] = "Failed";
         $test['statusclass'] = "error";
         $numFailed++;
         break;
     case "notrun":
         $test['status'] = "Not Run";
         $test['statusclass'] = "warning";
         $numNotRun++;
         break;
 }
 if ($row["timestatus"] >= $testtimemaxstatus) {
     $numTimeFailed++;
 }
 $testid = $row['id'];
 get_labels_JSON_from_query_results("SELECT text FROM label, label2test WHERE " . "label.id=label2test.labelid AND " . "label2test.testid='{$testid}' AND " . "label2test.buildid='{$buildid}' " . "ORDER BY text ASC", $test);
 // Search for recent test history
 if ($previous_buildids_str != "") {
     $history_query = "\n      SELECT DISTINCT status FROM build2test\n      WHERE testid={$testid} AND buildid IN ({$previous_buildids_str})";
     $history_results = pdo_query($history_query);
     $num_statuses = pdo_num_rows($history_results);
     if ($num_statuses > 0) {
         $response['displayhistory'] = 1;
         if ($num_statuses > 1) {
             $test['history'] = "Unstable";
             $test['historyclass'] = "warning";
         } else {
             $row = pdo_fetch_array($history_results);
             $test['history'] = ucfirst($row['status']);
             switch ($row['status']) {
                 case "passed":
Example #2
0
        $marshaledResolvedBuildFailure = array_merge($marshaledResolvedBuildFailure, array('stderr' => $resolvedBuildFailure['stderror'], 'stderrorrows' => min(10, substr_count($resolvedBuildFailure['stderror'], "\n") + 1), 'stdoutput' => $resolvedBuildFailure['stdoutput'], 'stdoutputrows' => min(10, substr_count($resolvedBuildFailure['stdoutputrows'], "\n") + 1)));
        addErrorResponse($marshaledResolvedBuildFailure);
    }
} else {
    $extrasql = '';
    if (isset($_GET['onlydeltap'])) {
        $extrasql = " AND newstatus='1'";
    }
    // Build error table
    $buildErrors = $build->GetBuildErrors($type, $extrasql);
    while ($buildError = pdo_fetch_array($buildErrors)) {
        addErrorResponse(builderror::marshal($buildError, $project_array, $revision));
    }
    // Build failure table
    $buildFailures = $build->getBuildFailures($projectid, $type, $extrasql, 'bf.id ASC');
    while ($buildFailure = pdo_fetch_array($buildFailures)) {
        $marshaledBuildFailure = buildfailure::marshal($buildFailure, $project_array, $revision, true);
        if ($project_array['displaylabels']) {
            get_labels_JSON_from_query_results("SELECT text FROM label, label2buildfailure\n                    WHERE label.id=label2buildfailure.labelid AND\n                    label2buildfailure.buildfailureid='" . $buildFailure['id'] . "'\n                    ORDER BY text ASC", $marshaledBuildFailure);
        }
        addErrorResponse($marshaledBuildFailure);
    }
}
if ($build->IsParentBuild()) {
    $response['numSubprojects'] = count(array_unique(array_map(function ($buildError) {
        return $buildError['subprojectid'];
    }, $response['errors'])));
}
$end = microtime_float();
$response['generationtime'] = round($end - $start, 3);
echo json_encode(cast_data_for_JSON($response));
Example #3
0
 $error_response['outputtype'] = $error_array['outputtype'];
 $error_response['workingdirectory'] = $error_array['workingdirectory'];
 $buildfailureid = $error_array['id'];
 $arguments = pdo_query("SELECT bfa.argument FROM buildfailureargument AS bfa,\n              buildfailure2argument AS bf2a\n       WHERE bf2a.buildfailureid='{$buildfailureid}' AND bf2a.argumentid=bfa.id\n       ORDER BY bf2a.place ASC");
 $i = 0;
 $arguments_response = array();
 while ($argument_array = pdo_fetch_array($arguments)) {
     if ($i == 0) {
         $error_response['argumentfirst'] = $argument_array['argument'];
     } else {
         $arguments_response[] = $argument_array['argument'];
     }
     $i++;
 }
 $error_response['arguments'] = $arguments_response;
 get_labels_JSON_from_query_results("SELECT text FROM label, label2buildfailure\n       WHERE label.id=label2buildfailure.labelid AND\n             label2buildfailure.buildfailureid='{$buildfailureid}'\n       ORDER BY text ASC", $error_response);
 $stderror = $error_array['stderror'];
 $stdoutput = $error_array['stdoutput'];
 if (isset($error_array['sourcefile'])) {
     $projectCvsUrl = $project_array['cvsurl'];
     $file = basename($error_array['sourcefile']);
     $directory = dirname($error_array['sourcefile']);
     $cvsurl = get_diff_url($projectid, $projectCvsUrl, $directory, $file, $revision);
     $error_response['cvsurl'] = $cvsurl;
     $source_dir = get_source_dir($projectid, $projectCvsUrl, $directory);
     if ($source_dir !== NULL) {
         $stderror = linkify_compiler_output($projectCvsUrl, $source_dir, $revision, $stderror);
         $stdoutput = linkify_compiler_output($projectCvsUrl, $source_dir, $revision, $stdoutput);
     }
 }
 if ($stderror) {
Example #4
0
 public static function marshal($data, $buildid, $projectid, $projectshowtesttime, $testtimemaxstatus, $testdate)
 {
     $marshaledStatus = self::marshalStatus($data['status']);
     $marshaledData = array('id' => $data['id'], 'buildid' => $buildid, 'status' => $marshaledStatus[0], 'statusclass' => $marshaledStatus[1], 'name' => $data['name'], 'execTime' => time_difference($data['time'], true, '', true), 'execTimeFull' => floatval($data['time']), 'details' => $data['details'], 'summaryLink' => "testSummary.php?project={$projectid}&name=" . urlencode($data['name']) . "&date={$testdate}", 'summary' => 'Summary', 'detailsLink' => "testDetails.php?test=" . $data['id'] . "&build={$buildid}");
     if ($data['newstatus']) {
         $marshaledData['new'] = '1';
     }
     if ($projectshowtesttime) {
         if ($data['timestatus'] < $testtimemaxstatus) {
             $marshaledData['timestatus'] = 'Passed';
             $marshaledData['timestatusclass'] = 'normal';
         } else {
             $marshaledData['timestatus'] = 'Failed';
             $marshaledData['timestatusclass'] = 'error';
         }
     }
     global $CDASH_DB_TYPE;
     if ($CDASH_DB_TYPE == 'pgsql') {
         get_labels_JSON_from_query_results('SELECT text FROM label, label2test WHERE ' . 'label.id=label2test.labelid AND ' . "label2test.testid=" . $marshaledData['id'] . " AND " . "label2test.buildid='{$buildid}' " . 'ORDER BY text ASC', $marshaledData);
     } else {
         if (!empty($data['labels'])) {
             $labels = explode(',', $data['labels']);
             $marshaledData['labels'] = $labels;
         }
     }
     if (isset($data['subprojectid'])) {
         $marshaledData['subprojectid'] = $data['subprojectid'];
     }
     if (isset($data['subprojectname'])) {
         $marshaledData['subprojectname'] = $data['subprojectname'];
     }
     return $marshaledData;
 }