From 00a86549b0b27a068e030083191bd1f13b91c34b Mon Sep 17 00:00:00 2001 From: zhaoke Date: Fri, 16 Dec 2022 11:08:45 +0000 Subject: [PATCH] Fix bug 30974. --- module/testtask/lang/de.php | 1 + module/testtask/lang/en.php | 1 + module/testtask/lang/fr.php | 1 + module/testtask/lang/vi.php | 1 + module/testtask/lang/zh-cn.php | 1 + module/testtask/model.php | 59 +++++++++++++++++++++++++++++++--- 6 files changed, 60 insertions(+), 4 deletions(-) diff --git a/module/testtask/lang/de.php b/module/testtask/lang/de.php index 57a64c7fb0..e30852370f 100644 --- a/module/testtask/lang/de.php +++ b/module/testtask/lang/de.php @@ -108,6 +108,7 @@ $lang->testtask->caseCount = 'Case Count'; $lang->testtask->passCount = 'Pass'; $lang->testtask->failCount = 'Fail'; $lang->testtask->summary = '%s cases, %s failures, %s time.'; +$lang->testtask->stepSummary = 'Total %s steps, %s passes, %s failures.'; $lang->testtask->pageSummary = 'Total testtasks: %s.'; $lang->testtask->mySummary = 'Total testtasks: %s, Wait: %s, Testing: %s, Blocked: %s.'; $lang->testtask->allSummary = 'Total testtasks: %s, Wait: %s, Testing: %s, Blocked: %s, Done: %s.'; diff --git a/module/testtask/lang/en.php b/module/testtask/lang/en.php index 8e8ad465f7..b16f51140c 100644 --- a/module/testtask/lang/en.php +++ b/module/testtask/lang/en.php @@ -108,6 +108,7 @@ $lang->testtask->caseCount = 'Case Count'; $lang->testtask->passCount = 'Pass'; $lang->testtask->failCount = 'Fail'; $lang->testtask->summary = '%s cases, %s failures, %s time.'; +$lang->testtask->stepSummary = 'Total %s steps, %s passes, %s failures.'; $lang->testtask->pageSummary = 'Total testtasks: %s.'; $lang->testtask->mySummary = 'Total testtasks: %s, Wait: %s, Testing: %s, Blocked: %s.'; $lang->testtask->allSummary = 'Total testtasks: %s, Wait: %s, Testing: %s, Blocked: %s, Done: %s.'; diff --git a/module/testtask/lang/fr.php b/module/testtask/lang/fr.php index 461b984441..8c0081f4d9 100644 --- a/module/testtask/lang/fr.php +++ b/module/testtask/lang/fr.php @@ -108,6 +108,7 @@ $lang->testtask->caseCount = 'Compteur CasTest'; $lang->testtask->passCount = 'Pass'; $lang->testtask->failCount = 'Fail'; $lang->testtask->summary = '%s CasTest, %s échecs, %s heures.'; +$lang->testtask->stepSummary = 'Total %s steps, %s passes, %s failures.'; $lang->testtask->pageSummary = 'Total testtasks: %s.'; $lang->testtask->mySummary = 'Total testtasks: %s, Wait: %s, Testing: %s, Blocked: %s.'; $lang->testtask->allSummary = 'Total testtasks: %s, Wait: %s, Testing: %s, Blocked: %s, Done: %s.'; diff --git a/module/testtask/lang/vi.php b/module/testtask/lang/vi.php index e41c0ff730..9a15146c45 100644 --- a/module/testtask/lang/vi.php +++ b/module/testtask/lang/vi.php @@ -97,6 +97,7 @@ $lang->testtask->caseCount = 'Case Count'; $lang->testtask->passCount = 'Pass'; $lang->testtask->failCount = 'Fail'; $lang->testtask->summary = '%s cases, %s failures, %s time.'; +$lang->testtask->stepSummary = 'Total %s steps, %s passes, %s failures.'; $lang->testtask->beginAndEnd = 'Thời gian'; $lang->testtask->to = 'Tới'; diff --git a/module/testtask/lang/zh-cn.php b/module/testtask/lang/zh-cn.php index bbfe4ee8fc..4074414ce8 100644 --- a/module/testtask/lang/zh-cn.php +++ b/module/testtask/lang/zh-cn.php @@ -108,6 +108,7 @@ $lang->testtask->caseCount = '用例数'; $lang->testtask->passCount = '成功'; $lang->testtask->failCount = '失败'; $lang->testtask->summary = '有%s个用例,失败%s个,耗时%s。'; +$lang->testtask->stepSummary = '共有%s个步骤,%s个通过,%s个失败。'; $lang->testtask->pageSummary = '本页共 %s 个测试单。'; $lang->testtask->mySummary = '本页共 %s 个测试单,待测试测试单 %s,测试中测试单 %s,被阻塞测试单 %s。'; $lang->testtask->allSummary = '本页共 %s 个测试单,待测试测试单 %s,测试中测试单 %s,被阻塞测试单 %s,已测测试单 %s。'; diff --git a/module/testtask/model.php b/module/testtask/model.php index 07e71b7d35..a2fccb6c1e 100755 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -1448,12 +1448,10 @@ class testtaskModel extends model if(!empty($result->ZTFResult)) { - $result->ZTFResult = json_decode($result->ZTFResult); - $result->ZTFResult = empty($result->ZTFResult->log) ? '' : $result->ZTFResult->log; - $result->ZTFResult = "
  • " . str_replace(array("\r", "\n", "\r\n"), "
  • ", $result->ZTFResult) . "
  • "; + $result->ZTFResult = $this->formatZtfLog($result->ZTFResult, $result->stepResults); } - $result->files = zget($resultFiles, $resultID, array()); //Get files of case result. + $result->files = zget($resultFiles, $resultID, array()); //Get files of case result. if(isset($relatedSteps[$result->version])) { $relatedStep = $relatedSteps[$result->version]; @@ -1477,6 +1475,59 @@ class testtaskModel extends model return $results; } + /** + * Format ztf log. + * + * @param string $log + * @access public + * @return string + */ + public function formatZtfLog($result, $stepResults) + { + $logObj = json_decode($result); + $logs = empty($logObj->log) ? '' : $logObj->log; + if(empty($logs)) return ''; + + $logs = str_replace(array("\r", "\n", "\r\n"), "\n", $logs); + $logList = explode("\n", $logs); + $logHtml = ""; + + foreach($logList as $log) + { + $log = preg_replace("/^[\d\-:.\x20]+/", '', $log); + $log = trim($log); + if(empty($log)) continue; + $log = preg_replace(array("/:\x20失败/", "/:\x20fail/", "/:\x20成功/", "/:\x20pass/"), array(': 失败',': fail',': 成功',': pass'), $log); + + $logHtml .= "
  • " . $log . "
  • "; + } + + if(!empty($stepResults)) + { + $total = count($stepResults); + $failCount = $passCount = 0; + + foreach($stepResults as $step) + { + if($step['result'] == 'pass') + { + $passCount++; + } + elseif($step['result'] == 'fail') + { + $failCount++; + } + } + + $caseResult = $passCount ? 'pass':'fail'; + $logHtml .= "
  • " + . sprintf($this->lang->testtask->stepSummary, $total, $passCount, $failCount) + . "
  • "; + } + + return $logHtml; + } + /** * Judge an action is clickable or not. *