mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-10 00:42:40 +01:00
When running XHPAST unit tests, include the "syntax error" lint rule
Summary: See rARC3ffed59bd7. Currently, when a unit test includes a syntax error, it is raised in an unclear way ("error at line 10, char 1: XHP1 Unknown lint message!"). This is because each test case only activates rules it wants to test, so we lose the ID/name for the syntax message. However, we always want to test this and the lint engine can always raise it. To get a better error message, include it unconditionally. So a test for rule `X` really tests two rules: syntax, and `X`. Test Plan: Ran `arc unit` at HEAD, got a better test failure: ``` FAIL ArcanistCallTimePassByReferenceXHPASTLinterRuleTestCase::testLinter In 'call-time-pass-by-reference.lint-test', expected lint to raise error on line 10 at char 8, but no error was raised. Actually raised: error at line 10, char 1: XHP1 PHP Syntax Error! ``` NOTE: This doesn't pass tests yet, it just makes the test failure easier to understand. I'll see about fixing the test in the next change. Reviewers: chad, richardvanvelzen Reviewed By: richardvanvelzen Differential Revision: https://secure.phabricator.com/D15819
This commit is contained in:
parent
3ffed59bd7
commit
768e1a56bc
1 changed files with 12 additions and 1 deletions
|
@ -8,8 +8,19 @@ abstract class ArcanistXHPASTLinterRuleTestCase
|
|||
extends ArcanistLinterTestCase {
|
||||
|
||||
final protected function getLinter() {
|
||||
// Always include this rule so we get good messages if a test includes
|
||||
// a syntax error. No normal test should contain syntax errors.
|
||||
$syntax_rule = new ArcanistSyntaxErrorXHPASTLinterRule();
|
||||
|
||||
$test_rule = $this->getLinterRule();
|
||||
|
||||
$rules = array(
|
||||
$syntax_rule,
|
||||
$test_rule,
|
||||
);
|
||||
|
||||
return id(new ArcanistXHPASTLinter())
|
||||
->setRules(array($this->getLinterRule()));
|
||||
->setRules($rules);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue