Closed Bug 1006129 Opened 10 years ago Closed 10 years ago

Create a make test-perf test to report the fill ratio while scrolling the settings app

Categories

(Firefox OS Graveyard :: Gaia::Settings, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED FIXED
2.0 S2 (23may)

People

(Reporter: mchang, Assigned: mchang)

References

Details

(Keywords: perf, Whiteboard: [c=automation p=2 s= u=])

Attachments

(1 file, 1 obsolete file)

Create a make test-perf test script that scrolls the settings app, then reports the fill ratio numbers from the compositor into b2g.
Attached file WIP - Settings Scroll Test (obsolete) —
WIP. This correctly gets the overfill numbers from the compositor and reports the data to make test perf. The problem is that maybe 1/5 times, marionnette doesn't scroll the settings app. Instead the "Airplane Mode" box of the Settings app gets highlighted and nothing scrolls. 

Malini, any idea why we can have a sporadic tap/drag instead of a full scroll? I'm scrolling via line 61. Thanks!
Flags: needinfo?(mdas)
Mason, you should install this addon and just use it to attach a proper pull request to it.

https://addons.mozilla.org/en-US/firefox/addon/github-tweaks-for-bugzilla/

(it is written by Dietrich)

It makes life easier to everybody.
Attachment #8418454 - Attachment is patch: false
I can't reproduce it but one likely issue is this:

      app.launch(waitForBody);

It only waits until the <body> tag exists. That isn't enough to judge whether a page is ready for use. You should wait for DOMContentLoaded to be fired, then start interacting with the page.
Flags: needinfo?(mdas)
Need 996038 so that we wait until the app is interactive ready to reliably scroll.
Depends on: gaia-perf-events
you could wait the ready event, see bug 837669.
Depends on: 837669
Depends on: 979949
I took your patch. This should work now. Let me know.
Attachment #8418454 - Attachment is obsolete: true
Attachment #8426346 - Flags: feedback?(mchang)
Currently my only concern is that the output is named "mozPerfDurations". But if I change that it might break Datazilla.
Comment on attachment 8426346 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/19487

This looks good, although it's failing the build with jslint. Any ideas why?
Attachment #8426346 - Flags: feedback?(mchang) → feedback+
I don't get any error here.
Comment on attachment 8426346 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/19487

Travis looks green now.
Attachment #8426346 - Flags: review+
Comment on attachment 8426346 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/19487

Eli do you mind review this? Thanks.
Attachment #8426346 - Flags: review?(eperelman)
No longer depends on: gaia-perf-events
Depends on: 1015405
No longer depends on: 1015405
Comment on attachment 8426346 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/19487

My name is Eli, and I approve this PR.
Attachment #8426346 - Flags: review?(eperelman) → review+
Thanks! Gaia tip - 067025545d363dcb689e59413e8f112b308bb751
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Hi, sorry to jump in accidentally,

I just noticed that this patch would add one more item in xfail.list, so why not try to make it pass our linter instead ?
The .js is part of the test suite (that runs on Node.js) and not gaia. I don't really know how to fix the issues like functions injected in the global namespace and things like that.

I am open to suggestions.
(In reply to Hubert Figuiere [:hub] from comment #15)
> The .js is part of the test suite (that runs on Node.js) and not gaia. I
> don't really know how to fix the issues like functions injected in the
> global namespace and things like that.
> 
> I am open to suggestions.

For linter, each file is an unit and there is no difference when linting node.js code or gaia code.

You can try to add one more .jshintrc file in `settings/test/performance/` and predefine some global variables like "requireGaia" ... etc. 

And also, you can refer this file (https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/test/unit/.jshintrc) to know the basic structure of our .jshintrc

Hope this helps :)
Filed bug 1017347 for that.
(In reply to Hubert Figuiere [:hub] from comment #17)
> Filed bug 1017347 for that.

Thanks Hubert ! Hope the information helps !
Target Milestone: --- → 2.0 S2 (23may)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: