Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Issue 1208743002: Changes to improve multiprocessing PRESUBMIT support in Windows (Closed)

Created:
5 years, 6 months ago by iannucci
Modified:
5 years, 5 months ago
CC:
chromium-reviews, dpranke+depot_tools_chromium.org, iannucci+depot_tools_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

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 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295908

Patch Set 1 #

Total comments: 2

Patch Set 2 : fix tests #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+84 lines, -28 lines) Patch
M presubmit_canned_checks.py View 2 chunks +19 lines, -12 lines 0 comments Download
M presubmit_support.py View 1 2 chunks +7 lines, -4 lines 1 comment Download
M tests/presubmit_unittest.py View 1 1 chunk +8 lines, -6 lines 0 comments Download
M third_party/pylint/README.chromium View 1 chunk +43 lines, -0 lines 0 comments Download
M third_party/pylint/lint.py View 3 chunks +7 lines, -6 lines 0 comments Download

Messages

Total messages: 19 (5 generated)
iannucci
5 years, 6 months ago (2015-06-25 01:39:17 UTC) #1
iannucci
Note that the sys.path manipulation fix was necessary because depot_tools contains a file named 'pylint'. ...
5 years, 6 months ago (2015-06-25 01:43:43 UTC) #2
iannucci
https://chromiumcodereview.appspot.com/1208743002/diff/1/third_party/pylint/lint.py File third_party/pylint/lint.py (right): https://chromiumcodereview.appspot.com/1208743002/diff/1/third_party/pylint/lint.py#newcode674 third_party/pylint/lint.py:674: with fix_import_path(files_or_modules): note that all child checkers come through ...
5 years, 6 months ago (2015-06-25 01:54:32 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1208743002/1
5 years, 6 months ago (2015-06-25 02:06:48 UTC) #5
iannucci
(tests failed because depot_tools tests don't run on upload on windows! hooray! pulling it into ...
5 years, 6 months ago (2015-06-25 02:09:59 UTC) #7
Ken Russell (switch to Gerrit)
Thanks for fixing this. I don't know this code at all but the fix looks ...
5 years, 6 months ago (2015-06-25 07:33:46 UTC) #8
iannucci
On 2015/06/25 07:33:46, Ken Russell wrote: > Thanks for fixing this. I don't know this ...
5 years, 6 months ago (2015-06-25 07:59:27 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1208743002/20001
5 years, 5 months ago (2015-06-28 19:44:39 UTC) #11
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 5 months ago (2015-06-28 19:46:09 UTC) #13
iannucci
PTAL: tests are passing again
5 years, 5 months ago (2015-06-28 19:46:45 UTC) #14
iannucci
https://chromiumcodereview.appspot.com/1208743002/diff/20001/presubmit_support.py File presubmit_support.py (right): https://chromiumcodereview.appspot.com/1208743002/diff/20001/presubmit_support.py#newcode320 presubmit_support.py:320: self._run_tests_pool = multiprocessing.Pool(self.cpu_count) this is so we pick up ...
5 years, 5 months ago (2015-06-28 19:47:43 UTC) #15
Dirk Pranke
lgtm
5 years, 5 months ago (2015-06-29 19:35:10 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1208743002/20001
5 years, 5 months ago (2015-07-01 23:19:25 UTC) #18
commit-bot: I haz the power
5 years, 5 months ago (2015-07-01 23:21:30 UTC) #19
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
http://src.chromium.org/viewvc/chrome?view=rev&revision=295908

Powered by Google App Engine
This is Rietveld 408576698