Reftests on device cannot require 800x1000 window size

RESOLVED FIXED

Status

Testing
Reftest
RESOLVED FIXED
7 years ago
7 years ago

People

(Reporter: cmtalbert, Assigned: jmaher)

Tracking

Trunk
ARM
Android
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
Bug 615386 landed, allowing us to support testing cross-process layers in reftest.  While this is a very good thing, it breaks our ability to run reftests on device because our devices can't render a window big enough to successfully run tests. 

This is complicated by the fact that the tests themselves require a large window to run correctly, and simply running them in a smaller window, or running only the tests that "pass" may not actually test anything of note.

There are several ways forward, all of them are thorny.
* Create a mobile-only reftest suite of tests that do test properly but without the window size requirement.  This probably also means that the reftest harness will have to be updated as well so that it can change how it draws its window so that we can inform reftest to draw a "device-sized" window.
* Re-think how reftest works with its image comparisons vs window size. Find a way forward that enables us to do the same comparisons by scaling down/keeping the same aspect ratio/something.  This is more brainstorming, have no idea if that's even possible/worthwhile.
* What else?

I haven't thought about it much until just this morning, so I welcome some other thoughts here.
What resolution can our tegra2 boards drive?
Summary: Reftests on device cannot require 1000x800 window size → Reftests on device cannot require 800x1000 window size
(Also, to be clear, this is orthogonal to bug 623613 and bug 593874.)
(Assignee)

Comment 3

7 years ago
from talos code:
http://hg.mozilla.org/build/talos/file/2198b71577c3/getInfo.html#l49

the tegra boards have this resolution:
	Screen width/height:1440/900
	colorDepth:24
	Browser inner width/height: 1024/678

according to SUT agent, we have this:
X:1366 Y:768

Comment 4

7 years ago
We have two choices to make the screen size correct. We have to image the tegras for either hdmi or vga output. And then execute the following commands.

To set the resolution to 1680x1050 with an HDMI monitor:
adb wait-for-device
adb shell setprop persist.tegra.dpy5.mode.width 1680
adb shell setprop persist.tegra.dpy5.mode.height 1050
adb shell reboot

To set the resolution to 1680x1050 with an VGA monitor:
adb wait-for-device
adb shell setprop persist.tegra.dpy3.mode.width 1680
adb shell setprop persist.tegra.dpy3.mode.height 1050
adb shell reboot

or if you have the SUTAgentAndroid installed, in a telnet window you can send the following commands.

To set the resolution to 1680x1050 with an HDMI monitor:
exec setprop persist.tegra.dpy5.mode.width 1680
exec setprop persist.tegra.dpy5.mode.height 1050
rebt

To set the resolution to 1680x1050 with an VGA monitor:
exec setprop persist.tegra.dpy3.mode.width 1680
exec setprop persist.tegra.dpy3.mode.height 1050
rebt

This yields an internal windows size 1680 x 1025 according to reftest. Also this resizing is persistent across reboots.
(Assignee)

Comment 5

7 years ago
as a note, I did a fresh install of a crt or hdmi image, then immediately adjusted the resolution as mentioned above.  After doing so I was unable to install fennec due to out of memory errors.  Adjusting the resolution back down (or reinstalling the os image) resolved this problem.

I have been unable to confirm that we can reflash, adjust resolution, install fennec.  My only path to success is: reflash, install fennec, adjust resolution, uninstall fennec.
(Assignee)

Comment 6

7 years ago
lets use this bug to track how we will adjust the resolution.  Since we have issues with the larger resolution eating up a lot of the memory that we need for a user process, we need to adjust the resolution just for reftest.

This is how I see it working:
install script:
 - installs new fennec
 - adjusts screen resolution
 - reboots

cleanup script:
 - removes testroot directory
 - adjusts down screen resolution


reftest script:
 - verifies we have the screen resolution that we want
 - *could possibly adjust it up and down*


We should decide how the install script will know to update the resolution.

Question for releng: Can we run a different install script or add a parameter to the existing script when running reftest?
(Assignee)

Comment 7

7 years ago
in bug 634691, there are devicemanager.py changes to facilitate resolution changes.

Here is a copy of installApp.py that will adjust the resolution (I don't know where the hg repository is that installApp lives in):
http://people.mozilla.org/~jmaher/installApp.py

http://people.mozilla.org/~jmaher/installApp.py
(Assignee)

Comment 8

7 years ago
Created attachment 514019 [details] [diff] [review]
check for invalid resolution when running tests on remote devices (1.0)

simple patch for m-c to fix remotereftests.py to exit with an error if the resolution is too small on the device.
Assignee: nobody → jmaher
Attachment #514019 - Flags: review?(bhearsum)
Comment on attachment 514019 [details] [diff] [review]
check for invalid resolution when running tests on remote devices (1.0)

This looks fine to me, but I don't think I'm the best reviewer.
Attachment #514019 - Flags: review?(ted.mielczarek)
Attachment #514019 - Flags: review?(bhearsum)
Attachment #514019 - Flags: feedback+
(Assignee)

Updated

7 years ago
Attachment #514019 - Flags: review?(ted.mielczarek) → review?(ctalbert)
(Reporter)

Updated

7 years ago
Attachment #514019 - Flags: review?(ctalbert) → review+
(Assignee)

Comment 10

7 years ago
http://hg.mozilla.org/mozilla-central/pushloghtml?changeset=c3cd62743efe
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
Comment on attachment 514019 [details] [diff] [review]
check for invalid resolution when running tests on remote devices (1.0)

>+    if (width < 1050 or height < 1050):
>+        print "ERROR: Invalid screen resolution %sx%s, please adjust to 1366x1050 or higher" % (width, height)
>+        sys.exit(1)
>+

Either the code or the error message is wrong here. You ask to adjust to 1366x1050, but you check for 1050x1050.
(Assignee)

Comment 12

7 years ago
we need 1050 minimum and the minimum resolution on a tegra device (depending on crt vs hdmi) is 1366x1050 (normally much higher).  I check for what will satisfy the test and the error message is what is possible on the tegra device.
You need to log in before you can comment on or make changes to this bug.