First of all, thanks for doing the hard work, Kent!
I'd like to second Morten's suggestion of taking the chance to shorten WPT paths. This is also and idea Philip (cc'ed) and I have been talking about.
Jeremy's response actually pointed out the two important aspects of this problem:
* Desirability: we would like to shorten the path to WPT because of two main reasons:
1) Now that with CSS tests merged into WPT, there is really only one "external" suite of web test, i.e. WPT. And the web-platform-tests group hopes to keep it that way (WPT is expected to be
the single suite for everything except ECMAScript & WebGL). Therefore, the "external" layer is unnecessary, only making the tree deep and the path tedious.
2) We would like to promote WPT as the default suite for web tests. And "external" not only makes the path less developer friendly, but also sends the wrong signal, especially to newcomers ("external" implies some imported tests that shouldn't be modified, whereas in fact WPT is being synced and is a first-class citizen). Furthermore, it'd make our position clearer if we could move all non-WPT tests into internal/ legacy/, but that might cause too much disturbance (see below).
* Complexity & timing: I think there are three major additional concerns around changing the directory structure within LayoutTests (web_tests): result history, expectation files, and virtual suite definitions, since all of them use the relative path from LayoutTests as the identifier for a test.
I would argue that getting rid of "external/" (i.e. promoting external/wpt to wpt/) is not a big issue. The directory structure of WPT itself is already quite fluid; we've already had quite a few large-scale renaming in WPT, so there's not too much reliable result history to begin with. There are around 3K lines of expectations for WPT, most of which are automatically generated by the importer. And there are only 41 virtual suites in WPT. Moving the non-WPT tests into internal/, on the other hand, is understandably more controversial because of their different natures on these regards.
I agree moving LayoutTests is already a tricky change, but I'd say this is exactly the reason why it'd be a good timing to rejig the directory structure -- the additional complexity and risk is small compared to moving the whole LayoutTests, and we already have a closed tree (instead of closing the tree again in the future just to tweak the directory structure).
To summarize, I'm proposing to take the chance to rename external/wpt to wpt. I can help to prepare the change and volunteer to stay on call to work with Kent when the tree is closed in case anything goes wrong. What do you think, Kent?
Please feel free to raise any other concerns or different opinions.