function updowndata($buildSearched, $component = null, $caseIDarg = null) { $version = getVersionFromBuild($buildSearched); // get up/down data for a build if ($component == null) { $arrData = createDataForUpDown($buildSearched); } elseif ($component != null) { $arrData = createDataForUpDownComponent($buildSearched, $component); } elseif ($caseID != null) { $arrData = createDataForUpDownCase($buildSearched, $caseIDarg); } if (!is_array($arrData)) { return "not_array"; } // extract searched build data $buildData = array(); foreach ($arrData as $release => $releaseData) { foreach ($releaseData[builds] as $buildNum => $build) { if ($buildNum == $buildSearched) { $buildData = $build; break; } } } // create results array $moduleArr = array(); foreach ($buildData[rel] as $versionFull => $release) { $relID = getVersionIDFromVersionFull($versionFull); if (!is_array($moduleArr[$relID][categories])) { $moduleArr[$relID][categories] = array(); } foreach ($release[cases] as $caseID => $case) { if (!is_array($moduleArr[$relID][categories][$case[category]])) { $moduleArr[$relID][categories][$case[category]] = array(); if (!is_array($moduleArr[$relID][categories][$case[category]][modules][$case[component]])) { $moduleArr[$relID][categories][$case[category]][modules][$case[component]] = array(); } } $moduleArr[$relID][categories][$case[category]][modules][$case[component]][cases][$caseID] = $case; } } foreach ($moduleArr as $relID => $rel) { $modNames = array(); $catNames = array(); $pass = $fail = $time = 0; foreach ($rel[categories] as $catName => $category) { array_push($catNames, "'" . $catName . "'"); $passC = $failC = $timeC = 0; foreach ($category[modules] as $modName => $module) { array_push($modNames, "'" . $modName . "'"); $passM = $failM = $timeM = 0; foreach ($module[cases] as $caseID => $case) { $timeC += $case[time]; $timeM += $case[time]; $time += $case[time]; if (!($case[time] > 0)) { $case[time] = 1; } $moduleArr[$relID][categories][$catName][modules][$modName][cases][$caseID][time] = date("i:s", mktime(0, 0, $case[time])); if ($case[status] == "PASSED") { $passM++; } elseif ($case[status] != "RUNNING") { $failM++; } } //email if ($failM == 0) { $moduleArr[$relID][categories][$catName][modules][$modName][email] = 0; } else { $moduleArr[$relID][categories][$catName][modules][$modName][email] = 1; } if ($gren == "grenreg") { $moduleArr[$relID][categories][$catName][modules][$modName][stats] = createTPFtableGren($passM, $failM, $version, $buildSearched, $modName, $catName, "yes"); $moduleArr[$relID][categories][$catName][modules][$modName][chart] = createBarChartForGrenReg($passM + $failM, $passM, $failM, $buildSearched, $version, $modName, $catName, "yes"); } else { $moduleArr[$relID][categories][$catName][modules][$modName][stats] = createTPFtableUpDown($relID, $passM, $failM, $version, $buildSearched, $modName, $catName, "yes"); $moduleArr[$relID][categories][$catName][modules][$modName][chart] = createBarChartForRegression2($passM + $failM, $passM, $failM, $buildSearched, $version, $modName, $catName, "yes"); } $moduleArr[$relID][categories][$catName][modules][$modName][time] = Sec2Time($timeM); $commentData = getModuleCommentsUpDown($modName, $catName, $buildSearched, $version, $relID); $ownerData = getModuleOwners($modName); $moduleArr[$relID][categories][$catName][modules][$modName][sqaOwner] = $ownerData[sqa]; $moduleArr[$relID][categories][$catName][modules][$modName][devOwner] = $ownerData[dev]; $moduleArr[$relID][categories][$catName][modules][$modName][autOwner] = $ownerData[auto]; if (is_array($commentData)) { $moduleArr[$relID][categories][$catName][modules][$modName][comment] = $commentData[comment]; $moduleArr[$relID][categories][$catName][modules][$modName][bugLink] = createModuleBugField($commentData[bugs]); $moduleArr[$relID][categories][$catName][modules][$modName][bugs] = $commentData[bugs]; } $passC += $passM; $failC += $failM; } $moduleArr[$relID][categories][$catName][stats] = createTPFtable2($passC, $failC, $version, $buildSearched, "", $catName, ""); $moduleArr[$relID][categories][$catName][chart] = createBarChartForRegression2($passC + $failC, $passC, $failC, $buildSearched, $version, $modName, $catName, ""); $moduleArr[$relID][categories][$catName][time] = Sec2Time($timeC); $pass += $passC; $fail += $failC; } $moduleArr[$relID][stats] = createTPFtable2($pass, $fail, $version, $buildSearched, "", "", ""); $moduleArr[$relID][chart] = createBarChartForRegression2($pass + $fail, $pass, $fail, $buildSearched, $version, $modName, $catName, ""); $moduleArr[$relID][time] = Sec2Time($time); $moduleArr[$relID][modNames] = implode(",", array_unique($modNames)); $moduleArr[$relID][catNames] = implode(",", array_unique($catNames)); $moduleArr[$relID][fullname] = getVersionFullFromVersionID($relID); } // sort category / component names in alphabetical order $relNames = array(); foreach ($moduleArr as $relID => $rel) { // store updown release names array_push($relNames, $relID); ksort($moduleArr[$relID][categories], SORT_STRING); foreach ($rel[categories] as $catName => $module) { ksort($rel[categories][$catName][modules], SORT_STRING); } } $result = array(); array_push($result, $moduleArr); array_push($result, implode(",", $relNames)); return $result; }
function format_use_time($time) { $array = Sec2Time($time); return $array['string']; }
//$moduleArr[categories][$cat][modules][$comp][comment] ='Yet to Run in this build'; $moduleArr[categories][$cat][modules][$comp][basetable] = createBasetable(0, $baseValue[$comp]); $commentData = getModuleComments($comp, $cat, $build, $version, $regr); $ownerData = getModuleOwners($modName); $moduleArr[categories][$cat][modules][$comp][comment] = $commentData[comment]; $moduleArr[categories][$cat][modules][$comp][bugLink] = createModuleBugField($commentData[bugs]); $moduleArr[categories][$cat][modules][$comp][bugs] = $commentData[bugs]; $moduleArr[categories][$cat][modules][$comp][bugsOld] = $commentData[bugsOld]; $moduleArr[categories][$cat][modules][$comp][bugLinkOld] = createModuleBugField($commentData[bugsOld]); } $moduleArr[basetable] = createBasetable($pass + $fail, $baseVal + $catextra); } //////4. till here/////////////////// $moduleArr[stats] = createTPFtable2($pass, $fail, $version, $build, "", "", "", "platform.php"); $moduleArr[chart] = createBarChartForReg($pass + $fail, $pass, $fail, $build, $version, $modName, $catName, 0); $moduleArr[time] = Sec2Time($time); /////////////////////////////////////////////////// ########################################################################################################################### // sort category / component names in alphabetical order ksort($moduleArr[categories], SORT_STRING); foreach ($moduleArr[categories] as $catName => $module) { ksort($moduleArr[categories][$catName][modules], SORT_STRING); } ########################################################################################################################### // export to excel if ($regr == "phase") { $build = $_GET[build]; } $index = 1; $filename = "casedata/exportData" . $build . ".csv"; exec('chmod 777 /casedata/');
$casesUpDown[$caseID][countID] = $i; $i++; $time += $case[time]; if ($case[status] == "PASSED") { $passed++; } elseif ($case[status] != "RUNNING") { $failed++; } } $smarty = new TLSmarty(); $smarty->assign('flag', $flag); $smarty->assign('testcases', $casesUpDown); $smarty->assign('version', $version); $smarty->assign('build', $build); $smarty->assign('mod', $mod); $smarty->assign('cat', $cat); $smarty->assign('rap', $rap); $smarty->assign('gren', $gren); $smarty->assign('regr', $regression); $smarty->assign('relID', $relIDarg); $smarty->assign('updown', $updown); $smarty->assign('count', count($casesUpDown)); $smarty->assign('pass', $passed); $smarty->assign('fail', $failed); $smarty->assign('time', Sec2Time($time)); $smarty->assign('platform', $_GET['platform']); $smarty->assign('moduleArrUpDown', $results[0]); $smarty->assign('relNames', $results[1]); $smarty->assign('updownStatus', is_array($results) ? "" : "not_array"); $smarty->display('platform.tpl'); }
function createDataForRegBuild($build) { $buildDataArr = array(); # if ($build < 18344 || $build > 99999) return; // establish connection to DB $linkID = connectDB(); // get a list of runIDs for this build $runIDsArr = getLatestRegRunsForBuild($build); if ($runIDsArr == "") { return " has NO RUNS!<br>PLEASE SEARCH ANOTHER BUILD!"; } foreach ($runIDsArr as $runID => $build) { $caseDataArr = array(); $passed = $running = $failed = $time = 0; $caseIDsArr = getCasesNoPlatform($runID); if (!$caseIDsArr) { continue; } ereg("([0-9]+\\.[0-9]+).+", $build[version], $regs); $release = $regs[1]; foreach ($caseIDsArr as $caseID) { $caseStatusRow = getCaseStatusWithModules($runID, $caseID); if (!ereg('^SETUP', $caseStatusRow['caseName']) && !ereg('^CLEANUP', $caseStatusRow['caseName'])) { $buildDataArr[$release][builds][$build[build]][version] = $build[version]; $buildDataArr[$release][builds][$build[build]][cases][$caseID][title] = formatCaseTitle($caseStatusRow['caseName']); $buildDataArr[$release][builds][$build[build]][cases][$caseID][component] = $caseStatusRow['component']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][category] = $caseStatusRow['category']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][script] = $caseStatusRow['script']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][status] = $caseStatusRow['caseStatus']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][started] = $caseStatusRow['startedCase']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][time] = $caseStatusRow['caseExecutionTime']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][log] = $build[runlog] . $caseStatusRow['scriptlog']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][notes] = $caseStatusRow['caseRunComments']; } } //end case } //end run foreach ($buildDataArr as $release => $releaseData) { $time_release = 0; foreach ($releaseData[builds] as $versionID => $build) { $case_count = 0; foreach ($build[cases] as $caseID => $case) { $i = 0; foreach ($case[runs] as $runID => $run) { if ($case_count == 0) { $runArr = end($buildDataArr[$release][builds][$versionID][cases][$caseID][runs]); $buildDataArr[$release][builds][$versionID][started] = $runArr[started]; } if ($i == 0) { // get runStatus from runID $buildDataArr[$release][builds][$versionID][runstatus] = getRunStatusForReg($versionID); if ($run[status] == "PASSED" || $run[status] == "RUNNING") { $buildDataArr[$release][builds][$versionID][cases][$caseID][status] = $run[status]; $buildDataArr[$release][builds][$versionID][cases][$caseID][time] = $run[time]; $buildDataArr[$release][builds][$versionID][cases][$caseID][started] = $run[started]; $buildDataArr[$release][builds][$versionID][cases][$caseID][log] = $run[log]; $buildDataArr[$release][builds][$versionID][cases][$caseID][notes] = $run[notes]; break; } else { $buildDataArr[$release][builds][$versionID][cases][$caseID][status] = $run[status]; $buildDataArr[$release][builds][$versionID][cases][$caseID][time] = $run[time]; $buildDataArr[$release][builds][$versionID][cases][$caseID][started] = $run[started]; $buildDataArr[$release][builds][$versionID][cases][$caseID][log] = $run[log]; $buildDataArr[$release][builds][$versionID][cases][$caseID][notes] = $run[notes]; } } if ($run[status] == "PASSED") { $buildDataArr[$release][builds][$versionID][cases][$caseID][status] = $run[status]; $buildDataArr[$release][builds][$versionID][cases][$caseID][time] = $run[time]; $buildDataArr[$release][builds][$versionID][cases][$caseID][started] = $run[started]; $buildDataArr[$release][builds][$versionID][cases][$caseID][log] = $run[log]; $buildDataArr[$release][builds][$versionID][cases][$caseID][notes] = $run[notes]; break; } $i++; } $case_count++; } $passed = $failed = $running = 0; foreach ($buildDataArr[$release][builds][$versionID][cases] as $caseID => $case) { if (!ereg('^SETUP', $case[title]) && !ereg('^CLEANUP', $case[title])) { if ($case[status] == "PASSED") { $passed++; } elseif ($case[status] == "RUNNING") { $running++; } else { $failed++; } } $time_release += $case['time']; } $total = $passed + $failed; if ($total != 0) { $buildDataArr[$release][builds][$versionID][total] = $total; $buildDataArr[$release][builds][$versionID][passed] = $passed; $buildDataArr[$release][builds][$versionID][running] = $running; $buildDataArr[$release][builds][$versionID][failed] = $failed; $buildDataArr[$release][builds][$versionID][status] = getPassFailStatus($failed, $buildDataArr[$release][builds][$versionID][runstatus]); } } //end build $buildDataArr[$release][time] = Sec2Time($time_release); } //end release mysql_close($linkID); insertRegressionToDB($buildDataArr); return $buildDataArr; }
function createDataForPhaseBuild($phase, $dataType = "smoke") { $buildDataArr = array(); $SC_TIMES = array(); $linkID = connectDB(); $build = getBuildFromTable($phase); if ($dataType == "phase") { $runIDsArr = getLatestPhaseRunsForBuild($build, $phase); $tableQuery = "phaseResults"; } else { $runIDsArr = getLatestRegRunsForBuild($build); $tableQuery = "regressionResults"; } if ($runIDsArr == "") { return " has NO RUNS!<br>PLEASE SEARCH ANOTHER BUILD!"; } foreach ($runIDsArr as $runID => $build) { $caseDataArr = array(); $passed = $running = $failed = $time = 0; $caseIDsArr = getPhaseCasesNoPlatform($runID); if (!$caseIDsArr) { continue; } ereg("([0-9]+\\.[0-9]+).+", $build[version], $regs); $release = $regs[1]; foreach ($caseIDsArr as $caseID) { $caseStatusRow = getPhaseCaseStatusWithModules($runID, $caseID); if ($caseStatusRow['caseStatus'] != 'NOTATTEMPTED' && !ereg('^SETUP', $caseStatusRow['caseName']) && !ereg('^CLEANUP', $caseStatusRow['caseName'])) { $buildDataArr[$release][phase] = $phase; $buildDataArr[$release][version] = $build[version]; $buildDataArr[$release][builds][$build[build]][version] = $build[version]; $buildDataArr[$release][builds][$build[build]][cases][$caseID][title] = formatCaseTitle($caseStatusRow['caseName']); $buildDataArr[$release][builds][$build[build]][cases][$caseID][component] = $caseStatusRow['component']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][category] = $caseStatusRow['category']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][script] = $caseStatusRow['script']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][status] = $caseStatusRow['caseStatus']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][started] = $caseStatusRow['startedCase']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][time] = $caseStatusRow['caseExecutionTime']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][log] = $build[runlog] . $caseStatusRow['scriptlog']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][notes] = $caseStatusRow['caseRunComments']; $buildDataArr[$release][builds][$build[build]][cases][$caseID][runs][$runID][inbuild] = $build[inbuild]; // CASE RUN TIME: ALL RUNS + SETUP/CLEANUP // if (!isset($buildDataArr[$release][builds][$build[build]][cases][$caseID][time])) { $buildDataArr[$release][builds][$build[build]][cases][$caseID][time] = $caseStatusRow['caseExecutionTime']; } else { $buildDataArr[$release][builds][$build[build]][cases][$caseID][time] += $caseStatusRow['caseExecutionTime']; } } else { if (!isset($SC_TIMES[$caseStatusRow['script']][time])) { $SC_TIMES[$caseStatusRow['script']][time] = $caseStatusRow['caseExecutionTime']; } else { $SC_TIMES[$caseStatusRow['script']][time] += $caseStatusRow['caseExecutionTime']; } } } //end case } //end run foreach ($buildDataArr as $release => $releaseData) { $time_release = 0; foreach ($releaseData[builds] as $versionID => $build) { $case_count = 0; foreach ($build[cases] as $caseID => $case) { $i = 0; foreach ($case[runs] as $runID => $run) { if ($case_count == 0) { $runArr = end($buildDataArr[$release][builds][$versionID][cases][$caseID][runs]); $buildDataArr[$release][builds][$versionID][started] = $runArr[started]; } if ($i == 0) { // get runStatus from runID $buildDataArr[$release][builds][$versionID][runstatus] = getRunStatusForReg($versionID, $tableQuery); if ($run[status] == "PASSED" || $run[status] == "RUNNING") { $buildDataArr[$release][builds][$versionID][cases][$caseID][status] = $run[status]; $buildDataArr[$release][builds][$versionID][cases][$caseID][started] = $run[started]; $buildDataArr[$release][builds][$versionID][cases][$caseID][log] = $run[log]; $buildDataArr[$release][builds][$versionID][cases][$caseID][notes] = $run[notes]; $buildDataArr[$release][builds][$versionID][cases][$caseID][inbuild] = $run[inbuild]; break; } else { $buildDataArr[$release][builds][$versionID][cases][$caseID][status] = $run[status]; $buildDataArr[$release][builds][$versionID][cases][$caseID][started] = $run[started]; $buildDataArr[$release][builds][$versionID][cases][$caseID][log] = $run[log]; $buildDataArr[$release][builds][$versionID][cases][$caseID][notes] = $run[notes]; $buildDataArr[$release][builds][$versionID][cases][$caseID][inbuild] = $run[inbuild]; } } if ($run[status] == "PASSED") { $buildDataArr[$release][builds][$versionID][cases][$caseID][status] = $run[status]; $buildDataArr[$release][builds][$versionID][cases][$caseID][started] = $run[started]; $buildDataArr[$release][builds][$versionID][cases][$caseID][log] = $run[log]; $buildDataArr[$release][builds][$versionID][cases][$caseID][notes] = $run[notes]; $buildDataArr[$release][builds][$versionID][cases][$caseID][inbuild] = $run[inbuild]; break; } $i++; } $case_count++; } $passed = $failed = $running = 0; foreach ($buildDataArr[$release][builds][$versionID][cases] as $caseID => $case) { if (!ereg('^SETUP', $case[title]) && !ereg('^CLEANUP', $case[title])) { if ($case[status] == "PASSED") { $passed++; } elseif ($case[status] == "RUNNING") { $running++; } else { $failed++; } } if (!$SC_TIMES[$case[script]][used]) { $buildDataArr[$release][builds][$versionID][cases][$caseID][time] += $SC_TIMES[$case[script]][time]; $SC_TIMES[$case[script]][used] = 1; } $time_release += $buildDataArr[$release][builds][$versionID][cases][$caseID][time]; } $total = $passed + $failed; if ($total != 0) { $buildDataArr[$release][builds][$versionID][total] = $total; $buildDataArr[$release][builds][$versionID][passed] = $passed; $buildDataArr[$release][builds][$versionID][running] = $running; $buildDataArr[$release][builds][$versionID][failed] = $failed; $buildDataArr[$release][builds][$versionID][status] = getPassFailStatus($failed, $buildDataArr[$release][builds][$versionID][runstatus]); } } //end build $buildDataArr[$release][time] = Sec2Time($time_release); } //end release mysql_close($linkID); insertPhaseToDB($buildDataArr, $tableQuery); return $buildDataArr; }
echo "count:" . $count . "<br/>"; for ($k = 0; $k < $count; $k++) { $time[$j] = $_DB->GetResultValue($query, $k, 'time_taken'); //print_r($time); $tim = explode(' ', $time[$k]); //print_r($tim); unset($tim[0]); //print_r($tim); $time_seconds = 0; foreach ($tim as $key => $str) { $str_time = $str; sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds); $time_seconds += isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes; } echo $time_seconds; $a[$j] = Sec2Time($time_seconds); //$time_seconds=0; } } } /*end of program*/ //print_r($time); //print_r($tim); print_r($a); function Sec2Time($time) { if (is_numeric($time)) { $value = array("days" => 0, "hours" => 0, "minutes" => 0, "seconds" => 0); /*if($time >= 31556926){ //$value["years"] = floor($time/31556926); $time = ($time%31556926);