New issue
Advanced search Search tips

Issue 837163 link

Starred by 2 users

Issue metadata

Status: WontFix
Merged: issue 822041
Owner: ----
Closed: Aug 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Nonsense presubmit error when disabling flaky tests

Project Member Reported by maxmorin@chromium.org, Apr 26 2018

Issue description

I just want to add a line to third_party/WebKit/LayoutTests/TestExpectations but I get a python stack trace from presubmit:

** Presubmit ERRORS **
check_blink_style.py failed
  ERROR: Manifest not found at /usr/local/google/home/maxmorin/chromium/src/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json. See  http://crbug.com/698294 
Traceback (most recent call last):
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/WebKit/../blink/tools/check_blink_style.py", line 47, in <module>
    sys.exit(CheckWebKitStyle().main())
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/style/main.py", line 155, in main
    patch_checker.check(patch)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/style/patchreader.py", line 65, in check
    self._text_file_reader.process_file(file_path=path, line_numbers=line_numbers)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/style/filereader.py", line 126, in process_file
    self._processor.process(lines, file_path, **kwargs)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/style/checker.py", line 698, in process
    checker.check(lines)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/style/checkers/test_expectations.py", line 72, in check
    self.check_test_expectations(expectations_str=expectations, tests=None)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/style/checkers/test_expectations.py", line 59, in check_test_expectations
    expectations = parser.parse('expectations', expectations_str)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/web_tests/models/test_expectations.py", line 106, in parse
    self._parse_line(test_expectation)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/web_tests/models/test_expectations.py", line 147, in _parse_line
    self._parse_specifiers(expectation_line)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/web_tests/models/test_expectations.py", line 155, in _parse_specifiers
    self._lint_line(expectation_line)
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/web_tests/models/test_expectations.py", line 170, in _lint_line
    if self._port.reference_files(test):
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/web_tests/port/base.py", line 770, in reference_files
    for expectation, ref_path_in_wpt in self._wpt_manifest().extract_reference_list(path_in_wpt):
  File "/usr/local/google/home/maxmorin/chromium/src/third_party/blink/tools/blinkpy/w3c/wpt_manifest.py", line 93, in extract_reference_list
    all_items = self.raw_dict['items']
KeyError: 'items'


This error isn't terribly helpful. What is this manifest? If I need to to perform basic sheriffing, why isn't it downloaded as part of "gclient sync"? Will try to skip presubmits for now.
 
Huh, it uploaded when I tried again, even without skipping presubmits. ¯\_(ツ)_/¯
Cc: robertma@chromium.org
Components: -Blink>Infra Blink>Infra>Ecosystem
As a temporary workaround, I _think_ if you run any layout tests (or at least one in external/wpt) MANIFEST.json should be generated automatically.
Mergedinto: 822041
Status: Duplicate (was: Untriaged)
`wpt manifest` and our wrapper are now more robust in handling missing and invalid MANIFEST.json.
Status: Untriaged (was: Duplicate)
Sorry, thought this was an old bug...

Apparently  issue 822041  wasn't enough.

Comment 5 by foolip@chromium.org, Apr 27 2018

Labels: -Pri-1 Pri-2
Status: Assigned (was: Untriaged)
qyearsley@, you got assigned this, and I suspect that's not right :) Please unassign if you don't intent to fix it.

Also lowering to P2.
Owner: ----
Status: Available (was: Assigned)
That's right, thanks Philip :-)

The expected behavior of all of the blink tools, including check_blink_style.py, is that they should work even if the wpt MANIFEST.json is missing or corrupted, so if that's the case and someone can reproduce it, then that's the problem here.
robertma@chromium.org is this issue still a thing?
Status: WontFix (was: Available)
This has actually been fixed upstream. `wpt manifest` now will re-generate manifest from scratch if the existing one is corrupted. Although it might still be good to catch any other exceptions on our end, there's no longer any known issue for now.

Sign in to add a comment