<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On May 9, 2017, at 8:44 AM, youenn fablet <<a href="mailto:youennf@gmail.com" class="">youennf@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_quote"><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" class=""><div class=""><div class=""><br class=""></div></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">Besides other issues mentioned, testharness tends to result in more verbose tests compared to js-test, at least for simple cases.</div></div></div></blockquote><div class=""><br class=""></div><div class="">For synchronous tests, I am not sure there is any big difference one way or the other.</div><div class="">With asynchronous tests, it might be true, but using testharness.js/promise_test usually improves things there.</div><div class=""> I personally find it easier to not wrap code-to-be-tested into quotes.</div></div></div></div></blockquote><div><br class=""></div><div>It seems like it's a matter of personal preference to some extent. So I am not sure we should recommend one or the other (besides for tests that are intended to be contributed to web-platform-tests).</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_quote"><div class=""><br class=""></div><div class="">Another concern is the lack of verbose output which reduces the ability to debug failing tests.</div><div class="">This can be partially fixed by authoring tests with that issue in mind.</div><div class="">For instance, having a big promise_test to handle the asynchronous aspect of a test and nested test() inside it.</div></div></div></div></blockquote><div><br class=""></div><div>I don't think we've ever had a problem with debugging js-test.js tests when they fail.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_quote"><div class=""><br class=""></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" class=""><div class=""><blockquote type="cite" class=""><div class=""><span 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;float:none;display:inline!important" class="">The thing I specifically asked Youenn to ask is, whether we should</span><br 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" class=""><span 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;float:none;display:inline!important" class="">place a test inside LayoutTests/wpt like LayoutTests/http/tests when</span><br 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" class=""><span 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;float:none;display:inline!important" class="">we want to write a test using testharness.js which requires some sort</span><br 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" class=""><span 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;float:none;display:inline!important" class="">of network code.</span><br 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" class=""><br 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" class=""><span 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;float:none;display:inline!important" class="">Since people have had some opinions about directory structures in the past.</span><br 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" class=""></div></blockquote></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""></div><br class=""><div class="">It seems like we need a few different directories, here are my opinions on them:</div><div class=""><br class=""></div><div class="">(1) Imported web platform tests that don't need a server</div><div class="">    Currently LayoutTests/imported/w3c/web-platform-tests, which seems fine.</div></div></blockquote><div class=""><br class=""></div><div class=""><div class="">All WPT tests are expected to run behind the WPT server.</div><div class="">That is the way tests are authored and tested elsewhere.</div><div class="">If we have an issue with that, it is best to bring that and fix that directly in WPT.</div><div class="">I encountered several times small issues due to file:// based origins which makes me think defaulting to http is a safe choice.</div></div><div class=""><br class=""></div><div class="">One concern is efficiency. We should study that and improve on that.</div><div class="">Another concern is the ease of running tests for developers: drag&dropping tests into a browser instead of running a server.</div><div class="">We can partially accommodate this by rewriting testharness.js/testharnessreport.js urls.</div><div class="">A significant and growing amount of wpt tests will not behave as expected (other resources loaded, origins, need for specific headers, need for https...)</div><div class=""><br class=""></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" class=""><div class="">(2) Imported web platform tests that do need a server</div><div class="">    Probably should be under LayoutTests/imported/w3c/ somewhere, or maybe under http/tests/ per point (4)</div></div></blockquote><div class=""><br class=""></div><div class="">I don't think this will work, web-platform-tests is organized in terms of features.</div><div class="">There is no clear separation between file based compatible tests and http based tests like in WebKit.</div></div></div></div></blockquote><div><br class=""></div><div>If we run all the w3c-imported web platform tests under a web server, then obviously we only need one directory. My understanding is that we don't run them under a server at all. So it seems like one part of this proposal is "run everything under LayoutTests/imported/w3c/ from a web server".</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_quote"><div class=""><br class=""></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" class=""><div class="">(3) Custom testharness.js tests that don't need a server </div><div class="">    Probably these should just go in their normal topic-specific directories and should not need a special directory</div></div></blockquote><div class=""><br class=""></div><div class="">Right.</div><div class="">The only case where it might make sense to put such tests in a specific WPT-enabled directory is if the plan is to upstream these tests at some point.</div><div class="">Such tests could be added in imported/w3c/web-platform-tests directly but this requires coordination with resyncing tests at the moment.</div><div class="">In a not-too-far-future, I hope such tests would directly be authored in imported/w3c/web-platform-tests.</div></div></div></div></blockquote><div><br class=""></div><div>I think it would be cleaner to have a separate directory of tests intended for import, separate from imported tests. It could be right next to imported/w3c/web-platform-tests. I think mixing tests that are imported from upstream and tests intended for eventual upstreaming is more confusing than helpful.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_quote"><div class=""> </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" class=""><div class="">(4) Custom testharness.js tests that do need a server</div><div class="">    Can these just be a subdirectory of http/tests/? We have websocket and ssl/tls tests in there too. Would be nice to not need a separate directory for networking tests that to use a particular test framework.</div></div></blockquote><div class=""><br class=""></div><div class="">I do not have strong feelings there, http/wpt might make sense if it is found easier to understand to everybody.</div><div class="">I'll update the patch accordingly and will land it sometimes this week if there is no additional feedback.</div></div></div></div></blockquote><br class=""></div><div>One question I have is whether web platform tests can run under a regular HTTP server (maybe with appropriate configuration) or do we need something special? Is the WPT server more than just a web server with specific configuration settings?</div><div><br class=""></div><div>Regards,</div><div>Maciej</div><div><br class=""></div><br class=""></body></html>