[autotests] Add a new test case which can verify the rendering of QPainter Scene
ClosedPublic

Authored by graesslin on Jun 29 2016, 5:32 PM.

Details

Summary

The idea behind this autotest is inspired by bug 356328 which produced
incorrect rendering results. Also it's inspired by openQA which performs
image reference comparisons.

This test case tries to go further. It creates reference images which
must match the rendering result exactly. So far the test case verifies
the start condition - kwin started and one frame is rendered with default
cursor in the middle of the screen. And it verifies the moving of the
cursor without any windows shown. Whenever the cursor moves a repaint
should be triggered and the old and new area should be properly
repainted.

To support this the test needs some minor changes in KWin:

  • Scene provides a frameRendered signal - needed for waiting on frame
  • Scene and SceneQPainter are exported
  • SceneQPainter provides access to it's Backend, so that we get to the backbuffer
  • ScriptedEffectLoader is exported for getting a list of all scripted effects - (we don't want fade to manipulate the rendering)

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin updated this revision to Diff 4857.Jun 29 2016, 5:32 PM
graesslin retitled this revision from to [autotests] Add a new test case which can verify the rendering of QPainter Scene.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added projects: Plasma on Wayland, KWin. · View Herald TranscriptJun 29 2016, 5:32 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
bshah accepted this revision.Jul 1 2016, 6:38 AM
bshah added a reviewer: bshah.
This revision is now accepted and ready to land.Jul 1 2016, 6:38 AM
This revision was automatically updated to reflect the committed changes.