Bug 79628 - Add a ChromiumGpuAndroid port.
Summary: Add a ChromiumGpuAndroid port.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Hao Zheng
URL:
Keywords:
Depends on:
Blocks: 78524
  Show dependency treegraph
 
Reported: 2012-02-26 23:01 PST by Hao Zheng
Modified: 2012-03-19 02:42 PDT (History)
5 users (show)

See Also:


Attachments
Patch (5.67 KB, patch)
2012-02-26 23:18 PST, Hao Zheng
no flags Details | Formatted Diff | Diff
Patch (4.32 KB, patch)
2012-02-26 23:40 PST, Hao Zheng
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hao Zheng 2012-02-26 23:01:22 PST
Revert https://bugs.webkit.org/show_bug.cgi?id=78580 , as we do have a ChromiumGpuAndroid port. Will send out a patch.
Comment 1 Adam Barth 2012-02-26 23:02:38 PST
We're in the process of deleting all the GPU ports, but it's probably fine to add this for the time being.
Comment 2 Hao Zheng 2012-02-26 23:18:51 PST
Created attachment 128962 [details]
Patch
Comment 3 Hao Zheng 2012-02-26 23:22:23 PST
(In reply to comment #1)
> We're in the process of deleting all the GPU ports, but it's probably fine to add this for the time being.

I see. Actually, I found our gpu port broken in our merge, mostly due to the the process of removing all gpu ports (code is undergoing lots of change). So I want to upstream this first, hoping that future refactoring could take Android port into account, too. Thanks for upstreaming our Android port, Adam.
Comment 4 Adam Barth 2012-02-26 23:34:02 PST
Comment on attachment 128962 [details]
Patch

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

> Tools/Scripts/webkitpy/layout_tests/port/factory.py:76
> -            return 'chromium-linux'
> +            if os.environ.get('GYP_DEFINES', '').find('OS=android') >= 0:
> +                return 'chromium-android'
> +            else:
> +                return 'chromium-linux'

This part of the change is wrong.  If you want to create the the chromium-android port, you need to pass it on the command line:

--platform=chromium-android

> Tools/Scripts/webkitpy/layout_tests/port/factory.py:100
> -            port_name = port_name + '-' + self._host.platform.os_name
> +            if os.environ.get('GYP_DEFINES', '').find('OS=android') >= 0:
> +                port_name = 'chromium-gpu-android'
> +            else:
> +                port_name = port_name + '-' + self._host.platform.os_name

Same here.
Comment 5 Adam Barth 2012-02-26 23:34:19 PST
(Other than that, looks good.)
Comment 6 Hao Zheng 2012-02-26 23:40:04 PST
Created attachment 128965 [details]
Patch
Comment 7 Hao Zheng 2012-02-26 23:40:51 PST
(In reply to comment #4)
> (From update of attachment 128962 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=128962&action=review
> 
> > Tools/Scripts/webkitpy/layout_tests/port/factory.py:76
> > -            return 'chromium-linux'
> > +            if os.environ.get('GYP_DEFINES', '').find('OS=android') >= 0:
> > +                return 'chromium-android'
> > +            else:
> > +                return 'chromium-linux'
> 
> This part of the change is wrong.  If you want to create the the chromium-android port, you need to pass it on the command line:
> 
> --platform=chromium-android
> 

I see. Done.

> > Tools/Scripts/webkitpy/layout_tests/port/factory.py:100
> > -            port_name = port_name + '-' + self._host.platform.os_name
> > +            if os.environ.get('GYP_DEFINES', '').find('OS=android') >= 0:
> > +                port_name = 'chromium-gpu-android'
> > +            else:
> > +                port_name = port_name + '-' + self._host.platform.os_name
> 
> Same here.

Done.
Comment 8 Adam Barth 2012-02-26 23:44:26 PST
Comment on attachment 128965 [details]
Patch

Thanks!
Comment 9 Hao Zheng 2012-02-26 23:49:41 PST
(In reply to comment #8)
> (From update of attachment 128965 [details])
> Thanks!

Thanks for your really quick review!
Comment 10 WebKit Review Bot 2012-02-27 02:06:20 PST
Comment on attachment 128965 [details]
Patch

Clearing flags on attachment: 128965

Committed r108974: <http://trac.webkit.org/changeset/108974>
Comment 11 WebKit Review Bot 2012-02-27 02:06:24 PST
All reviewed patches have been landed.  Closing bug.
Comment 12 Dirk Pranke 2012-02-27 10:50:56 PST
I'm confused; I thought James said that that the gpu path is always used on the Android port, so why is this needed?
Comment 13 James Robinson 2012-02-27 10:56:12 PST
Yeah I'm quite confused by this as well.  You need a GPU version of a port when you want to run tests in a GPU and non-GPU configuration and maintain separate baselines and possibly flags for the two.  Is this really true for the Android port?
Comment 14 Hao Zheng 2012-02-27 19:12:26 PST
(In reply to comment #13)
> Yeah I'm quite confused by this as well.  You need a GPU version of a port when you want to run tests in a GPU and non-GPU configuration and maintain separate baselines and possibly flags for the two.  Is this really true for the Android port?

Sorry for confusion. Yes, we only has hardware gpu path in browser. However, our hardware gpu path is still not reliable enough for running layout tests, as it crashes randomly sometimes (not very often, but does crash flakily). Maybe it's because of some memory leak issues. So on our downstream bot, we actually run non gpu tests for now. That's why we need a non gpu port and a standalone gpu port now. When the hardware gpu path is reliable enough to run tens of thousands of tests, we can run layout tests completely in hardware gpu path and remove the gpu port.
Comment 15 James Robinson 2012-02-27 19:53:22 PST
So you aren't testing the configuration you are shipping?  That seems....brave
Comment 16 Hao Zheng 2012-02-27 20:07:00 PST
(In reply to comment #15)
> So you aren't testing the configuration you are shipping?  That seems....brave

I keep an eye on them locally. Of course that's bad... I hope we can fix it very soon.