<div dir="ltr"><div>Thanks for taking the time to share this additional information.<br></div><div>I think this is helpful to make progress.</div><div>Please see inline for some more comments related to the points you are bringing to the table.</div><div><br></div><div>Stepping back from the WPT server specific issue, being optimistic and assuming that we are able to run WPT tests with good enough performances.</div><div>Migration potential downsides I heard so far:<br></div><div>- Prioritization of tests to investigate might be harder.<br></div><div>- Sharing tests with other teams might be harder if subresource links are not relative.</div><div>These two seem like solvable issues to me.</div><div><br></div><div><div class="gmail_quote"><div dir="ltr">Le ven. 17 nov. 2017 à 10:09, Alexey Proskuryakov <<a href="mailto:ap@apple.com">ap@apple.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><blockquote type="cite"><div>17 нояб. 2017 г., в 9:18, youenn fablet <<a href="mailto:youennf@gmail.com" target="_blank">youennf@gmail.com</a>> написал(а):</div></blockquote></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><blockquote type="cite"><br class="m_-7155313528964311538Apple-interchange-newline"><div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Chris recently noticed that some heavily used files (testharness*) were cacheable through Apache but not WPT.</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">This is now fixed and should improve WPT performances.</div></div></blockquote></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><blockquote type="cite"></blockquote><br></div><div>This is part of <<a href="https://bugs.webkit.org/show_bug.cgi?id=178277" target="_blank">https://bugs.webkit.org/show_bug.cgi?id=178277</a>>, another part is that the server is 10x slower than Apache.</div></div></blockquote><div><br></div><div>Other measurements showed 3x slower, which makes it still worthwhile to explore.</div><div>We need to be cautious here though since optimization is all about chasing where time is actually spent.</div><div><br></div><div>If we can prove to ourselves that this is an important issue, we should discuss with the WPT community to see how to fix this issue.</div><div><div>In addition to better caching, other optimization like <a href="https://github.com/w3c/wptserve/pull/86">https://github.com/w3c/wptserve/pull/86</a> may bring some additional benefit.</div><div><br></div></div><div>If we do not find any good solution at WPT server level, we still have the option to run some tests as file-based.</div><div>Ryosuke mentioned the possibility to classify tests at import time by checking their results when served through WPT server and as file URLs.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div>I just tested on my MacBook Pro, and WPT tests took 23% of time while being only 9% of the total count. Taking in mind that WebKit own tests have higher value due to the way we choose what to test (see below), that's not a great story in my opinion.</div></div></blockquote><div><br></div><div>These numbers are difficult to interpret.</div><div>WPT authoring style is multiple tests in a single file, which is bad for stability but potentially good for performances.</div><div>WebKit usually prefers one file/one test.</div><div><br></div><div>If we want to talk to WPT community about this, we need to provide some more tangible numbers.</div><div>We could try to run a large subset of WPT tests that run the same through Apache and WPT.<br></div><div>I just did that on a small subset of IDB tests. This seems to show something like a 25% slowdown.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div></div><div>One other thing that we discussed before was the operational complexity of running WPT tests. We frequently need to share tests with people who don't work on WebKit directly, but have the need to edit and run our tests. Inability to drag and drop a local copy into a Safari window is a deterrent to addressing problems caught by the tests. I think that the response we got was that tests will continue to require a server to run.</div></div></blockquote><div><br></div><div>Tests are available at <a href="https://w3c-test.org">https://w3c-test.org</a> which makes it easy to share through any tool supporting hyperlinks.</div><div>A webarchive can also be made so that it is easy to share and probably edit such tests.</div><div>Tools like jsfiddle are also a great way to create/share/edit tests.</div><div>I received several bug reports on bugzilla using it and this proved to be efficient.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div></div><div>Let me explain why I think that WebKit tests are often more valuable as regression tests than WPT tests are. We add tests as we fix bugs, so we know that the tests are generally for problems that have a high impact on users and developers - that's because someone actually discovered the problem, and someone prioritized it highly enough to fix. We also know that our tests cover code that is error prone, which is why we had bugs in the first place. Of course, anything can be broken, but certain things are less likely to. Compliance tests written for specs are also valuable, but at some point we need to prioritize which tests to investigate and even to run.</div></div></blockquote><div> </div><div>I don't really see why we should prioritize the tests to run when all of them provide clear value to some WebKit members.</div><div>I agree that we need to prioritize tests we investigate. There can be a solution inside WPT, like adding WebKit specific metadata so that:</div><div>- WPT contributors would communicate with WebKit members whenever changing such tests<br></div><div>- WebKit contributors would prioritize WPT-WebKit-metadata failing tests</div><div><br></div><div>That said, if these tests are so beneficial to WebKit, they are potentially very useful to other teams as well.</div><div>And vice-versa, we might find really good WPT tests that show useful crashes and failures in WebKit.</div><div>I am experiencing that nowadays with WPT service worker tests.</div></div></div></div>