Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15338911
D11172.id26822.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
14 KB
Referenced Files
None
Subscribers
None
D11172.id26822.diff
View Options
diff --git a/src/lint/linter/__tests__/ArcanistCSSLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistCSSLintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistCSSLintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistCSSLintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testCSSLintLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/csslint/',
- new ArcanistCSSLintLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/csslint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistCoffeeLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistCoffeeLintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistCoffeeLintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistCoffeeLintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testCoffeeLintLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/coffeelint/',
- new ArcanistCoffeeLintLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/coffeelint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistCppcheckLinterTestCase.php b/src/lint/linter/__tests__/ArcanistCppcheckLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistCppcheckLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistCppcheckLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testCppcheckLint() {
- return $this->executeTestsInDirectory(
- dirname(__FILE__).'/cppcheck/',
- new ArcanistCppcheckLinter());
+ return $this->executeTestsInDirectory(dirname(__FILE__).'/cppcheck/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistCpplintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistCpplintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistCpplintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistCpplintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testCpplintLint() {
- return $this->executeTestsInDirectory(
- dirname(__FILE__).'/cpplint/',
- new ArcanistCpplintLinter());
+ return $this->executeTestsInDirectory(dirname(__FILE__).'/cpplint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistFlake8LinterTestCase.php b/src/lint/linter/__tests__/ArcanistFlake8LinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistFlake8LinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistFlake8LinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testFlake8Lint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/flake8/',
- new ArcanistFlake8Linter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/flake8/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistGoLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistGoLintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistGoLintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistGoLintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testGoLintLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/golint/',
- new ArcanistGoLintLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/golint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistHLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistHLintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistHLintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistHLintLinterTestCase.php
@@ -1,9 +1,9 @@
<?php
final class ArcanistHLintLinterTestCase extends ArcanistArcanistLinterTestCase {
+
public function testHlintLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/hlint/',
- new ArcanistHLintLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/hlint/');
}
+
}
diff --git a/src/lint/linter/__tests__/ArcanistJSHintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistJSHintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistJSHintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistJSHintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testJSHintLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/jshint/',
- new ArcanistJSHintLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/jshint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistJSONLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistJSONLintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistJSONLintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistJSONLintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testJSONLintLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/jsonlint/',
- new ArcanistJSONLintLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/jsonlint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistJSONLinterTestCase.php b/src/lint/linter/__tests__/ArcanistJSONLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistJSONLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistJSONLinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistJSONLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testJSONLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/jsonlint/',
- new ArcanistJSONLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/jsonlint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistJscsLinterTestCase.php b/src/lint/linter/__tests__/ArcanistJscsLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistJscsLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistJscsLinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistJscsLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testJscsLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/jscs/',
- new ArcanistJscsLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/jscs/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistLesscLinterTestCase.php b/src/lint/linter/__tests__/ArcanistLesscLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistLesscLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistLesscLinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistLesscLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testLesscLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/lessc/',
- new ArcanistLesscLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/lessc/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistLinterTestCase.php b/src/lint/linter/__tests__/ArcanistLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistLinterTestCase.php
@@ -5,7 +5,33 @@
*/
abstract class ArcanistLinterTestCase extends ArcanistPhutilTestCase {
- public function executeTestsInDirectory($root, ArcanistLinter $linter) {
+ /**
+ * Executes all tests from the specified subdirectory. If a linter is not
+ * explicitly specified, it will be inferred from the name of the test class.
+ */
+ public function executeTestsInDirectory(
+ $root,
+ ArcanistLinter $linter = null) {
+
+ if (!$linter) {
+ // Infer the linter from the class name. This is a little magical, but
+ // reduces the amount of boiler plate code.
+ $count = 0;
+ $linter_name = preg_replace(
+ '/^(\w+Linter)TestCase$/',
+ '$1',
+ get_class($this),
+ 1,
+ $count);
+
+ if (!$count) {
+ throw new Exception(pht('Unable to infer linter class name.'));
+ }
+
+ $linter = id(new ReflectionClass($linter_name))
+ ->newInstanceWithoutConstructor();
+ }
+
$files = id(new FileFinder($root))
->withType('f')
->withSuffix('lint-test')
diff --git a/src/lint/linter/__tests__/ArcanistMergeConflictLinterTestCase.php b/src/lint/linter/__tests__/ArcanistMergeConflictLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistMergeConflictLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistMergeConflictLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testMergeConflictLint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/mergeconflict/',
- new ArcanistMergeConflictLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/mergeconflict/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistPEP8LinterTestCase.php b/src/lint/linter/__tests__/ArcanistPEP8LinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistPEP8LinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistPEP8LinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistPEP8LinterTestCase extends ArcanistArcanistLinterTestCase {
public function testPEP8Linter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/pep8/',
- new ArcanistPEP8Linter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/pep8/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistPhpLinterTestCase.php b/src/lint/linter/__tests__/ArcanistPhpLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistPhpLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistPhpLinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistPhpLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testPHPLint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/php/',
- new ArcanistPhpLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/php/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistPhpcsLinterTestCase.php b/src/lint/linter/__tests__/ArcanistPhpcsLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistPhpcsLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistPhpcsLinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistPhpcsLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testPHPCSLint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/phpcs/',
- new ArcanistPhpcsLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/phpcs/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistPuppetLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistPuppetLintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistPuppetLintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistPuppetLintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testPuppetLintLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/puppet-lint/',
- new ArcanistPuppetLintLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/puppet-lint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistPyFlakesLinterTestCase.php b/src/lint/linter/__tests__/ArcanistPyFlakesLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistPyFlakesLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistPyFlakesLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testPyflakesLinter() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/pyflakes/',
- new ArcanistPyFlakesLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/pyflakes/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistPyLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistPyLintLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistPyLintLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistPyLintLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testPyLintLinter() {
- return $this->executeTestsInDirectory(
- dirname(__FILE__).'/pylint/',
- new ArcanistPyLintLinter());
+ return $this->executeTestsInDirectory(dirname(__FILE__).'/pylint/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistRubyLinterTestCase.php b/src/lint/linter/__tests__/ArcanistRubyLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistRubyLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistRubyLinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistRubyLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testRubyLint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/ruby/',
- new ArcanistRubyLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/ruby/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistTextLinterTestCase.php b/src/lint/linter/__tests__/ArcanistTextLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistTextLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistTextLinterTestCase.php
@@ -3,9 +3,7 @@
final class ArcanistTextLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testTextLint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/text/',
- new ArcanistTextLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/text/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistXHPASTLinterTestCase.php b/src/lint/linter/__tests__/ArcanistXHPASTLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistXHPASTLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistXHPASTLinterTestCase.php
@@ -4,9 +4,7 @@
extends ArcanistArcanistLinterTestCase {
public function testXHPASTLint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/xhpast/',
- new ArcanistXHPASTLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/xhpast/');
}
}
diff --git a/src/lint/linter/__tests__/ArcanistXMLLinterTestCase.php b/src/lint/linter/__tests__/ArcanistXMLLinterTestCase.php
--- a/src/lint/linter/__tests__/ArcanistXMLLinterTestCase.php
+++ b/src/lint/linter/__tests__/ArcanistXMLLinterTestCase.php
@@ -7,9 +7,7 @@
final class ArcanistXMLLinterTestCase extends ArcanistArcanistLinterTestCase {
public function testXMLLint() {
- $this->executeTestsInDirectory(
- dirname(__FILE__).'/xml/',
- new ArcanistXMLLinter());
+ $this->executeTestsInDirectory(dirname(__FILE__).'/xml/');
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Mar 10, 1:25 PM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7443772
Default Alt Text
D11172.id26822.diff (14 KB)
Attached To
Mode
D11172: Reduce boilerplate code in `ArcanistLinterTestCase` subclasses
Attached
Detach File
Event Timeline
Log In to Comment