<br>On Monday, February 6, 2017, youenn fablet &lt;<a href="mailto:youennf@gmail.com">youennf@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The two complaints I heard against testharness.js are:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>- They are less easy to debug as test harness.js does not print out messages for each assert. There might be room for updating testharness to support that<br>- Async tests are less easy to write. While this is probably true, testharness has support for promise-based tests which are not verbose.</div><div>WPT has also some benefits of its own, like the possibility to run easily the same tests in worker/window environments, the flexible python-based server...</div><div><br></div><div>One complaint I heard against WPT tests is that they require being run behind a server.</div><div>This is becoming more and more true. </div><div>There is still a large portion of tests that could be run locally if we update the paths to test harness.js/testharnessreport,<wbr>js.</div><div>I am not a big fan of modify any WPT test but maybe we should consider switching back to modifying these paths at import and export time.</div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>We should probably do this for the sake of making tests more debuggable. Having to run a HTTP/HTTPS server makes testing WebCore against a test needlessly harder especially for things like core DOM API which doesn&#39;t require any network stack.</div></div></div></div></blockquote><div><br></div><div>Or we could make our tooling better to also handle LayoutTests/http tests more easily.</div><div>In any case, our CI infrastructure should run WPT tests as closely as specified by WPT.</div></div></div></blockquote><div><br></div><div>The concern I&#39;ve heard about is not how run-webkit-tests run the tests. It&#39;s about how a test is opened inside a browser, DRT, WTR while debugging.</div><div><br></div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I would tend to do the following:</div><div>- Write/submit WPT tests in WebKit as regular WebKit testharness.js layout tests through bugzilla</div><div>- At commit queue time, automatically create a PR to WPT GitHub containing the changes of the WebKit patch<br></div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I think commit queue time is too late. Remember that not everyone uses commit queue. Also, if there was any issue with a test, we should be able to tell that prior to landing the patch.</div></div></div></div></blockquote><div><br></div><div>Ideally, having one EWS bullet/bot capturing/handling PR status would be very good.</div><div>Knowing the state of a test from various browsers would be helpful at review time.</div><div><br></div><div>But this might require some extra work to support PR updates and so on.</div><div>CQ time seems like a reasonable target for step 1.</div><div>Well, step 0 might be to have a script that committers would run themselves locally.</div></div></div></blockquote><div><br></div><div>Again, many people don&#39;t use CQ. What do those people do? Manually run a script? I don&#39;t think that&#39;s a workable solution. There are many people just land patches from Xcode UI for example.</div><div><br></div><div>In general, I don&#39;t think it&#39;s acceptable to introduce any extra step for WebKit contributors. Let it be running a new script, potentially fix an issue in GitHub PR, etc...</div><div><br></div><div>There should be absolutely no new thing contributor has to run or monitor. That should be the minimum bar for this upstreaming system to exist.</div><div><br></div><div>Again, we can&#39;t even keep up with test failures on our own bots, and people frequently land patches with broken tests or tests that fail on some bots. There is no way we can succeed by introducing yet another step / place humans has to care. That&#39;s simply unacceptable.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>- Ask committer to fix the WPT PR should there be any issue with it (committer being informed of such issues through bugzilla).<br></div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I think this is too much of an overhead / a burden for WebKit contributors. Now patch contributors need to worry about EWS, <a href="http://build.webkit.org" target="_blank">build.webkit.org</a>, and some random PR that gets created on Github failing.</div></div></div></div></blockquote><div> </div><div>Contributors would just need to worry about monitoring bugzilla, like they are doing for EWS/CQ.</div></div></div></blockquote><div><br></div>It depends on what kind of &quot;monitoring&quot; is required.<br><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>The number of conflicts should be fairly small hopefully.</div><div>I am not sure that we can come up with a solution that would handle conflicts automatically.</div></div></div></blockquote><div><br></div><div>In the case of a conflict, the patch should be rejected in EWS &amp; CQ just the same way a WebKit patch conflict would.</div><div><br></div><div>- R. Niwa </div><br><br>-- <br>- R. Niwa<br>