mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-26 00:32:41 +01:00
Allow disabling the part where you write an excuse
Summary: Not everyone thinks it's a great feature Task ID: # Blame Rev: Test Plan: arc diff --skip-excuses Revert Plan: Tags: Reviewers: akramer, epriestley, ide, mroch Reviewed By: epriestley CC: aran, epriestley Differential Revision: https://secure.phabricator.com/D1735
This commit is contained in:
parent
f9a7cb225e
commit
6d17dd6030
1 changed files with 50 additions and 30 deletions
|
@ -229,6 +229,11 @@ EOTEXT
|
|||
'help' =>
|
||||
"Skip checks for untracked files in the working copy.",
|
||||
),
|
||||
'excuse' => array(
|
||||
'param' => 'excuse',
|
||||
'help' => 'Provide a prepared in advance excuse for any lints/tests'.
|
||||
' shall they fail.',
|
||||
),
|
||||
'less-context' => array(
|
||||
'help' =>
|
||||
"Normally, files are diffed with full context: the entire file is ".
|
||||
|
@ -1022,9 +1027,11 @@ EOTEXT
|
|||
"<bg:green>** LINT OKAY **</bg> No lint problems.\n");
|
||||
break;
|
||||
case ArcanistLintWorkflow::RESULT_WARNINGS:
|
||||
$continue = phutil_console_confirm(
|
||||
"Lint issued unresolved warnings. ".
|
||||
"Provide explanation and continue?");
|
||||
$msg = "Lint issued unresolved warnings. ";
|
||||
$msg .= $this->getArgument('excuse')
|
||||
? "Ignore them?"
|
||||
: "Provide explanation and continue?";
|
||||
$continue = phutil_console_confirm($msg);
|
||||
if (!$continue) {
|
||||
throw new ArcanistUserAbortException();
|
||||
}
|
||||
|
@ -1032,8 +1039,11 @@ EOTEXT
|
|||
case ArcanistLintWorkflow::RESULT_ERRORS:
|
||||
echo phutil_console_format(
|
||||
"<bg:red>** LINT ERRORS **</bg> Lint raised errors!\n");
|
||||
$continue = phutil_console_confirm(
|
||||
"Lint issued unresolved errors! Provide explanation and continue?");
|
||||
$msg = "Lint issued unresolved errors! ";
|
||||
$msg .= $this->getArgument('excuse')
|
||||
? "Ignore lint errors?"
|
||||
: "Provide explanation and continue?";
|
||||
$continue = phutil_console_confirm($msg);
|
||||
if (!$continue) {
|
||||
throw new ArcanistUserAbortException();
|
||||
}
|
||||
|
@ -1042,6 +1052,9 @@ EOTEXT
|
|||
|
||||
$this->unresolvedLint = $lint_workflow->getUnresolvedMessages();
|
||||
if ($continue) {
|
||||
if ($this->getArgument('excuse')) {
|
||||
$this->unitExcuse = $this->getArgument('excuse');
|
||||
} else {
|
||||
$template = "\n\n# Provide an explanation for these lint failures:\n";
|
||||
foreach ($this->unresolvedLint as $message) {
|
||||
$template = $template."# ".
|
||||
|
@ -1052,6 +1065,7 @@ EOTEXT
|
|||
}
|
||||
$this->lintExcuse = $this->getErrorExcuse($template);
|
||||
}
|
||||
}
|
||||
|
||||
return $lint_result;
|
||||
} catch (ArcanistNoEngineException $ex) {
|
||||
|
@ -1102,9 +1116,11 @@ EOTEXT
|
|||
case ArcanistUnitWorkflow::RESULT_FAIL:
|
||||
echo phutil_console_format(
|
||||
"<bg:red>** UNIT ERRORS **</bg> Unit testing raised errors!\n");
|
||||
$continue = phutil_console_confirm(
|
||||
"Unit test results include failures!".
|
||||
" Explain test failures and continue?");
|
||||
$msg = "Unit test results include failures! ";
|
||||
$msg .= $this->getArgument('excuse')
|
||||
? "Ignore test failures?"
|
||||
: "Explain test failures and continue?";
|
||||
$continue = phutil_console_confirm($msg);
|
||||
if (!$continue) {
|
||||
throw new ArcanistUserAbortException();
|
||||
}
|
||||
|
@ -1114,6 +1130,9 @@ EOTEXT
|
|||
|
||||
$this->testResults = $this->unitWorkflow->getTestResults();
|
||||
if ($explain) {
|
||||
if ($this->getArgument('excuse')) {
|
||||
$this->unitExcuse = $this->getArgument('excuse');
|
||||
} else {
|
||||
$template = "\n\n".
|
||||
"# Provide an explanation for these unit test failures:\n";
|
||||
foreach ($this->testResults as $test) {
|
||||
|
@ -1131,6 +1150,7 @@ EOTEXT
|
|||
}
|
||||
$this->unitExcuse = $this->getErrorExcuse($template);
|
||||
}
|
||||
}
|
||||
|
||||
return $unit_result;
|
||||
} catch (ArcanistNoEngineException $ex) {
|
||||
|
|
Loading…
Reference in a new issue