Closed Bug 868647 Opened 9 years ago Closed 4 years ago
Detector tests fail on gaia-unit-tests in TBPL
358 bytes, text/html
First error: 14:56:49 INFO - gaia-unit-tests TEST-UNEXPECTED-FAIL | GestureDetector gesture detection mousetap | target is null 14:56:49 INFO - gaia-unit-tests INFO | stack trace: 14:56:49 INFO - TypeError: target is null 14:56:49 INFO - at mouseEvent (http://test-agent.gaiamobile.org:8080/common/test/synthetic_gestures.js:475) 14:56:49 INFO - at drag (http://test-agent.gaiamobile.org:8080/common/test/synthetic_gestures.js:452) 14:56:49 INFO - at mousetap (http://test-agent.gaiamobile.org:8080/common/test/synthetic_gestures.js:523) 14:56:49 INFO - at (anonymous) (http://gallery.gaiamobile.org:8080/test/unit/GestureDetector_test.js:75) 14:56:49 INFO - at wrapper (http://test-agent.gaiamobile.org:8080/common/test/mocha_generators.js:60) 14:56:49 INFO - at run (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3709) 14:56:49 INFO - at runTest (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:4081) 14:56:49 INFO - at (anonymous) (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:4127) 14:56:49 INFO - at next (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:4007) 14:56:49 INFO - at (anonymous) (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:4016) 14:56:49 INFO - at next (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3964) 14:56:49 INFO - at (anonymous) (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3979) 14:56:49 INFO - at done (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3700) 14:56:49 INFO - at (anonymous) (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3712) 14:56:49 INFO - at (anonymous) (http://test-agent.gaiamobile.org:8080/common/test/mocha_generators.js:46) 14:56:49 INFO - at wrapper (http://test-agent.gaiamobile.org:8080/common/test/mocha_generators.js:73) 14:56:49 INFO - at run (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3709) 14:56:49 INFO - at next (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3973) 14:56:49 INFO - at (anonymous) (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:3984) 14:56:49 INFO - at (anonymous) (http://test-agent.gaiamobile.org:8080/common/vendor/mocha/mocha.js:4932) Full log: https://tbpl.mozilla.org/php/getParsedLog.php?id=22568249&tree=Cedar&full=1#error1
I don't think this still happens. I thought this could have been Bug 867079 but I see that Bug 867079 was fixed before your run. Is it possible that you had an older copy of Gaia master ?
Ok, I see this happens _sometimes_. David, any thought on this ? see eg https://tbpl.mozilla.org/php/getParsedLog.php?id=22820095&tree=Cedar&full=1 from today.
The failure is in test_apps/test-agent/common/test/synthetic_gestures.js. target is undefined at line 475. Which must mean that the call to elementFromPoint() at line 462 failed. I don't know if anything changed with that function in gecko. But I'd assume that means that the point (clientX, clientY) is invalid. If I were working on this, I'd insert debugging statements to check clientX, clientY, and also check the size of the window and of document.body.lastChild which I think should be the test div element inserted in GestureDetector_test.js. If you can figure out why elementFromPoint() is failing, that should fix things. (You could try replacing the doc.elementFromPoint() call with doc.body.lastChild. If that fixes the tests, it means that something is wrong with the elementFromPoint() call). The fact that this is transient is really weird. Like sometimes the tests are being run before the document is properly set up, or is being run with the screen size misconfigured or something? See apps/gallery/test/GestureDetector_test.js lines 33-37 for the code that sets up the element that the events are generated on. This is the element that should be returned by the call to doc.elementFromPoint(). I don't understand marionette and how these tests are run... Could it be that the code in the setup() function needs to force a reflow or relayout after adding the element before allowing the tests to proceed? You can do that by querying element.offsetWidth, I think. Notice that it is only the mouse-based tests that are failing, not the touch tests. But that is probably just because the touch-based synthetic gestures don't have to call elementFromPoint().
These tests don't use Marionette at all.
I am going to disable these tests for TBPL only until this can be resolved, as this failure (among some others) are blocking us from rolling them out.
Pointer to Github pull-request
Attachment #766954 - Flags: review?(mdas)
Jon, could you please file a bug to reenable them then ? How will we be able to test in the same environment (eg: like try) ?
Attachment #766954 - Flags: review?(mdas) → review+
(In reply to Julien Wajsberg [:julienw] from comment #7) > Jon, could you please file a bug to reenable them then ? > Can we just re-enable them via this bug at the same time they're fixed? > How will we be able to test in the same environment (eg: like try) ? Unfortunately, we can't. We don't have a gaia-try implementation right now, so the only way to "test" these is to turn them back on. :( We have plans for gaia-try (bug 868605), but that likely won't occur for a while yet.
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.