• iannucci@chromium.org's avatar
    Changes to improve multiprocessing PRESUBMIT support in Windows · d61a4950
    iannucci@chromium.org authored
      * make RunTest's multiprocessing.Pool in the constructor of InputApi
        to avoid getting tripped up by chdir manipulation.
      * Don't do the split cyclic-import check when the invoker of the
        Pylint presubmit checks explicitly sends cyclic import check
        parameters via extra_args
      * fix pseudobug where ownership of the files variable was unclear,
        and pass all arguments on stdin (instead of mix of CLI + stdin).
      * fix bug in pylint which caused it to manipulate sys.path before
        spawning its subprocesses, which caused multiprocessing to fail
        on windows.
        * Note: This may carry a slight semantic change. Before, pylint would
          add all .py files' directories to sys.path while checking any of
          them. Now in parallel mode, pylint will only add the path of the
          single file to sys.path. This behavior actually mirrors Python's
          own behavior, so the check should be more-correct than before (and
          should cut down on pylint import scanning time with very large
          sys.path's).
        * If someone encounters an issue with this, please note that the
          GetPylint check also includes an extra_paths_list which is
          expressly for this purpose.
    
    R=dpranke@chromium.org, kbr@chromium.org, maruel@chromium.org
    BUG=501012
    
    Review URL: https://codereview.chromium.org/1208743002
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295908 0039d316-1c4b-4281-b951-d872f2087c98
    d61a4950
presubmit_support.py 59.6 KB