- Jul 09, 2018
-
-
Daniel Stone authored
Collect the fallback definitions of static_assert() from desktop-shell and the test shell, and move them to helpers.h. This allows code throughout the tree to use static_assert() for build-time assertions, where it is supported by the compiler. As GCC goes out of its way to only add static_assert() when C11 has been explicitly requested - which we don't do - make sure to use the more widely available _Static_assert() if that is provided. This will be used in future patches to ensure two array lengths don't go out of sync. Signed-off-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Jun 20, 2018
-
-
Rename the IVI tests to be more consistent with the others, and invert the naming of plugin/client to make it slightly more clear what's going to happen. Handle the renaming by using wet_get_binary_path to rewrite the local binaries. As a side-effect, weston.ini ivi-shell-user-interface no longer needs to be given as an absolute path. Signed-off-by:
Daniel Stone <daniels@collabora.com> v2: Call ivi-layout.ivi as ivi-layout-test-client.ivi to keep the same name in both the file and the lookup, so that the module map does not need to change the name. Update code comments to reflect the new names. Rename ivi_layout-test-plugin.c to ivi-layout-test-plugin.c. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com>
-
Pekka Paalanen authored
There are no users left. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Emre Ucan <eucan@de.adit-jv.com>
-
Rather than having a hardcoded dependency on the build-directory layout, use an explicit module-map environment variable, which rewrites requests for modules and helper/libexec binaries to specific paths. Pekka: This will help with migration to Meson where setting up the paths according to autotools would be painful and unnecessary. Emre: This should also help setting up the test suite after a cross-compile. Pekka: A caveat here is that this patch makes it slightly easier to load external backends by abusing the module map. External backends are specifically not supported in libweston. Signed-off-by:
Daniel Stone <daniels@collabora.com> v2: Fixed ivi_layout-test-plugin.c:wet_module_init(). Do not change the lookup name of ivi-layout.ivi. Improved documentation of weston_module_path_from_env() and made it cope with map strings that a) do not end with a semicolon, and b) have multiple consecutive semicolons. Let WESTON_MODULE_MAP be printed into the test log so that it is easier to run tests manually. Reviewed-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Emre Ucan <eucan@de.adit-jv.com> Suggested by Emil: Use a variable for strlen(name). Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com>
-
- May 30, 2018
-
-
Pekka Paalanen authored
Relay touch input events into libweston core through the weston_touch_device, so that the core can tell which individual physical device they come from. This is necessary for supporting touchscreen calibration, where one needs to process a single physical device at a time instead of the aggregate of all touch devices on the weston_seat. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Matt Hoosier <matt.hoosier@gmail.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
Introduce weston_touch_device for libweston core to track individual touchscreen input devices. A weston_seat/weston_touch may be an aggregation of several physical touchscreen input devices. Separating the physical devices will be required for implementing touchscreen calibration. One can only calibrate one device at a time, and we want to make sure to handle the right one. Both backends that support touch devices are updated to create weston_touch_devices. Wayland-backend provides touch devices that cannot be calibrated, because we have no access to raw touch coordinates from the device - calibration is the responsibility of the parent display server. Libinput backend provides touch devices that can be calibrated, hence implementing the set and get calibration hooks. Backends need to maintain an output pointer in any case, so we have a get_output() hook instead of having to maintain an identical field in weston_touch_device. The same justification applies to get_calibration_head_name. Also update the test plugin to manage weston_touch_device objects. Co-developed by Louis-Francis and Pekka. v2: - Consistently use 'cal' instead of 'calb' or 'matrix'. - change devpath into syspath - update copyrights Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v1 Tested-by:
Matt Hoosier <matt.hoosier@gmail.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- Apr 20, 2018
-
-
Pekka Paalanen authored
Add test_seat_release() as the counterpart of test_seat_init() instead of open-coding it. This helps adding more code to test_seat_release() later. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- Apr 10, 2018
-
-
Pekka Paalanen authored
The user data of a wl_resource representing a wl_output protocol object used to be a pointer to weston_output. Now that weston_output is being split, wl_output more accurately refers to weston_head which is a single monitor. Change the wl_output user data to point to weston_head. weston_output_from_resource() is replaced with weston_head_from_resource(). This change is not strictly necessary, but architecturally it is the right thing to do. In the future there might appear the need to refer to a specific head of a cloned pair, for instance. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> v5 Reviewed-by:
Derek Foreman <derekf@osg.samsung.com> Reviewed-by:
Ian Ray <ian.ray@ge.com> Reviewed-by:
Daniel Stone <daniels@collabora.com> Acked-by:
Derek Foreman <derekf@osg.samsung.com>
-
- Feb 20, 2018
-
-
Implement the zwp_input_timestamps_manager_v1.get_touch_timestamps request to subscribe to timestamp events for wl_touch resources. Ensure that the request handling code can gracefully handle inert touch resources. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Implement the zwp_input_timestamps_manager_v1.get_pointer_timestamps request to subscribe to timestamp events for wl_pointer resources. Ensure that the request handling code can gracefully handle inert pointer resources. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Implement the zwp_input_timestamps_manager_v1.get_keyboard_timestamps request to subscribe to timestamp events for wl_keyboard resources. Ensure that the request handling code can gracefully handle inert keyboard resources. This commit introduces a few internal helper functions which will also be useful in the implementation of the remaining zwp_input_timestamps_manager_v1 requests. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Introduce helper test code to implement the client side of the input_timestamps_unstable_v1 protocol. This helper will be used in upcoming commits to test the server side implementation of the protocol in libweston. The input_timestamps_unstable_v1 protocol was introduced in version 1.13 of wayland-protocols, so this commit updates the version dependency in configure.ac accordingly. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add a helper function to check if two struct timespec values are equal. This helper function will be used in upcoming commits that implement the input_timestamps_unstable_v1 protocol. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Feb 15, 2018
-
-
Add a test to check that we can destroy and create the test seat. Since after test seat destruction the test client releases any associated input resources, this test also checks that libweston properly handles release requests for inert input resources. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Use the weston-test-desktop-shell to run the devices tests, instead of the currently used desktop-shell. The test desktop shell doesn't interact with temporary globals (e.g. wl_seat), thus avoiding an inherent race in the current wayland protocol when removing globals. This will allow us to safely add tests which add/remove such globals in upcoming commits. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
The current test client code waits for all wl_seat globals to arrive before checking them and deciding which one is the test seat global to use for the input object. Test code that needs to add/remove test seats would have to call the client_set_input() function for any seat changes to take effect. Although we could allow this by making client_set_input() public, we would be exposing unecessary implementation details. This commit applies any seat changes immediately upon arrival of the seat name, freeing test code from needing to call extra functions like client_set_input(). To achieve this the call to input_data_devices() is moved from client_set_input() to the seat name event handler. This commit also moves the check that all seats have names to an explicit test. To support this test, inputs corresponding to non-test seats are not destroyed (unless their seat global is removed), as was previously the case. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
The current test client code completely ignores removal of globals. This commit updates the code to properly handle removal of globals in general, and of seat globals in particular. This ensures that the test client objects are in sync with the server and any relevant resources are released accordingly. This update will be used by upcoming tests to check that seat removal and re-addition is working properly. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Feb 14, 2018
-
-
ivi-shell tests load their own controller plugin for testing purposes. Tests also uses the generated weston-ivi.in config file, which causes weston to load hmi-controller and its helper client. Existence of hmi-controller and its helper client confuses test plugins. Because they are creating surfaces and layers which are not expected by test plugins. We can start ivi-shell tests without config file to solve this problem. Then, weston will not load hmi-controller plugin. Reported-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by:
Daniel Stone <daniels@collabora.com>
-
- Feb 09, 2018
-
-
Instead of assuming the file prefix contains the path and filename prefix, give these two items separately. A NULL or empty string path may still be given to refer to the current directory. Signed-off-by:
Aleksander Morgado <aleksander@aleksander.es> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Feb 07, 2018
-
-
It is better to load ivi controller modules as a generic weston module. Then, we do not need to have a specific ivi way of loading modules. Signed-off-by:
Emre Ucan <eucan@de.adit-jv.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Set the env var to override the system data directory so we can run tests with uninstalled icons. We don't yet use the code that checks this env var, so make distcheck will still fail. Signed-off-by:
Derek Foreman <derekf@osg.samsung.com> Acked-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Quentin Glidic <sardemff7+git@sardemff7.net> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Feb 01, 2018
-
-
Support adding a test seat using the weston_test.device_add request. This will be used in tests in upcoming commits where we will need to re-add the seat after having it removed. We only support one test seat at the moment, so this commit also introduces checks to ensure the client doesn't try to create multiple test seats or try to remove an already removed test seat. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Dec 18, 2017
-
-
Add test to verify the server correctly emits pointer axis events. This requires updating the weston-test protocol with a new request for pointer axis events. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add test to verify that the server correctly sets the timestamps of touch events. This requires updating the weston-test protocol with a new request for touch events. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add test to verify that the server correctly sets the timestamps of keyboard key events. This requires updating the weston-test protocol to support passing key event timestamps. simple_keyboard_test now uses the create_client_with_keyboard_focus() helper function which changes the initial state of the surface to be focused. This leads to one additional iteration of the test loop when starting, during which the surface is deactivated, i.e., loses focus. After this initial iteration the test continues as before. Furthermore, simple_keyboard_test now uses the send_key() helper function which performs a roundtrip internally. To account for this, the client_roundtrip() function is now directly called in the loop only when it is still required, i.e., when deactivating the surface. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Enhance the existing pointer motion and button event tests to additionally verify the event timestamps. This requires updating the weston-test protocol to support passing motion and button event timestamps. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add helper function to convert from struct timespec values to tv_sec_hi, tv_sec_lo, tv_nsec triplets used for sending high-resolution timestamp data over the wayland protocol. Replace existing conversion code with the helper function. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add helper function to convert tv_sec_hi, tv_sec_lo, tv_nsec triplets, used for sending high-resolution timestamp data over the wayland protocol, to struct timespec values. Replace existing conversion code with the helper function. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Dec 12, 2017
-
-
Split pointer motion and pointer button tests so that each test case is more focused and self-contained. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Move wl_pointer tests from event-test.c to their own pointer-test.c file. This move makes the test organization clearer and more consistent, and will make addition of further pointer tests easier. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
- Dec 04, 2017
-
-
This doesn't attach a buffer to the surface. This is needed for the next commit, where we have a test case with a surface that doesn't have a buffer attached. Signed-off-by:
Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
without it I can't built weston on alpinelinux Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
Ensure that the integer type used in expressions involving multiplication with NSEC_PER_SEC is large enough to avoid overflows on 32-bit systems. In the expressions fixed by this patch a 64-bit type (long long) is required. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Dec 01, 2017
-
-
Without this attribute, the test macros were making Weston fail to build with LTO enabled. Signed-off-by:
Markus Trippelsdorf <markus@trippelsdorf.de> Signed-off-by:
Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Tested-by:
Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
This is a preparatory patch for the next one. Signed-off-by:
Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com>
-
- Nov 27, 2017
-
-
Change code related to key events to use struct timespec to represent time. This commit is part of a larger effort to transition the Weston codebase to struct timespec. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Change code related to button events to use struct timespec to represent time. This commit is part of a larger effort to transition the Weston codebase to struct timespec. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Change code related to motion events to use struct timespec to represent time. This commit is part of a larger effort to transition the Weston codebase to struct timespec. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add helper functions to make it easy and less error-prone to convert between values in various time units (nsec, usec, msec) and struct timespec. These helpers are going to be used in the upcoming commits to transition the Weston codebase to struct timespec. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-
Add a helper function to check if a struct timespec is zero. This helper will be used in the upcoming commits to transition the Weston codebase to struct timespec. Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-