https://bugs.winehq.org/show_bug.cgi?id=44709
Bug ID: 44709 Summary: Take live/regular screenshots Product: Wine-Testbot Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: unknown Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
The TestBot used to have a 'live screenshot' feature. This feature had to be disabled due to Libvirt/QEmu issues and because it required the TestBot server to make a long blocking call.
It would be nice to bring back this feature in some form.
However it may be even better to bring it in a different form and simply take screenshots every 10 or 30 seconds and timestamp them. For a lot of tests the screenshots are likely to all be identical so this could be used for deduplication so that the storage footprint would not be too large. Then the JobDetails.pl page would allow the user to browse through the screenshots for each test run (making this nice would likely require some JavaScript).
From a technical standpoint an advantage of taking regular screenshots is that
it would not involve the web server. Instead it would happen in a separate thread or a fork of WineRunTask.pl (see TakeScreenshot()). So this would side-step the blocking call issue.
From a developer point of view, all long-running tests would have multiple
screenshots, even after they are completed (which is not the case for 'live screenshots').
https://bugs.winehq.org/show_bug.cgi?id=44709
--- Comment #1 from François Gouget fgouget@codeweavers.com --- Currently we take the screenshots through Libvirt and thus QEmu + Spice. However QEmu does not have access to the screen of VMs that use PCI-passthrough graphics cards. So for these we may need to take the screenshots from inside the guest.
Furthermore the screenshot is transferred uncompressed from the VM host to the TestBot server which are not on the same LAN. That's pretty inefficient and may limit how often we can take screenshots. There taking screenshots from within the guest could be an advantage as it could deduplicate identical screenshots before their transfer.
For instance the client tool could create a new png file every time the screen changed, and then the TestBot could retrieve the list of files and retrieve them with TestAgent.
https://bugs.winehq.org/show_bug.cgi?id=44709
--- Comment #2 from Esme Povirk madewokherd@gmail.com --- ImageMagick has commands to take screenshots and compare them. It has a Windows build. So, in theory, that should take care of the hard parts.
https://bugs.winehq.org/show_bug.cgi?id=44709
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44709
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
--- Comment #3 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 69011 --> https://bugs.winehq.org/attachment.cgi?id=69011 source
François, I wrote a tool to do screenshots. Feel free to modify and let me know if you find some bugs or need more features.
https://bugs.winehq.org/show_bug.cgi?id=44709
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |fgouget@codeweavers.com