Permalink
Browse files

Improve error if python can't run pep8

Summary:
On systems with an ancient version of python, the pep8 linter won't run.
Instead of blowing up in the user's face, we should display a nice error
message.

Test Plan:
Put /usr/bin (where the ancient version of python is) at the beginning of
my path and tried to lint some python. I got a nice error instead of a
stack trace.

Reviewers: epriestley, wez

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5356
  • Loading branch information...
1 parent 337f7f8 commit 30e12a0c9a2ea1a57a8ba8bcee8c951125c9f091 Nick Harper committed Mar 19, 2013
Showing with 7 additions and 0 deletions.
  1. +7 −0 src/lint/linter/ArcanistPEP8Linter.php
View
7 src/lint/linter/ArcanistPEP8Linter.php
@@ -74,6 +74,13 @@ public function getPEP8Path() {
}
}
+ list(, $stderr) = execx('/usr/bin/env python -V');
+ if ($stderr < 'Python 2.5') {
+ throw new ArcanistUsageException(
+ "Python 2.5 or greater is required to run the PEP8 Python linter, but ".
+ rtrim($stderr)." was found instead.");
+ }
+
return $bin;
}

0 comments on commit 30e12a0

Please sign in to comment.