[Differential] [Request, 317 lines] D1726: Introduce a test server
graesslin (Martin Gräßlin)
noreply at phabricator.kde.org
Tue May 31 13:57:20 UTC 2016
graesslin created this revision.
graesslin added a reviewer: Plasma.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
The idea of shipping a test server is to have something like Xvfb for
Wayland. To be able to run a test application with a fake Wayland server.
To make this super easy the test server binary is installed into libexec
directory and provides a cmake function to run a test application with
the test server.
The test server takes full control over the process. It's a guiless
application and starts the passed test application once it is fully
set up. The environment is setup to have the test application connect
to the fake server (WAYLAND_SOCKET env variable and QT_QPA_PLATFORM).
When the started application finishes the test server goes down and
exits with the exit value of the test application. This allows a good
integration with ctest.
The test server is a virtual server which supports the following
interfaces:
- Shm
- Compositor
- Shell
- Seat
- DataDeviceManager
- Idle
- SubCompositor
- Output (1280x1024 at 60 Hz with 96 dpi)
- FakeInput
This is sufficient to bring up a QtWayland based application and
allows some basic interactions from a test application (e.g. fake
input).
So far the server fakes a repaint every 16 msec, but does not yet
pass events to the test applications.
To integrate this into an application for testing use:
find_package(KF5Wayland CONFIG)
add_executable(myTest myTest.cpp)
target_link_libraries(myTest Qt5::Gui Qt5::Test)
kwaylandtest(myTest)
When now running ctest in the build directory the test server gets
started and will start the myTest binary and report the passed/failed
in the expected and normal way.
This way a test case can easily be run against both X11 and Wayland.
REPOSITORY
rKWAYLAND KWayland
BRANCH
test-server
REVISION DETAIL
https://phabricator.kde.org/D1726
AFFECTED FILES
KF5WaylandConfig.cmake.in
src/tools/CMakeLists.txt
src/tools/testserver/CMakeLists.txt
src/tools/testserver/main.cpp
src/tools/testserver/testserver.cpp
src/tools/testserver/testserver.h
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: graesslin, Plasma
Cc: plasma-devel, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160531/3af4e910/attachment.html>
More information about the Plasma-devel
mailing list