Changes to improve multiprocessing PRESUBMIT support in Windows
  * 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
5 files changed
tree: b83d0c6210db72c462dc6ed5ba40d7c684cb5a58
  1. bootstrap/
  2. git-templates/
  3. git_utils/
  4. infra/
  5. man/
  6. recipes/
  7. support/
  8. testing_support/
  9. tests/
  10. third_party/
  11. win_toolchain/
  12. zsh-goodies/
  13. .gitignore
  14. .style.yapf
  15. annotated_gclient.py
  16. apply_issue
  17. apply_issue.bat
  18. apply_issue.py
  19. auth.py
  20. breakpad.py
  21. buildbucket.py
  22. checkout.py
  23. chrome-update-create-task.bat
  24. chrome-update.bat
  25. chrome-update.py
  26. clang-format
  27. clang-format.bat
  28. clang_format.py
  29. codereview.settings
  30. commit_queue
  31. commit_queue.bat
  32. commit_queue.py
  33. cpplint.bat
  34. cpplint.py
  35. cpplint_chromium.py
  36. create-chromium-git-src
  37. create-ntfs-junction.c
  38. create-ntfs-junction.exe
  39. dart_format.py
  40. depot-tools-auth
  41. depot-tools-auth.bat
  42. depot-tools-auth.py
  43. download_from_google_storage
  44. download_from_google_storage.bat
  45. download_from_google_storage.py
  46. drover
  47. drover.bat
  48. drover.py
  49. fetch
  50. fetch.bat
  51. fetch.py
  52. fix_encoding.py
  53. gcl
  54. gcl.bat
  55. gcl.py
  56. gclient
  57. gclient-new-workdir.py
  58. gclient.bat
  59. gclient.py
  60. gclient_completion.sh
  61. gclient_scm.py
  62. gclient_utils.py
  63. gerrit_util.py
  64. git-auto-svn
  65. git-cache
  66. git-cherry-pick-upload
  67. git-cl
  68. git-cl-upload-hook
  69. git-crrev-parse
  70. git-crsync
  71. git-crup
  72. git-footers
  73. git-freeze
  74. git-gs
  75. git-lkgr
  76. git-map
  77. git-map-branches
  78. git-mark-merge-base
  79. git-nav-downstream
  80. git-nav-upstream
  81. git-new-branch
  82. git-number
  83. git-rebase-update
  84. git-rename-branch
  85. git-reparent-branch
  86. git-retry
  87. git-runhooks
  88. git-squash-branch
  89. git-thaw
  90. git-try
  91. git-upstream-diff
  92. git_auto_svn.py
  93. git_cache.py
  94. git_cherry_pick_upload.py
  95. git_cl.py
  96. git_common.py
  97. git_footers.py
  98. git_freezer.py
  99. git_map.py
  100. git_map_branches.py
  101. git_mark_merge_base.py
  102. git_nav_downstream.py
  103. git_new_branch.py
  104. git_number.py
  105. git_rebase_update.py
  106. git_rename_branch.py
  107. git_reparent_branch.py
  108. git_retry.py
  109. git_squash_branch.py
  110. git_try.py
  111. git_upstream_diff.py
  112. gn
  113. gn.bat
  114. gn.py
  115. gsutil.py
  116. hammer
  117. hammer.bat
  118. LICENSE
  119. my_activity.py
  120. my_reviews.py
  121. ninja
  122. ninja-linux32
  123. ninja-linux64
  124. ninja-mac
  125. ninja.exe
  126. OWNERS
  127. owners.py
  128. owners_finder.py
  129. patch.py
  130. PRESUBMIT.py
  131. presubmit_canned_checks.py
  132. presubmit_support.py
  133. profile.xml
  134. pylint
  135. pylint.py
  136. pylintrc
  137. python_git_runner.sh
  138. README
  139. README.codereview
  140. README.gclient
  141. README.git-cl
  142. README.testing
  143. repo
  144. rietveld.py
  145. roll-dep
  146. roll-dep-svn
  147. roll-dep-svn.bat
  148. roll-dep.bat
  149. roll_dep.py
  150. roll_dep_svn.py
  151. scm.py
  152. subcommand.py
  153. subprocess2.py
  154. trychange.py
  155. update_depot_tools
  156. update_depot_tools.bat
  157. upload_to_google_storage.py
  158. WATCHLISTS
  159. watchlists.py
  160. weekly
  161. wtf