From d54c1978b96a7a93c9a59799ec65bbeb81662829 Mon Sep 17 00:00:00 2001 From: Dmitry Khomutov Date: Mon, 3 Apr 2017 21:04:27 +0700 Subject: [PATCH] Added allowed fail status for plugins (See build summary) --- public/assets/js/build-plugins/summary.js | 4 ++-- src/PHPCensor/Languages/lang.en.php | 1 + src/PHPCensor/Languages/lang.ru.php | 1 + src/PHPCensor/Model/Build.php | 9 +++++---- src/PHPCensor/Plugin/Util/Executor.php | 7 +++++-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/public/assets/js/build-plugins/summary.js b/public/assets/js/build-plugins/summary.js index ecffe894..7522c178 100644 --- a/public/assets/js/build-plugins/summary.js +++ b/public/assets/js/build-plugins/summary.js @@ -3,8 +3,8 @@ var SummaryPlugin = ActiveBuild.UiPlugin.extend({ css: 'col-xs-12', title: Lang.get('build-summary'), box: true, - statusLabels: [ Lang.get('pending'), Lang.get('running'), Lang.get('success'), Lang.get('failed') ], - statusClasses: ['info', 'warning', 'success', 'danger'], + statusLabels: [Lang.get('pending'), Lang.get('running'), Lang.get('success'), Lang.get('failed'), Lang.get('failed_allowed')], + statusClasses: ['info', 'warning', 'success', 'danger', 'danger'], register: function() { var self = this; diff --git a/src/PHPCensor/Languages/lang.en.php b/src/PHPCensor/Languages/lang.en.php index d06ec1f7..0fe48d29 100644 --- a/src/PHPCensor/Languages/lang.en.php +++ b/src/PHPCensor/Languages/lang.en.php @@ -83,6 +83,7 @@ PHP Censor', 'running' => 'Running', 'success' => 'Success', 'failed' => 'Failed', + 'failed_allowed' => 'Failed (Allowed)', 'error' => 'Error', 'skipped' => 'Skipped', 'trace' => 'Stack trace', diff --git a/src/PHPCensor/Languages/lang.ru.php b/src/PHPCensor/Languages/lang.ru.php index 8eec658d..a518efff 100644 --- a/src/PHPCensor/Languages/lang.ru.php +++ b/src/PHPCensor/Languages/lang.ru.php @@ -81,6 +81,7 @@ PHP Censor', 'running' => 'Запущена', 'success' => 'Успешно', 'failed' => 'Провал', + 'failed_allowed' => 'Провал (Допустим)', 'error' => 'Ошибка', 'skipped' => 'Пропущено', 'trace' => 'Стек вызова', diff --git a/src/PHPCensor/Model/Build.php b/src/PHPCensor/Model/Build.php index d63aa043..e110475d 100644 --- a/src/PHPCensor/Model/Build.php +++ b/src/PHPCensor/Model/Build.php @@ -21,10 +21,11 @@ class Build extends Model const STAGE_FIXED = 'fixed'; const STAGE_BROKEN = 'broken'; - const STATUS_PENDING = 0; - const STATUS_RUNNING = 1; - const STATUS_SUCCESS = 2; - const STATUS_FAILED = 3; + const STATUS_PENDING = 0; + const STATUS_RUNNING = 1; + const STATUS_SUCCESS = 2; + const STATUS_FAILED = 3; + const STATUS_FAILED_ALLOWED = 4; /** * @var array diff --git a/src/PHPCensor/Plugin/Util/Executor.php b/src/PHPCensor/Plugin/Util/Executor.php index 215842a2..3dc6fbdf 100644 --- a/src/PHPCensor/Plugin/Util/Executor.php +++ b/src/PHPCensor/Plugin/Util/Executor.php @@ -146,8 +146,7 @@ class Executor $this->logger->logSuccess('PLUGIN: SUCCESS'); $this->setPluginStatus($stage, $plugin, Build::STATUS_SUCCESS); } else { - // Execution failed - $this->setPluginStatus($stage, $plugin, Build::STATUS_FAILED); + $status = Build::STATUS_FAILED; if ($stage === Build::STAGE_SETUP) { $this->logger->logFailure('PLUGIN: FAILED'); @@ -164,9 +163,13 @@ class Executor $this->logger->logFailure('PLUGIN: FAILED'); $success = false; } else { + $status = Build::STATUS_FAILED_ALLOWED; + $this->logger->logFailure('PLUGIN: FAILED (ALLOWED)'); } } + + $this->setPluginStatus($stage, $plugin, $status); } }