Closed
Bug 1364762
Opened 7 years ago
Closed 3 years ago
Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_screenshot.py TestScreenCaptureChrome.test_capture_full_area | AssertionError: [truncated]... != [truncated]...
Categories
(Testing :: Marionette Client and Harness, defect, P5)
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: intermittent-bug-filer, Unassigned)
References
Details
(Keywords: bulk-close-intermittents, intermittent-failure, Whiteboard: [stockwell unknown])
Attachments
(2 files, 1 obsolete file)
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 3•7 years ago
|
||
I wonder if this can be affected by recent UI changes to Firefox, and more recently, by https://bugzilla.mozilla.org/show_bug.cgi?id=1355890. The robot icon that is shown in the address bar when the browser’s remote protocol is activated is a GIF of a robot that occasionally blinks.
Comment 4•7 years ago
|
||
When I let both PNGs graphically compare those are identically. I used http://huddle.github.io/Resemble.js/ for that. But binary wise we have a difference. I wonder if we better should not do it binary wise, or what that actually means. I will attach both files in a moment.
Comment 5•7 years ago
|
||
Comment 6•7 years ago
|
||
Comment 7•7 years ago
|
||
Maybe only the header is different (eg. different time) but the data is the same? It could easily happen because of large data to transfer between Firefox and the client, so that a second difference can happen.
Comment 8•7 years ago
|
||
So, the robot is animated and because of that we have differences in the image. See the rolling eyes. I think that you want to remove this animation. Maybe its better to file a new bug for this.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•7 years ago
|
Whiteboard: [stockwell needswork]
Comment 14•7 years ago
|
||
Attachment #8871362 -
Flags: review?(gbrown)
Comment 15•7 years ago
|
||
I think this bug may have been fixed, via bug 1366366.
Comment 16•7 years ago
|
||
oh, this would be cool, I see the failure rate way down.
Comment 17•7 years ago
|
||
Comment on attachment 8871362 [details] [diff] [review]
temporarily disable this test everywhere
Marking as obsolete given that we don't need it anymore. I can have a look in the next days (when it happens the next time) if I can find out what the reason is for this test failure.
Attachment #8871362 -
Attachment is obsolete: true
Attachment #8871362 -
Flags: review?(gbrown)
Comment hidden (Intermittent Failures Robot) |
Updated•7 years ago
|
Whiteboard: [stockwell needswork] → [stockwell unknown]
Updated•7 years ago
|
Whiteboard: [stockwell unknown] → [stockwell needswork]
Updated•7 years ago
|
Whiteboard: [stockwell needswork] → [stockwell unknown]
Comment hidden (Intermittent Failures Robot) |
Comment 20•7 years ago
|
||
The recent issue for those failures seems to be the reload button in the toolbar which in one screenshot is disabled, and in the second enabled.
https://dxr.mozilla.org/mozilla-central/rev/cad53f061da634a16ea75887558301b77f65745d/testing/marionette/harness/marionette_harness/tests/unit/test_screenshot.py#194
In ScreenCaptureTestCase.setUp() we explicitly load `about:blank` but we somehow return from `get` for a different URL:
1496328967429 Marionette TRACE 270 -> [0,7,"get",{"url":"about:blank"}]
1496328967436 Marionette DEBUG Received DOM event "beforeunload" for "http://127.0.0.1:38467/windowHandles.html"
1496328967449 Marionette DEBUG Received DOM event "pagehide" for "http://127.0.0.1:38467/windowHandles.html"
1496328967451 Marionette DEBUG Received DOM event "unload" for "http://127.0.0.1:38467/windowHandles.html"
++DOMWINDOW == 28 (0xd6db6800) [pid = 1661] [serial = 345] [outer = 0xd977cc00]
1496328967888 Marionette DEBUG Received DOM event "DOMContentLoaded" for "http://127.0.0.1:38467/windowHandles.html"
1496328967895 Marionette DEBUG Received DOM event "pageshow" for "http://127.0.0.1:38467/windowHandles.html"
1496328967902 Marionette TRACE 270 <- [1,7,null,{}]
And as such the events for `about:blank` might still occur but after we returned from `get`.
It's not something I currently understand.
Comment 21•7 years ago
|
||
I had a look at the test in question:
> def test_capture_full_area(self):
> # A full capture is not the outer dimensions of the window,
> # but instead the bounding box of the window's root node (documentElement).
> screenshot_full = self.marionette.screenshot()
> screenshot_root = self.marionette.screenshot(element=self.document_element)
>
> self.assert_png(screenshot_full)
> self.assert_png(screenshot_root)
> self.assertEqual(screenshot_root, screenshot_full)
> self.assertEqual(self.scale(self.get_element_dimensions(self.document_element)),
> self.get_image_dimensions(screenshot_full))
On the second last line, it’s not clear to me that we actually need to test that the screenshots are 100% equivalent. It should be enough just to test that we get the right dimensions, which we do in the last line.
If it is indeed the case that the continued intermittents here are caused by changes to the Firefox UI, then I believe we are setting ourselves up for failure. It’s not vital to the success of this test that the screenshots are the same; that’s not what we’re testing.
Comment 22•7 years ago
|
||
In that case we could have left the rolling eyes of the robot!
Comment 23•7 years ago
|
||
(In reply to Henrik Skupin (:whimboo) from comment #22)
> In that case we could have left the rolling eyes of the robot!
I suppose this is true.
Comment 24•7 years ago
|
||
(In reply to Andreas Tolfsen ‹:ato› from comment #23)
> > In that case we could have left the rolling eyes of the robot!
>
> I suppose this is true.
Are you willed to fix that, and get your proposal implemented? I'm happy to review. Maybe reverting the rolling eyes might need further changes to other screenshot tests.
Comment 25•7 years ago
|
||
(In reply to Henrik Skupin (:whimboo) from comment #24)
> (In reply to Andreas Tolfsen ‹:ato› from comment #23)
> > > In that case we could have left the rolling eyes of the robot!
> >
> > I suppose this is true.
>
> Are you willed to fix that, and get your proposal implemented? I'm happy to
> review. Maybe reverting the rolling eyes might need further changes to other
> screenshot tests.
I would say patches are accepted on that. I don’t consider reverting that
change a priority.
Comment 26•7 years ago
|
||
(In reply to Andreas Tolfsen ‹:ato› from comment #25)
> (In reply to Henrik Skupin (:whimboo) from comment #24)
> > (In reply to Andreas Tolfsen ‹:ato› from comment #23)
> > > > In that case we could have left the rolling eyes of the robot!
> > >
> > > I suppose this is true.
> >
> > Are you willed to fix that, and get your proposal implemented? I'm happy to
> > review. Maybe reverting the rolling eyes might need further changes to other
> > screenshot tests.
>
> I would say patches are accepted on that. I don’t consider reverting that
> change a priority.
Actually, after more consideration, are we sure we want an animated GIF in the
UI? It sounds like a static image is qualitatively better.
Comment 27•7 years ago
|
||
We might want to leave the image as it is right now, given that we still don't know which other side-effects an animation could have.
What I meant with a patch is what you proposed in comment 21 just to fix the test.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•7 years ago
|
Status: NEW → RESOLVED
Closed: 7 years ago
Keywords: bulk-close-intermittents
Resolution: --- → INCOMPLETE
Updated•7 years ago
|
Status: RESOLVED → VERIFIED
Updated•5 years ago
|
Status: VERIFIED → REOPENED
Resolution: INCOMPLETE → ---
Summary: Intermittent test_screenshot.py TestScreenCaptureChrome.test_capture_full_area | AssertionError: [truncated]... != [truncated]... → Intermittent testing/marionette/harness/marionette_harness/tests/unit/test_screenshot.py TestScreenCaptureChrome.test_capture_full_area | AssertionError: [truncated]... != [truncated]...
Comment hidden (Intermittent Failures Robot) |
Comment 36•4 years ago
|
||
No more failures since 4 months. Closing as incomplete.
Status: REOPENED → RESOLVED
Closed: 7 years ago → 4 years ago
Resolution: --- → INCOMPLETE
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 40•4 years ago
|
||
Most recent failure: https://treeherder.mozilla.org/logviewer?job_id=335752540&repo=autoland
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 51•3 years ago
|
||
https://wiki.mozilla.org/Bug_Triage#Intermittent_Test_Failure_Cleanup
For more information, please visit auto_nag documentation.
Status: REOPENED → RESOLVED
Closed: 4 years ago → 3 years ago
Resolution: --- → INCOMPLETE
Updated•2 years ago
|
Product: Testing → Remote Protocol
Comment 52•2 years ago
|
||
Moving bug to Testing::Marionette Client and Harness component per bug 1815831.
Component: Marionette → Marionette Client and Harness
Product: Remote Protocol → Testing
You need to log in
before you can comment on or make changes to this bug.
Description
•