Browse files

Improve error if python can't run pep8

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

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:
  • 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
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.