New issue
Advanced search Search tips

Issue 684029 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

[W3C auto-import] Make it clearer when/why test files are skipped

Project Member Reported by qyears...@chromium.org, Jan 23 2017

Issue description

There are a few of reasons why tests may be skipped when importing:
 - The directory is skipped in W3CImportExpectations
 - Some special rule (e.g. no "reftest.list" or "OWNERS" files)
 - The test or reference file path would be too long for Windows
 - The reference file wasn't found

From https://bugs.chromium.org/p/chromium/issues/detail?id=609871#c10, majidvp@ suggested:

 1. Add a separate auto-generated expectations file that list these skipped files. Import script can generate this file and add it.

 2. Print these in the output of Tools/Scripts/update-w3c-deps. Right now you can see these sprinkled in the --verbose output but I think they should be printed out more prominently e.g., in normal output.

Option 2 is easier and faster, and I think I'd like to do that first -- less stuff should be printed in the non-verbose output. Then we should consider whether we'd want the importer to also make an auto-generated expectations file.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 24 2017

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

commit 76cbd1cf8bb3c100994df4d28a8357008428ea8f
Author: qyearsley <qyearsley@chromium.org>
Date: Tue Jan 24 20:43:53 2017

Make logging in test_importer.py quieter.

Reason: Currently, files may be skipped when importing, but the reason
why they're skipped is buried in hundreds of lines of logging. This
CL changes logging so that all entries listing individual files and
directories in normal operation are changed to "debug" level.

BUG= 684029 

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

[modify] https://crrev.com/76cbd1cf8bb3c100994df4d28a8357008428ea8f/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py

Status: Started (was: Assigned)
majidvp@: I'm still not sure if there's much of an advantage of having a separate skipped-test expectations file generated by the importer that's written and committed and then read on next import - this would make the process a little more complicated, and checking what files are skipped by looking at such a file would be pretty similar to checking what files are skipped by looking at the logs (linked to from each import CL). So I'm thinking that just making it clearer in the logs but not adding skip expectations may be better.

Now the import logs look more like this:

Log excerpt from https://build.chromium.org/p/chromium.infra.cron/builders/w3c-test-autoroller/builds/7896/steps/update%20wpt/logs/stdio:
Cloning https://chromium.googlesource.com/external/w3c/web-platform-tests.git into /mnt/data/b/rr/tmpqhwTS9/w/src/third_party/WebKit/wpt.
Noting the revision we are importing.
Cleaning out tests from LayoutTests/external/wpt.
Importing the tests.
Importing /mnt/data/b/rr/tmpqhwTS9/w/src/third_party/WebKit/wpt into /mnt/data/b/rr/tmpqhwTS9/w/src/third_party/WebKit/LayoutTests/external/wpt
/mnt/data/b/rr/tmpqhwTS9/w/src/third_party/WebKit/wpt/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html skipped because path of ref file css-user-agent-style-sheet-test-003-expected.html would be too long. Max length from repo base 140 chars; see  http://crbug.com/609871 .
/mnt/data/b/rr/tmpqhwTS9/w/src/third_party/WebKit/wpt/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html skipped because path of ref file css-user-agent-style-sheet-test-001-expected.html would be too long. Max length from repo base 140 chars; see  http://crbug.com/609871 .
/mnt/data/b/rr/tmpqhwTS9/w/src/third_party/WebKit/wpt/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html skipped because path of ref file css-user-agent-style-sheet-test-002-expected.html would be too long. Max length from repo base 140 chars; see  http://crbug.com/609871 .

Import complete

IMPORTED 3054 TOTAL TESTS
Imported 229 reftests
Imported 2825 JS tests
Imported 0 pixel/manual tests


Now that I see those logs, I see that they could be cleaned up a bit more... maybe they should look more like:

SKIPPING "wpt/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html"
Reason: Path of ref file would be too long. Max length 140 chars, see  crbug.com/609871 .
...
If you think this is good enough and the additional complexity of adding them to an expectation file is not worth it then it is fine with me too. However, in that case, can you please just update the relevant documentation to point out this and any other potential reason for skipping the tests (perhaps with a link to auto-import log for easy checking)/

The documentation I am aware of is [1] which only talks about LayoutTests/W3CImportExpectation.

+1 for cleaning up the log to show the actual part of the path that is longer that limit and triggered this issue.

[1] https://sites.google.com/a/chromium.org/dev/blink/importing-the-w3c-tests
Good point. Alright, next steps are to update the documentation and clean up the logging.
Status: Fixed (was: Started)
The relevant documentation is updated in https://codereview.chromium.org/2660083002, and in that CL I also added a section about why tests may be skipped.
Components: Blink>Infra>Ecosystem
Components: -Blink>Infra>Predictability

Sign in to add a comment