Bug 174092 - [WPE] Fix layout test baseline and TestExpectations hierarchy
Summary: [WPE] Fix layout test baseline and TestExpectations hierarchy
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Zan Dobersek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-03 04:27 PDT by Zan Dobersek
Modified: 2017-07-10 11:07 PDT (History)
4 users (show)

See Also:


Attachments
Patch (2.44 KB, patch)
2017-07-03 04:49 PDT, Zan Dobersek
no flags Details | Formatted Diff | Diff
Patch (3.38 KB, patch)
2017-07-09 23:41 PDT, Zan Dobersek
no flags Details | Formatted Diff | Diff
Patch for landing (4.01 KB, patch)
2017-07-10 07:04 PDT, Zan Dobersek
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews123 for ios-simulator-wk2 (948.32 KB, application/zip)
2017-07-10 09:17 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2017-07-03 04:27:47 PDT
[WPE] Only use the WPE-specific baseline and TestExpectations files
Comment 1 Zan Dobersek 2017-07-03 04:49:21 PDT
Created attachment 314474 [details]
Patch
Comment 2 Michael Catanzaro 2017-07-03 07:04:05 PDT
Comment on attachment 314474 [details]
Patch

I don't understand this. WPE is WK2, so it should use the WK2 baselines, and override them where they don't work for WPE. Just like GTK.

Why should WPE be special here?

The GTK EWS does not run tests anymore either. That needs fixed, but only if we can actually keep the tree green. Same goes for WPE, right?
Comment 3 Michael Catanzaro 2017-07-06 21:18:03 PDT
Comment on attachment 314474 [details]
Patch

I don't think we should do this.
Comment 4 Michael Catanzaro 2017-07-07 11:22:55 PDT
We are currently having some fun trying to set resourceLoadStatistics expectations for WPE. It seems the WK2 expectations are currently overriding the WPE expectations, which is broken. It should be the opposite.

See r219256, which halved failures on the WPE bot only because I forgot to annotate the tests as [ Pass ] in the WK2 expectations, and my fix in r219258, which is correct but caused the failures to return. The Timeout expectations in the WPE expectations file are being ignored in favor of the WK2 expectations.
Comment 5 Carlos Alberto Lopez Perez 2017-07-07 11:32:33 PDT
I'm also wondering why WPE should not inherit the WK2 expectations ??
Comment 6 Carlos Alberto Lopez Perez 2017-07-07 11:35:11 PDT
I think we should aim at having a common base between both ports, to not duplicate efforts more than necessary.

So, in the future, having a glib expectations that both GTK and WPE will inherit makes sense to me.

Something like:

* Baseline search path: platform/gtk -> platform/glib -> platform/wk2 -> generic
* Baseline search path: platform/wpe -> platform/glib -> platform/wk2 -> generic
Comment 7 Michael Catanzaro 2017-07-07 12:34:32 PDT
Yes, that would be ideal.

At any rate, the immediate problem is to fix the nonsense WPE search path.
Comment 8 Michael Catanzaro 2017-07-07 13:54:33 PDT
(In reply to Michael Catanzaro from comment #4)
> See r219256, which halved failures on the WPE bot only because I forgot to
> annotate the tests as [ Pass ] in the WK2 expectations, and my fix in
> r219258, which is correct but caused the failures to return.

It got rolled out because it was not actually correct. :) It introduced failures for Apple. There must be more failing tests there that were not individually marked in the WK2 expectations file. Whoops!
Comment 9 Michael Catanzaro 2017-07-08 08:01:56 PDT
(In reply to Carlos Alberto Lopez Perez from comment #5)
> I'm also wondering why WPE should not inherit the WK2 expectations ??

The problem is the default expectations path is this:

wpe-wk2 -> wk2 -> wpe -> generic

Which makes sense for macOS/iOS, but not for us. We need to override it to make it this:

wpe -> wk2 -> generic

matching the GTK port.
Comment 10 Zan Dobersek 2017-07-09 23:01:57 PDT
(In reply to Michael Catanzaro from comment #3)
> Comment on attachment 314474 [details]
> Patch
> 
> I don't think we should do this.

(In reply to Carlos Alberto Lopez Perez from comment #5)
> I'm also wondering why WPE should not inherit the WK2 expectations ??

As the expectations for resource load statistics tests showed, these TestExpectations files degenerated a bit, and the more TestExpectations files a port relies on, the more problems we'll have.
Comment 11 Zan Dobersek 2017-07-09 23:16:19 PDT
(In reply to Michael Catanzaro from comment #9)
> (In reply to Carlos Alberto Lopez Perez from comment #5)
> > I'm also wondering why WPE should not inherit the WK2 expectations ??
> 
> The problem is the default expectations path is this:
> 
> wpe-wk2 -> wk2 -> wpe -> generic
> 
> Which makes sense for macOS/iOS, but not for us. We need to override it to
> make it this:
> 
> wpe -> wk2 -> generic
> 
> matching the GTK port.

Let's use this bug to do that instead.
Comment 12 Zan Dobersek 2017-07-09 23:41:23 PDT
Created attachment 314963 [details]
Patch
Comment 13 Michael Catanzaro 2017-07-10 05:22:04 PDT
Comment on attachment 314963 [details]
Patch

The code is gobbledigook, but it looks similarish to the GTK port code and I presume it does what you say. Thanks!

But fix the duplicate ChangeLog entry!
Comment 14 Zan Dobersek 2017-07-10 07:04:59 PDT
Created attachment 314976 [details]
Patch for landing

Now also includes webkitpy unit tests.
Comment 15 Michael Catanzaro 2017-07-10 08:44:10 PDT
Comment on attachment 314976 [details]
Patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=314976&action=review

> Tools/Scripts/webkitpy/port/wpe.py:95
> +        return 2

Hm interesting, since it's not what the GTK unittest does....
Comment 16 Build Bot 2017-07-10 09:17:57 PDT
Comment on attachment 314976 [details]
Patch for landing

Attachment 314976 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/4091817

New failing tests:
http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html
Comment 17 Build Bot 2017-07-10 09:17:58 PDT
Created attachment 314988 [details]
Archive of layout-test-results from ews123 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews123  Port: ios-simulator-wk2  Platform: Mac OS X 10.12.5
Comment 18 Zan Dobersek 2017-07-10 09:53:19 PDT
Comment on attachment 314976 [details]
Patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=314976&action=review

>> Tools/Scripts/webkitpy/port/wpe.py:95
>> +        return 2
> 
> Hm interesting, since it's not what the GTK unittest does....

Not sure what you're pointing out exactly, but the GTKPort class has the exact same override, for the same reason (hence it's where I copied it from :>):
https://trac.webkit.org/browser/webkit/trunk/Tools/Scripts/webkitpy/port/gtk.py#L225
Comment 19 Zan Dobersek 2017-07-10 11:07:12 PDT
Comment on attachment 314976 [details]
Patch for landing

Clearing flags on attachment: 314976

Committed r219300: <http://trac.webkit.org/changeset/219300>
Comment 20 Zan Dobersek 2017-07-10 11:07:17 PDT
All reviewed patches have been landed.  Closing bug.