HomePhabricator

When running XHPAST unit tests, include the "syntax error" lint rule

Description

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

Details

Provenance
epriestleyAuthored on Apr 29 2016, 12:59 PM
epriestleyPushed on Apr 29 2016, 1:30 PM
Reviewer
richardvanvelzen
Differential Revision
D15819: When running XHPAST unit tests, include the "syntax error" lint rule
Parents
rARC3ffed59bd7fb: Update xhpast linter rules for new function AST format
Branches
Unknown
Tags
Unknown
Build Status
Buildable 11982
Build 15072: Run Core Tests