Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-28947

Improve pylinters.py error message when finding linters

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.5.7
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Platforms 2017-05-08

      Debian and Ubuntu machines use an custom layout for python packages. For instance, pip installed modules are installed into /usr/local/ instead of /usr, and into a directory named dist-packages instead of the normal site-packages directory.

      This first change means that the default search logic in pylinters.py cannot find the lint scripts in the default directory. This causes messages to be printed to standard error since the first location check for a linter fails even if the second one succeeds. The second check, based on PATH, succeeds since Debian/Ubuntu includes /usr/local/bin in PATH by default.

      Example of the confusing messages

      /usr/bin/python2.7: can't open file '/usr/bin/yapf': [Errno 2] No such file or directory
      /usr/bin/python2.7: can't open file '/usr/bin/pylint': [Errno 2] No such file or directory
      

      To improve the user experience, standard error should be captured, and only outputted on failure.

            Assignee:
            mark.benvenuto@mongodb.com Mark Benvenuto
            Reporter:
            mark.benvenuto@mongodb.com Mark Benvenuto
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: