Bug 262074 - Automate mutating the baseline graph
Summary: Automate mutating the baseline graph
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: 254403
  Show dependency treegraph
 
Reported: 2023-09-25 15:01 PDT by Sam Sneddon [:gsnedders]
Modified: 2023-09-25 15:04 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam Sneddon [:gsnedders] 2023-09-25 15:01:37 PDT
To achieve bug 254403, along with other changes we regularly make (such as upstreaming pre-release macOS/iOS expectations), we should develop a tool that allows us to make various mutations to the baseline search graph without actually changing the set of baselines used for any platform.

Most obviously, we want to be able to merge a given node in the graph into a node linked by an outgoing edge — for example, we want to merge mac-wk2 into mac.

To do this, we'd need to move all the expectations from mac-wk2 into mac, and also move all the expectations for those tests from mac (or inherited from beyond there) into the _other_ nodes linked by incoming edges to mac.

This is inevitably not quite so simple, because we can't just find all expectations for mac as for some this will be ambiguous (some will inherit from wk2, some will inherit from the generic baselines). This may require considering for each baseline search path whether (e.g.) mac-wk1 has an unambiguous baseline. It may be okay to give up in some of these cases, and just rely on manual fixing up, but we probably can't fail in any case where with have multiple possible baselines.
Comment 1 Radar WebKit Bug Importer 2023-09-25 15:02:32 PDT
<rdar://problem/116017708>
Comment 2 Sam Sneddon [:gsnedders] 2023-09-25 15:04:03 PDT
Also, Tools/Scripts/check-for-duplicated-platform-test-results is probably useful as a reference point — while it doesn't construct the full graph (which is itself a bug, bug 258855), it does find the baseline search path for all platforms (including via `apple_additions`).