Mobile/e10s/Testing: Difference between revisions
(→image) |
|||
Line 96: | Line 96: | ||
===ib-split=== | ===ib-split=== | ||
===image=== | ===image=== | ||
* background-image-zoom-1.html and image-zoom-1.html - looks like we zoom differently than Firefox? In Fennec the image begins so tiny it can't be seen. Doing some zooming in will show it properly in both tests. | |||
===image-element=== | ===image-element=== | ||
===image-rect=== | ===image-rect=== |
Revision as of 22:43, 13 April 2011
Fennec Mochitest and Reftest
Build Fennec with enable-tests.
- required patches:
- bug 648104, 649776.
Running Tests
Make sure you have --enable-tests in your mozconfig as you build. You can then use normal Firefox desktop commands to run tests, like
TEST_PATH=modules/libpr0n/test/reftest/reftest.list make reftest
(do this in the OBJDIR). You will need to make a symlink called fennec-bin (pointing to fennec). (ln -s /builds/mozilla-central/obj-mobilebase-opt/dist/bin/fennec /builds/mozilla-central/obj-mobilebase-opt/dist/bin/fennec-bin)
Another way to build tests is (for example, for libpr0n)
make package-tests cd dist/test-package-stage/reftest python runreftest.py --app=../../bin/fennec tests/modules/libpr0n/test/reftest/pngsuite-chunkorder/reftest.list
This however requires make package-tests, and you will not have your tests symlinked (so changes to them will require another make package-tests each time).
If you run a debug build, you will hit lots of "assertion count X is more than expected Y assertions". For now you can ignore those (but we should fix them eventually!)
Also, you can more easily compare errors using the tool checked in at: file:///builds/mozilla-central/layout/tools/reftest/reftest-analyzer.xhtml
Reftests
abs-pos
successful
backgrounds
REFTEST TEST-UNEXPECTED-FAIL | file:///builds/mozilla-central/layout/reftests/backgrounds/background-size-zoom-no-repeat.html
bidi
Unexpected: 7
border-image
successful
border-radius
2 failures ====file:///builds/mozilla-central/layout/reftests/border-radius/scrollbar-clamping-1.html file:///builds/mozilla-central/layout/reftests/border-radius/scrollbar-clamping-2.html
box-ordinal
successful
box-properties
one failure: file:///builds/mozilla-central/layout/reftests/box-properties/CSS21-t100301.xhtml
box-shadow
Unexpected: 4
bugs
canvas
columns
counters
css-calc
css-charset
css-default
css-disabled
css-enabled
css-gradients
css-import
css-invalid
css-mediaqueries
css-namespace
cssom
css-optional
css-parsing
css-placeholder
css-required
css-submit-invalid
css-transitions
css-ui-invalid
css-ui-valid
css-valid
css-valuesandunits
css-visited
datalist
dom
editor
first-letter
first-line
floats
font-face
font-features
font-matching
fonts
forms
generated-content
ib-split
image
- background-image-zoom-1.html and image-zoom-1.html - looks like we zoom differently than Firefox? In Fennec the image begins so tiny it can't be seen. Doing some zooming in will show it properly in both tests.
image-element
image-rect
image-region
inline-borderpadding
invalidation
layers
line-breaking
list-item
margin-collapsing
marquee
mathml
native-theme
object
ogg-video
pagination
percent-overflow-sizing
pixel-rounding
printing
reftest-sanity
scrolling
selection
svg
table-anonymous-boxes
table-background
table-bordercollapse
table-dom
table-width
tab-size
text
text-decoration
text-indent
text-shadow
text-transform
transform
unicode
view-source
xul
xul-document-load
z
libpr0n
Most of these tests fail due to fennec disabling color correction (due to performance concerns). And some other will fail if using a 16bbp display. For example, see bug 648148. Also note that reftests that require drawWindow support will fail in Fennec. (For that you will want the patch in bug 648104, as mentioned before.)
cjones was able to make these mostly pass back in Feb, but since have decayed.
layout/font*
All pass except for bug 649809.
layout/reftests/image*
Some failures due to color correction or scaling/smoothing:
- canvas-outside-document.html
- element-paint-native-widget.html
- element-paint-sharpness-01b.html
- element-paint-sharpness-02b.html
MochiTest
layout/base
Most of these failures are related to using the old netscape universal permissions api. Instead, we should be using SpecialPowers -- the new elevated permission api.
Many of the mochitests use some sort of elevated permission. For example, sending an keypress or composition event requires elevated permissions. I converted some of the EventUtils over to SpecialPowers in bug 649360.
To run, you can:
make package-tests cd dist/test-package-stage/mochitest python runreftest.py --app=../../bin/fennec --autorun --close-when-done --test-path=layout/base
layout/style is another test suite of interest. Currently this has over 90,000 tests and we fail <30 on fennec. Most of those are simple fixes for using SpecialPowers for preferences.
python runreftest.py --app=../../bin/fennec --autorun --close-when-done --test-path=layout/style