[web-tests] Lint VirtualTestSuites for formatting [chromium/src : main]

0 views
Skip to first unread message

Jiamei Liu (Gerrit)

unread,
Sep 24, 2025, 12:51:43 PM (7 days ago) Sep 24
to Jonathan Lee, Chromium LUCI CQ, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Jiamei Liu and Jonathan Lee

Message from Jiamei Liu

Set Ready For Review

Open in Gerrit

Related details

Attention is currently required from:
  • Jiamei Liu
  • Jonathan Lee
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
Gerrit-Change-Number: 6962615
Gerrit-PatchSet: 27
Gerrit-Owner: Jiamei Liu <jia...@google.com>
Gerrit-Reviewer: Jiamei Liu <jia...@google.com>
Gerrit-Reviewer: Jonathan Lee <jonath...@google.com>
Gerrit-Attention: Jonathan Lee <jonath...@google.com>
Gerrit-Attention: Jiamei Liu <jia...@google.com>
Gerrit-Comment-Date: Wed, 24 Sep 2025 16:51:33 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jiamei Liu (Gerrit)

unread,
Sep 24, 2025, 1:11:52 PM (7 days ago) Sep 24
to Jonathan Lee, Chromium LUCI CQ, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Jonathan Lee

Jiamei Liu voted and added 17 comments

Votes added by Jiamei Liu

Auto-Submit+1

17 comments

Commit Message
Line 7, Patchset 21:Upload script to sort the VirtualTestSuites and sort the current VirtualTestSuites. Also added lint test against the VirtualTestSuites using the sorting script.
Jonathan Lee . resolved

nit: Shorten the subject to 72 chars. Maybe:

```
[web-tests] Lint VirtualTestSuites for formatting
```

You can explain below that:

  • The autoformatter was added to make compliance with the linter easier
  • The one-time reformat is needed to get this CL itself past CQ
Jiamei Liu

Done

