Bug 258855

Summary: check-for-duplicated-platform-test-results should consider full graph
Product: WebKit Reporter: Sam Sneddon [:gsnedders] <gsnedders>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ap, cgarcia, jbedard, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Sam Sneddon [:gsnedders] 2023-07-04 09:31:26 PDT
e.g., consider:

Checking search paths [platform/mac-ventura-wk1, platform/mac-ventura, platform/mac-wk1, platform/mac]
Checking search paths [platform/mac-ventura-wk2, platform/mac-ventura, platform/mac-wk2, platform/mac, platform/wk2]

And imagine we have:

test-expected.txt: A
platform/wk2/test-expected.txt: B
platform/mac/test-expected.txt: B

Then when processing the second search path, we will remove platform/mac/test-expected.txt as a duplicate of platform/wk2/test-expected.txt, despite it being essential for the first search path.

In reality, we don't have many points in the graph where we have multiple outgoing edges, but it does show the limitations of processing these on a search path by search path basis (and the problems with doing any automated processing based on search paths unless you can construct the full graph).
Comment 1 Radar WebKit Bug Importer 2023-07-11 09:32:17 PDT
<rdar://problem/112084796>
Comment 2 Sam Sneddon [:gsnedders] 2024-03-21 09:05:43 PDT
As some evidence this isn't purely theoretical:

104d72e478b0adf053dfb3dca6d497b396ba6a15  LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-form-submission-expected.txt
102699a0d4e24a03ee91de07e13576c8c10e5749  LayoutTests/platform/ipad/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-form-submission-expected.txt
102699a0d4e24a03ee91de07e13576c8c10e5749  LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-form-submission-expected.txt

This gives the wrong results with:

Checking search paths [platform/ios-simulator, platform/ipad, platform/ios]
Checking search paths [platform/ios-simulator, platform/ipad, platform/ios-wk2, platform/ios, platform/wk2]

The former will delete the expectation in platform/ipad, because it finds it matching the inherited one.