New issue
Advanced search Search tips

Issue 895239 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

[WPT Import] import blocked because of lint.sh change (requires wpt tools update)

Project Member Reported by foolip@chromium.org, Oct 15

Issue description

This began happening in https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/25977 after https://github.com/web-platform-tests/wpt/pull/13489 was merged.

That PR had both a change to the lint code and added a test that would fail with the old lint code.

Attempting to roll in https://chromium-review.googlesource.com/c/chromium/src/+/1278640, but win7_chromium_rel_ng is failing due to a wptserve change. It's not clear which, so now having to bisect on the bots :'(
 
I've figured out that the problem was with grep on macOS and have filed this bug:
https://bugreport.apple.com/web/?problemID=45268819
Sounds like a long investigation :-) I don't have access to the Apple bug, is it some sort of GNU grep vs BSD grep issue?
The original issue itself has been fixed by a roll: https://chromium-review.googlesource.com/c/chromium/src/+/1279195
Status: Fixed (was: Started)
Here's the contents of the bug report:

Summary:
Using grep to exclude a list of strings doesn't work when one line to be excluded is a prefix match for a following line.

Steps to Reproduce:
Create the list of patterns to *include*:
$ (echo wpt; echo wptpy) > safelist

(Also repeat with just "wptpy" in safelist to confirm that it's because of the presence of the first "wpt" line.

Now use that to exclude lines that aren't in the safelist:
$ echo wptpy | grep --line-regexp --invert-match --file safelist

Expected Results:
No output, because the line "wptpy" should have been excluded by virtue of being matched by the second line of safelist.

Note that GNU grep *does* exclude that line.

Actual Results:
"wptpy" is printed.

Version/Build:
$ grep --version
grep (BSD grep) 2.5.1-FreeBSD

Configuration:
$ sw_vers 
ProductName:	Mac OS X
ProductVersion:	10.13.6
BuildVersion:	17G65

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 15

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

commit 8ad66bc44b428c008d5f2d049bfdf4c855676897
Author: Robert Ma <robertma@chromium.org>
Date: Mon Oct 15 12:35:52 2018

[blinkpy] Roll WPT tools

The most important two changes to roll:

* [wptserve] Rework header encoding/decoding in Request
  (https://github.com/web-platform-tests/wpt/pull/13246): needed to fix
  tests with non-ASCII cookies
* Fix handling of about:blank in lint
  (https://github.com/web-platform-tests/wpt/pull/13489): needed to
  unblock the importer

Bug:  895239 
Change-Id: I10b308c19bdb20d2a1ec5af8dece42d7ada7e25b
Reviewed-on: https://chromium-review.googlesource.com/c/1279195
Commit-Queue: Robert Ma <robertma@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599617}
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/checkout.sh
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/lint/lint.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wpt/browser.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wpt/install.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wpt/run.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wptserve/wptserve/constants.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wptserve/wptserve/pipes.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wptserve/wptserve/ranges.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wptserve/wptserve/request.py
[modify] https://crrev.com/8ad66bc44b428c008d5f2d049bfdf4c855676897/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wptserve/wptserve/response.py

> $ grep --version
> grep (BSD grep) 2.5.1-FreeBSD

Right. No idea how Apple handles this internally, but this has been fixed on upstream FreeBSD. I've tested 2.5.1 on FreeBSD 10 and reproduced the issue, and 2.6.0 on FreeBSD 11 doesn't match anything as expected.
Thanks, I'll comment on the issue to say that.
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 15

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

commit ec5ef4854713d5f8eaf67dcef2acad1c67cb925f
Author: Philip Jägenstedt <foolip@chromium.org>
Date: Mon Oct 15 13:18:16 2018

Use `comm` to apply whitelist in wpt tools checkout.sh script

An apparent bug in macOS's BSD grep caused wpt.sh to be deleted in
attempts to sync wpt tools from a MacBook:
https://chromium-review.googlesource.com/c/chromium/src/+/1278640
https://bugreport.apple.com/web/?problemID=45268819 (not public)
https://bugs.chromium.org/p/chromium/issues/detail?id=895239#c5 (copy)

Using `comm` is faster, more "semantic", and importantly, it works.

Bug:  895239 
Change-Id: I6dedb2000c059d367aa10a7448a5d0ee991471e5
Reviewed-on: https://chromium-review.googlesource.com/c/1280543
Commit-Queue: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Robert Ma <robertma@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599622}
[modify] https://crrev.com/ec5ef4854713d5f8eaf67dcef2acad1c67cb925f/third_party/blink/tools/blinkpy/third_party/wpt/checkout.sh

Sign in to add a comment