Hi; chiming in from the WPT perspective (big thanks to pdr@ for bringing our attention to this, and nudging me to comment here).
We look at this from two angles: the cross-browser interop one (aka what should show up on
wpt.fyi and be compared to Firefox/Safari/Edge/etc), and the usage of WPT for Chromium testing (aka external/wpt and wpt_internal).
For the former: historically we've split
wpt.fyi into two groups; 'current' releases of browsers, which are intended to be representative of what users see in the world today (these will be stable releases with few to no flags on), and 'experimental' releases of browsers, which are intended to be representative of what users will see in the near-to-mid future. For the latter class, we use Chrome Dev and turn on
--enable-experimental-web-platform-features, with the justification that most features behind that flag will go to stable sooner or later.
status:test features are a different story, to me. If those features are actually internal APIs required to run some test, and are not spec'd in some way, then we can't really test them cross-browser and we should work on building a standards-compliant way to test the feature (e.g. via spec work, via webdriver extensions, or via test-only API specs). Otherwise, if the feature is a 'real' web feature but is still behind
status:test, what are we saying about it? It seems we're saying that we're not happy with users having access to it, and it seems that any such feature will graduate to
status:experimental at some point, at which point it will be reflected on wpt.fyi.
Now, all of this changes when we are looking at using wptrunner in the Chromium CI itself, which is an ongoing effort[0]. There, our goal is to provide test correctness for Chromium engineers, which can mean turning on status:test flags. Likely we will have to either add a flag similar to --enable-experimental-web-platform-features for chrome as Xianzhu suggests, or parse runtime_enabled_features.json5 to extract the individual flags and enable them via --enable-blink-features .
So overall, I think I would be supportive of (a) exposing a `--enable-test-only-features` flag or similar (though note that any test *explicitly* using an internal API would still have to go in wpt_internal, we can't upstream those), (b) cleaning up the current test:status entries, and (c) better understanding why a 'real' feature should be on-for-test but not on-for-experimental (given the lost testing coverage of the not-enabled path).