File third_party/blink/tools/blinkpy/style/virtual_suites_formatter.py
Line 12, Patchset 20: """
Formats and sorts a JSON file containing a list of objects and string comments.
Jonathan Lee . resolved

Formatting nits from https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings:

  • A one-line summary (shorten it until it fits <80 chars)
  • Blank lines between the summary, extended description, the `Args` section, and the `Returns` section.
Jiamei Liu

Done

Line 19, Patchset 20: json_content (str): The JSON content to format and sort.
Jonathan Lee . resolved
  • I don't think this is right. The tests are passing the parsed structure (i.e., a `list` of `str | dict`).
  • Move type hints from the docstring to the signature. They're not actually checked yet, but it will be easier to start if they're there.
Jiamei Liu

Done

Line 20, Patchset 20: do_sort (bool): Whether to sort the JSON content.
Jonathan Lee . resolved

I don't see the use case for not sorting. Let's just remove this parameter, always sort, and get rid of `_and_sort` from the function name (since formatting implies sorting).

Jiamei Liu

Done

Line 24, Patchset 21: # --- Step 1: Find the first object and handle comment-only JSON ---
first_object_index = -1
for i, item in enumerate(json_content):
if isinstance(item, dict):
first_object_index = i
break
if first_object_index == -1:
return json.dumps(json_content, indent=2) + '\n'
Jonathan Lee . resolved

Let's get rid of this special case that handles a `VirtualTestSuites` file with no suites. Besides the unlikelihood of that happening, the general case should handle this if written correctly.

Jiamei Liu

Done

Line 33, Patchset 21: # --- Step 2: Separate header comments from the main content ---
# Header comments are initial comments not immediately followed by an object.
Jonathan Lee . resolved

IIUC, this is trying to detect the preamble at the top of the file so sorting doesn't move it:

```
[
"<preamble>",
""
"<comment about first suite>" <-+ this block can move, but the preamble won't
{ |
"prefix": "first" |
}, <-+
]
```

However, this breaks in a surprising way if the comments about the first suite span multiple lines:

```
[
"<preamble>",
""
"<comment about first suite>"
"<comment about first suite>"
"<comment about first suite>" <-+ comment lines can become separated
{ |
"prefix": "first" |
}, <-+
]
```

I think the best way to make the boundary unambiguous is to simply introduce a magic `__BEGIN_SUITES__` comment.

We'll obviously want to test the second case too.

Jiamei Liu

Done

File third_party/blink/tools/blinkpy/style/virtual_suites_formatter_unittest.py
Line 129, Patchset 21:if __name__ == '__main__':
unittest.main()
Jonathan Lee . resolved

nit: Unit tests in `blinkpy/` don't need to add this because the tests are run through `run_blinkpy_tests.py`.

Jiamei Liu

Done

File third_party/blink/tools/blinkpy/web_tests/lint_test_expectations.py
Line 327, Patchset 21: if expected_content is None:
failures.append('VirtualTestSuites is not a valid JSON file.')
return failures
Jonathan Lee . resolved

Isn't this dead code if `format_and_sort_json_with_comments()` always returns `str`?

Jiamei Liu

Done

File third_party/blink/tools/blinkpy/web_tests/lint_test_expectations_unittest.py
Line 686, Patchset 21:
# Test a correctly formatted file.
Jonathan Lee . resolved

nit: Make "unsorted suites", "incorrect indentation", and "correct" separate tests? See https://testing.googleblog.com/2018/06/testing-on-toilet-keep-tests-focused.html

Jiamei Liu

Done

Line 686, Patchset 21:
# Test a correctly formatted file.
Jonathan Lee . resolved

nit: Make "unsorted suites", "incorrect indentation", and "correct" separate tests? See https://testing.googleblog.com/2018/06/testing-on-toilet-keep-tests-focused.html

Jiamei Liu

Done

File third_party/blink/tools/format_virtual_test_suites.py
Line 14, Patchset 21:
if __name__ == '__main__':
Jonathan Lee . resolved

nit: Wrap everything below in `main()` so that we're not polluting the global namespace.

Jiamei Liu

Done

Line 16, Patchset 21: # This script is intended to be run from the chromium/src checkout,
# e.g. with `./third_party/blink/tools/format_virtual_test_suites.py`
Jonathan Lee . resolved

This seems unnecessarily restrictive. You can [use `PathFinder`][0]:

```
from blinkpy.common.host import Host
from blinkpy.common.path_finder import PathFinder

host = Host()
path_to_vts = PathFinder(host.filesystem).path_from_web_tests('VirtualTestSuites')
```

(We ought to have a constant for `VirtualTestSuites` instead of copying the string everywhere)

[0]: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/tools/blinkpy/common/path_finder.py;l=235-236;drc=7ad9f796b7e86939f8a280aeb1c968f1bef40fc8;bpv=0;bpt=0

Jiamei Liu

Done

Line 24, Patchset 21: # If one argument is provided, it will format that file in-place.
Jonathan Lee . resolved

nit: `VirtualTestSuites` should never move, so let's just assume `input_file = output_file = //third_party/blink/web_tests/VirtualTestSuites`.

Then there's no need to handle any arguments.

Jiamei Liu

Done

Line 38, Patchset 21: data = None
Jonathan Lee . resolved

nit: Do we need this assignment? If there's an error, we'll always exit. If parsing `VirtualTestSuites` is successful, `data` will always be overwritten on L49.

Jiamei Liu

Done

Line 42, Patchset 21: # To preserve empty lines, we convert them to empty string entries ""
# in the JSON array. An empty line is considered to be two or more
# newline characters between elements, possibly with whitespace.
# We look for a comma or an opening bracket, followed by whitespace
# that includes at least two newlines, and we insert an empty
# string "" before the next element.
content = re.sub(r'(?<=[,\[])(\s*\n){2,}\s*', '\n"",\n', content)
Jonathan Lee . resolved

I don't think we need this. Once we land this CL, it won't be possible to land new CLs that add completely blank lines to `VirtualTestSuites`, as the linter will detect a diff.

Jiamei Liu

Done

Line 49, Patchset 21: data = json.loads(content)
Jonathan Lee . resolved

naming nit: WDYT about `entries`?

Jiamei Liu

Done

Line 50, Patchset 21: except FileNotFoundError:
print(f"Error: Input file not found at '{input_file}'")
sys.exit(1)
except json.JSONDecodeError as e:
print(f"Error decoding JSON from '{input_file}': {e}")
print("Please ensure the file is a valid JSON array.")
sys.exit(1)
Jonathan Lee . resolved

Let's not catch these. Letting the error bubble to the top will provide a traceback instead of hiding it, and the error should be self-explanatory.

Jiamei Liu

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Jonathan Lee
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
Gerrit-Change-Number: 6962615
Gerrit-PatchSet: 30
Gerrit-Owner: Jiamei Liu <jia...@google.com>
Gerrit-Reviewer: Jiamei Liu <jia...@google.com>
Gerrit-Reviewer: Jonathan Lee <jonath...@google.com>
Gerrit-Attention: Jonathan Lee <jonath...@google.com>
Gerrit-Comment-Date: Wed, 24 Sep 2025 17:11:41 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Jonathan Lee <jonath...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Jonathan Lee (Gerrit)

unread,
Sep 24, 2025, 2:32:26 PM (7 days ago) Sep 24
to Jiamei Liu, Chromium LUCI CQ, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Jiamei Liu

Jonathan Lee added 8 comments

Patchset-level comments
File-level comment, Patchset 30 (Latest):
Jonathan Lee . resolved

Mostly LG

File third_party/blink/tools/blinkpy/style/virtual_suites_formatter.py
Line 4, Patchset 30 (Latest):"""
Formats and sorts a JSON file.
"""
Jonathan Lee . unresolved

nit: IMO, we can remove this because the module only contains a single function that's already documented.

Line 20, Patchset 20: do_sort (bool): Whether to sort the JSON content.
Jonathan Lee . unresolved

I don't see the use case for not sorting. Let's just remove this parameter, always sort, and get rid of `_and_sort` from the function name (since formatting implies sorting).

Jiamei Liu

Done

Jonathan Lee

Let's still remove `_and_sort` and simplify the name?

Line 50, Patchset 30 (Latest): sortable_items.sort(key=lambda group: group[1].get('prefix', ''))
Jonathan Lee . unresolved

`prefix` is a [required field][0], so we don't need to accommodate nonexistence here:

```suggestion
sortable_items.sort(key=lambda group: group[1]['prefix'])
```

Then we don't need the `test_missing_prefix` test.

[0]: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/tools/blinkpy/web_tests/port/base.py;l=3151;drc=a99187e9b30d951d5a98978e6145c1f7a4a6d759;bpv=0;bpt=0

Line 53, Patchset 30 (Latest): final_sorted_list = []
final_sorted_list.extend(header_comments)
Jonathan Lee . unresolved

nit: A direct copy could avoid a resize:

```suggestion
final_sorted_list = list(header_comments)
```
File third_party/blink/tools/format_virtual_test_suites.py
Line 21, Patchset 30 (Latest): input_file = path_finder.path_from_web_tests('VirtualTestSuites')
output_file = input_file
Jonathan Lee . unresolved

nit: Clean up into a single variable since they're the same now? Maybe `vts_path`.

Line 23, Patchset 30 (Latest): print(f"Formatting '{input_file}' in-place.")
with open(input_file, 'r') as f:
entries = json.load(f)
sorted_json_content = format_and_sort_json_with_comments(entries)
with open(output_file, 'w') as f:
f.write(sorted_json_content)
print(
f"Successfully formatted '{input_file}' and saved to '{output_file}'")
Jonathan Lee . unresolved

nit: The formatting should be pretty fast, so one final `print()` is probably enough:

```suggestion
with open(input_file, 'r') as f:
entries = json.load(f)
sorted_json_content = format_and_sort_json_with_comments(entries)
with open(output_file, 'w') as f:
f.write(sorted_json_content)
print(f"Successfully formatted '{input_file}'")
```
File third_party/blink/web_tests/VirtualTestSuites
Line 31, Patchset 30 (Latest): "This suite tests some android features on Linux and should never expire.",
"__BEGIN_SUITES__",
Jonathan Lee . unresolved

L31 is a comment for the `android` suite; shouldn't `__BEGIN_SUITES__` go above it?

Open in Gerrit

Related details

Attention is currently required from:
  • Jiamei Liu
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
    Gerrit-Change-Number: 6962615
    Gerrit-PatchSet: 30
    Gerrit-Owner: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jonathan Lee <jonath...@google.com>
    Gerrit-Attention: Jiamei Liu <jia...@google.com>
    Gerrit-Comment-Date: Wed, 24 Sep 2025 18:32:12 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jonathan Lee <jonath...@google.com>
    Comment-In-Reply-To: Jiamei Liu <jia...@google.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jiamei Liu (Gerrit)

    unread,
    Sep 24, 2025, 2:54:30 PM (7 days ago) Sep 24
    to Jonathan Lee, Chromium LUCI CQ, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Jonathan Lee

    Jiamei Liu voted and added 7 comments

    Votes added by Jiamei Liu

    Auto-Submit+1

    7 comments

    File third_party/blink/tools/blinkpy/style/virtual_suites_formatter.py

    Formats and sorts a JSON file.
    """
    Jonathan Lee . resolved

    nit: IMO, we can remove this because the module only contains a single function that's already documented.

    Jiamei Liu

    Done

    Line 20, Patchset 20: do_sort (bool): Whether to sort the JSON content.
    Jonathan Lee . resolved

    I don't see the use case for not sorting. Let's just remove this parameter, always sort, and get rid of `_and_sort` from the function name (since formatting implies sorting).

    Jiamei Liu

    Done

    Jonathan Lee

    Let's still remove `_and_sort` and simplify the name?

    Jiamei Liu

    oops my bad, removed

    Line 50, Patchset 30: sortable_items.sort(key=lambda group: group[1].get('prefix', ''))
    Jonathan Lee . resolved

    `prefix` is a [required field][0], so we don't need to accommodate nonexistence here:

    ```suggestion
    sortable_items.sort(key=lambda group: group[1]['prefix'])
    ```

    Then we don't need the `test_missing_prefix` test.

    [0]: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/tools/blinkpy/web_tests/port/base.py;l=3151;drc=a99187e9b30d951d5a98978e6145c1f7a4a6d759;bpv=0;bpt=0

    Jiamei Liu

    Done

    Line 53, Patchset 30: final_sorted_list = []
    final_sorted_list.extend(header_comments)
    Jonathan Lee . resolved

    nit: A direct copy could avoid a resize:

    ```suggestion
    final_sorted_list = list(header_comments)
    ```
    Jiamei Liu

    Done

    File third_party/blink/tools/format_virtual_test_suites.py
    Line 21, Patchset 30: input_file = path_finder.path_from_web_tests('VirtualTestSuites')
    output_file = input_file
    Jonathan Lee . resolved

    nit: Clean up into a single variable since they're the same now? Maybe `vts_path`.

    Jiamei Liu

    Done

    Line 23, Patchset 30: print(f"Formatting '{input_file}' in-place.")

    with open(input_file, 'r') as f:
    entries = json.load(f)
    sorted_json_content = format_and_sort_json_with_comments(entries)
    with open(output_file, 'w') as f:
    f.write(sorted_json_content)
    print(
    f"Successfully formatted '{input_file}' and saved to '{output_file}'")
    Jonathan Lee . resolved

    nit: The formatting should be pretty fast, so one final `print()` is probably enough:

    ```suggestion
    with open(input_file, 'r') as f:
    entries = json.load(f)
    sorted_json_content = format_and_sort_json_with_comments(entries)
    with open(output_file, 'w') as f:
    f.write(sorted_json_content)
    print(f"Successfully formatted '{input_file}'")
    ```
    Jiamei Liu

    Done

    File third_party/blink/web_tests/VirtualTestSuites
    Line 31, Patchset 30: "This suite tests some android features on Linux and should never expire.",
    "__BEGIN_SUITES__",
    Jonathan Lee . resolved

    L31 is a comment for the `android` suite; shouldn't `__BEGIN_SUITES__` go above it?

    Jiamei Liu

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jonathan Lee
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
    Gerrit-Change-Number: 6962615
    Gerrit-PatchSet: 33
    Gerrit-Owner: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jonathan Lee <jonath...@google.com>
    Gerrit-Attention: Jonathan Lee <jonath...@google.com>
    Gerrit-Comment-Date: Wed, 24 Sep 2025 18:54:20 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jonathan Lee (Gerrit)

    unread,
    Sep 24, 2025, 2:59:45 PM (7 days ago) Sep 24
    to Jiamei Liu, Philip Rogers, Chromium LUCI CQ, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Jiamei Liu and Philip Rogers

    Jonathan Lee voted and added 1 comment

    Votes added by Jonathan Lee

    Code-Review+1

    1 comment

    Patchset-level comments
    File-level comment, Patchset 33 (Latest):
    Jonathan Lee . resolved

    +pdr@ for `VIRTUAL_OWNERS` (undoing the entropy that leaked back into `VirtualTestSuites` since https://crrev.com/c/6643672)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jiamei Liu
    • Philip Rogers
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
    Gerrit-Change-Number: 6962615
    Gerrit-PatchSet: 33
    Gerrit-Owner: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jonathan Lee <jonath...@google.com>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Attention: Philip Rogers <p...@chromium.org>
    Gerrit-Attention: Jiamei Liu <jia...@google.com>
    Gerrit-Comment-Date: Wed, 24 Sep 2025 18:59:32 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Philip Rogers (Gerrit)

    unread,
    Sep 24, 2025, 7:28:34 PM (6 days ago) Sep 24
    to Jiamei Liu, Jonathan Lee, Chromium LUCI CQ, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Jiamei Liu

    Philip Rogers voted and added 1 comment

    Votes added by Philip Rogers

    Code-Review+1

    1 comment

    Patchset-level comments
    Philip Rogers . resolved

    third_party/blink/web_tests/VirtualTestSuites LGTM!

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jiamei Liu
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
    Gerrit-Change-Number: 6962615
    Gerrit-PatchSet: 33
    Gerrit-Owner: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jonathan Lee <jonath...@google.com>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Attention: Jiamei Liu <jia...@google.com>
    Gerrit-Comment-Date: Wed, 24 Sep 2025 23:28:21 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Jiamei Liu (Gerrit)

    unread,
    Sep 25, 2025, 2:28:05 PM (6 days ago) Sep 25
    to Philip Rogers, Jonathan Lee, Chromium LUCI CQ, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org

    Jiamei Liu voted Commit-Queue+2

    Commit-Queue+2
    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
    Gerrit-Change-Number: 6962615
    Gerrit-PatchSet: 33
    Gerrit-Owner: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Jonathan Lee <jonath...@google.com>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Comment-Date: Thu, 25 Sep 2025 18:27:53 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Chromium LUCI CQ (Gerrit)

    unread,
    Sep 25, 2025, 3:16:10 PM (6 days ago) Sep 25
    to Jiamei Liu, Philip Rogers, Jonathan Lee, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org

    Chromium LUCI CQ submitted the change

    Change information

    Commit message:
    [web-tests] Lint VirtualTestSuites for formatting

    1. Upload script to sort the VirtualTestSuites
    2. Sort the current VirtualTestSuites.
    3. Add lint test against the VirtualTestSuites
    using the sorting script.

    Script is from:
    https://docs.google.com/document/d/13QRcFJaGywMJfOsxMNsfMwCG84rsLGQtF_YAxn154kg/edit?content_ref=sortable_items+sort+key+lambda+group+group+1+get+prefix&tab=t.0
    Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
    Bug: 424896700
    Reviewed-by: Jonathan Lee <jonath...@google.com>
    Reviewed-by: Philip Rogers <p...@chromium.org>
    Commit-Queue: Jiamei Liu <jia...@google.com>
    Auto-Submit: Jiamei Liu <jia...@google.com>
    Cr-Commit-Position: refs/heads/main@{#1520800}
    Files:
    • A third_party/blink/tools/blinkpy/style/virtual_suites_formatter.py
    • A third_party/blink/tools/blinkpy/style/virtual_suites_formatter_unittest.py
    • M third_party/blink/tools/blinkpy/web_tests/lint_test_expectations.py
    • M third_party/blink/tools/blinkpy/web_tests/lint_test_expectations_unittest.py
    • A third_party/blink/tools/format_virtual_test_suites.py
    • M third_party/blink/web_tests/VirtualTestSuites
    Change size: L
    Delta: 6 files changed, 411 insertions(+), 103 deletions(-)
    Branch: refs/heads/main
    Submit Requirements:
    • requirement satisfiedCode-Review: +1 by Philip Rogers, +1 by Jonathan Lee
    Open in Gerrit
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: merged
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If7dbe2f0b5ceb7424aee7170a020da987286f50d
    Gerrit-Change-Number: 6962615
    Gerrit-PatchSet: 34
    Gerrit-Owner: Jiamei Liu <jia...@google.com>
    Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
    open
    diffy
    satisfied_requirement

    Jonathan Lee (Gerrit)

    unread,
    Sep 26, 2025, 4:10:40 PM (4 days ago) Sep 26
    to Chromium LUCI CQ, Jiamei Liu, Philip Rogers, AyeAye, blink-rev...@chromium.org, blink-...@chromium.org

    Jonathan Lee has created a revert of this change

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: revert
    satisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages