New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 606854 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 606706



Sign in to add a comment

Run RESUBMIT of projects depending on catapult/ upon catapult roll

Project Member Reported by nedngu...@google.com, Apr 26 2016

Issue description

We have many projects in chromium that depends on catapult:
tools/perf
content/test/gpu
...

Sometimes, refactoring in catapult causes the PRESUBMIT check of those projects to fail, but the failures are not detected by the catapult roll CL (example:  issue 606706 ) and only detected later by the CLs that make code change to those projects. This leads to confusion & delay in fixing the breakage.

Ideally, we want to run PRESUBMIT of projects that depends on catapult upon catapult roll CLs. 


 
 Issue 606855  has been merged into this issue.
I was playing around with the idea of triggering PRESUBMIT of projects depending on catapult/ but it did not go anywhere. The main results is PRESUBMIT requires passing the correct inpu_api, output_api & all the presubmit checks are based off that. 

In this case, since only the DEPS file is changed, passing the input_api & output_api from chromium/src/PRESUBMIT.py to sub projects's PRESUBMIT.py don't make any sense.

I will stick with the idea of running pylint as unittest for gpu instead. The first step is to make the copy of pylint/ in depot_tools to chromium/src/third_party


Comment 3 by kbr@chromium.org, Apr 27 2016

Blockedon: 606706
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/addccefe7f7b52734ee605efe39967f114c0abdc

commit addccefe7f7b52734ee605efe39967f114c0abdc
Author: nednguyen <nednguyen@google.com>
Date: Wed Apr 27 19:05:49 2016

[content/test/gpu] Rename _WebGLTextExpectationsTests to _GpuUnittestsArePassingCheck

BUG= 606854 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/1923183003
Cr-Commit-Position: refs/heads/master@{#390141}

[modify] https://crrev.com/addccefe7f7b52734ee605efe39967f114c0abdc/content/test/gpu/PRESUBMIT.py

Project Member

Comment 5 by bugdroid1@chromium.org, May 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3bb6d28634c0eb384281e06ca359715ba5445f91

commit 3bb6d28634c0eb384281e06ca359715ba5445f91
Author: nednguyen <nednguyen@google.com>
Date: Fri May 06 21:28:18 2016

[content/test/gpu] Run pylint check of gpu tests in unittest instead of PRESUBMIT

This CL also adds pylint/ & logilab/astroid, logilab/common into
src/third_party. (these are copied from depot_tools/third_party)

BUG= 606854 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/1920403002
Cr-Commit-Position: refs/heads/master@{#392160}

[modify] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/chrome/telemetry_gpu_unittests.isolate
[modify] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/chrome/test/BUILD.gn
[modify] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/content/test/gpu/PRESUBMIT.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/content/test/gpu/gpu_tests/lint_unittest.py
[modify] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/content/test/gpu/pylintrc
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/README.chromium
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/LICENSE.txt
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/README.chromium
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/__pkginfo__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/as_string.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/bases.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/builtin_inference.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/py2gi.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/py2mechanize.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/py2pytest.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/py2qt4.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/py2stdlib.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/pynose.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/brain/pysix_moves.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/builder.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/exceptions.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/inference.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/inspector.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/manager.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/mixins.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/modutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/node_classes.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/nodes.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/protocols.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/raw_building.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/rebuilder.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/scoped_nodes.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/test_utils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/astroid/utils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/LICENSE.txt
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/README.chromium
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/__pkginfo__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/cache.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/changelog.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/clcommands.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/cli.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/compat.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/configuration.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/contexts.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/corbautils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/daemon.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/date.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/dbf.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/debugger.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/decorators.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/deprecation.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/fileutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/graph.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/interface.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/logging_ext.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/modutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/optik_ext.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/optparser.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/proc.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/pyro_ext.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/pytest.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/registry.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/shellutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/sphinx_ext.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/sphinxutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/table.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/tasksqueue.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/testlib.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/textutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/tree.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/umessage.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/ureports/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/ureports/docbook_writer.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/ureports/html_writer.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/ureports/nodes.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/ureports/text_writer.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/urllib2ext.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/vcgutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/visitor.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/xmlrpcutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/logilab/logilab/common/xmlutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/README.chromium
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/LICENSE.txt
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/__main__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/__pkginfo__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/base.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/classes.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/design_analysis.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/exceptions.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/format.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/imports.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/logging.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/misc.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/newstyle.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/python3.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/raw_metrics.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/similar.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/spelling.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/stdlib.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/strings.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/typecheck.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/utils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/checkers/variables.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/config.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/epylint.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/gui.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/interfaces.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/lint.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/pyreverse/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/pyreverse/diadefslib.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/pyreverse/diagrams.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/pyreverse/main.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/pyreverse/utils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/pyreverse/writer.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/reporters/__init__.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/reporters/guireporter.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/reporters/html.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/reporters/json.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/reporters/text.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/testutils.py
[add] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/third_party/pylint/pylint/utils.py
[modify] https://crrev.com/3bb6d28634c0eb384281e06ca359715ba5445f91/tools/checklicenses/checklicenses.py

Owner: nedngu...@google.com
Status: Fixed (was: Untriaged)

Comment 7 by kbr@chromium.org, May 9 2016

Status: Verified (was: Fixed)
Thanks Ned for pushing this through. This build shows that the lint checks are running successfully as part of telemetry_gpu_unittests:

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/225574/steps/telemetry_gpu_unittests%20%28with%20patch%29%20on%20Ubuntu-12.04/logs/stdio

Specifically:

[41/42] gpu_tests.lint_unittest.LintTest.testPassingPylintCheckForPageSetsDir passed 1.3840s
[42/42] gpu_tests.lint_unittest.LintTest.testPassingPylintCheckForGpuTestsDir passed 8.1687s

Sign in to add a comment