kwin/autotests
Martin Gräßlin 2eb876743c [screens] Replace DesktopWidgetScreens by XRandRScreens
A new implementation of the Screens interface is added which uses XRandR
directly instead of relying on QDesktopWidget. The implementation is
provided in a new implementation file screens_xrandr.cpp.

XRandRScreens comes with a unit test. Unfortunately it's rather difficult
to provide a proper unit test against XRandR. Xvfb (which is obviously
used on the CI system) doesn't provide the XRandR extension. Also on a
"normal" developer system one would not want to just execute the test as
the results are not predictable (number of available outputs?) and the
test would mess up the setup resulting in nobody wanting to execute the
test.

As a solution to both problems the unit test starts Xephyr as a nested
X server. This allows to have at least some limited tests against XRandR.
Nevertheless there are a few things which I was not able to test:
* multiple outputs
* no output at all

The nested X Server approach makes the interaction rather complex. Qt
opens it's connection against the main X Server thus QX11Info provides
a wrong connection and also KWin::connection() which is heavily used by
xcbutils and thus all the RandR wrappers have the wrong connection. To
circumvent this problem the test is GUILESS. In case it would call into
any code using QX11Info, it would probably either runtime fail or crash.

REVIEW: 117614
2014-11-27 09:00:19 +01:00
..
CMakeLists.txt [screens] Replace DesktopWidgetScreens by XRandRScreens 2014-11-27 09:00:19 +01:00
client.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
fakeeffectplugin.cpp [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
fakeeffectplugin.json [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
fakeeffectplugin_version.cpp [kwin] Adapt to KPluginFactory change 2014-03-28 19:50:46 +00:00
fakeeffectplugin_version.json [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
mock_client.cpp Test case for Client activation on screen edge 2014-09-27 08:18:20 +02:00
mock_client.h Add an auto-test for ScreenEdges 2014-09-26 14:01:44 +02:00
mock_effectshandler.cpp [kwin] Introduce a new Effect Loading mechanism 2014-03-28 14:04:54 +01:00
mock_effectshandler.h [effects] Get xcb_connection_t* and rootWindow through EffectsHandler API 2014-04-16 16:05:05 +02:00
mock_screens.cpp [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
mock_screens.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
mock_workspace.cpp [screens] Replace DesktopWidgetScreens by XRandRScreens 2014-11-27 09:00:19 +01:00
mock_workspace.h [screens] Replace DesktopWidgetScreens by XRandRScreens 2014-11-27 09:00:19 +01:00
test_builtin_effectloader.cpp Drop "kwin4_effect_" prefix for BuiltIn Effects 2014-04-28 13:52:50 +02:00
test_client_machine.cpp Use KWindowInfo::clientMachine in ClientMachine::resolve 2014-04-10 15:55:17 +02:00
test_plugin_effectloader.cpp [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
test_screen_edges.cpp Add test case for ScreenEdge::check 2014-09-27 12:28:54 +02:00
test_screen_paint_data.cpp [kwin] Rename tests subdirectories to autotests 2014-01-30 11:01:59 +01:00
test_screens.cpp Improve the TestScreens autotest 2014-09-25 08:45:23 +02:00
test_scripted_effectloader.cpp [kwin] Add a ScriptedEffectLoader 2014-03-28 14:04:54 +01:00
test_virtual_desktops.cpp Fix VirtualDesktopGrid::size for one desktop 2014-09-25 12:49:18 +02:00
test_window_paint_data.cpp Remove the decoration opacity property 2014-08-25 17:25:04 +02:00
test_xcb_window.cpp Improve auto-tests for xcbutils.h 2014-09-24 21:04:15 +02:00
test_xcb_wrapper.cpp Improve auto-tests for xcbutils.h 2014-09-24 21:04:15 +02:00
test_xrandr_screens.cpp [screens] Replace DesktopWidgetScreens by XRandRScreens 2014-11-27 09:00:19 +01:00
testutils.h [kwin] Rename tests subdirectories to autotests 2014-01-30 11:01:59 +01:00
workspace.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00