Closed Bug 846153 Opened 7 years ago Closed 3 years ago

Prepare gaia (or gecko, through interfaces used by gaia) for eideticker testing

Categories

(Firefox OS Graveyard :: Gaia, defect)

x86_64
Linux
defect
Not set

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: cjones, Unassigned)

References

Details

Eideticker [1] is a cool tool Moz built for black-box automated perf testing.  We need to use it to test basic animations etc. in gaia, for example that the app-open animation or UI transitions run at 60fps.

The system is black-box except that it requires some synchronization between the code driving the test workload (e.g. through touch events) and the system being recorded.  We'll need to figure out the right way to implement that in gaia, preferably without growing invasive roots into gaia app code itself.

[1] https://wiki.mozilla.org/Project_Eideticker
Right now the b2g support for eideticker works using the "gaiatest" module. I honestly don't know that much about how it works -- so far I've gotten guidance from jgriffin on how to write a few basic tests.

Here's a test which opens the app switcher and swipes around a bit:

https://github.com/mozilla/eideticker/blob/master/src/tests/b2g/appswitching/appswitching.py

Here's another test which launches an application (used to measure startup times):

https://github.com/mozilla/eideticker/blob/master/src/tests/b2g/applaunching/startup.py

So I'm not sure what more needs to be done here. Perhaps jgriffin can give more clarification...
This probably relates to synchronization concerns...e.g., if measuring fps for a swipe, how does the harness know when the swipe starts and ends?

I think in Android we've gotten around this problem by requiring low-latency connections and by using steady screen states as bookends for measurement.  We can probably do that for B2G as well, at least during the first iteration.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.