From: Jonas Ådahl Date: Thu, 3 Apr 2014 20:35:47 +0000 (+0200) Subject: test: Use generic test device API in touch_abs_transform test X-Git-Tag: 0.2.0~34 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3bee64a84588a6e6942b2ded8f08c85b1e42b69e;p=platform%2Fupstream%2Flibinput.git test: Use generic test device API in touch_abs_transform test Instead of having a test device which only purpose is to test absolute coordinate transformation, use the litest_create_device_with_overrides() API to create a specially crafted wacom touch device with high resolution. Signed-off-by: Jonas Ådahl Reviewed-by: Peter Hutterer --- diff --git a/test/Makefile.am b/test/Makefile.am index e111a124..1a628dea 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -16,7 +16,6 @@ liblitest_la_SOURCES = \ litest-synaptics-st.c \ litest-trackpoint.c \ litest-wacom-touch.c \ - litest-generic-highres-touch.c \ litest.c run_tests = test-udev test-path test-pointer test-touch test-log test-touchpad diff --git a/test/litest-generic-highres-touch.c b/test/litest-generic-highres-touch.c deleted file mode 100644 index b5e531fe..00000000 --- a/test/litest-generic-highres-touch.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright © 2013 Red Hat, Inc. - * Copyright © 2014 Jonas Ådahl - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting documentation, and - * that the name of the copyright holders not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. The copyright holders make no representations - * about the suitability of this software for any purpose. It is provided "as - * is" without express or implied warranty. - * - * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#include "config.h" - -#include "litest.h" -#include "litest-int.h" -#include "libinput-util.h" - -void litest_generic_highres_touch_setup(void) -{ - struct litest_device *d = - litest_create_device(LITEST_GENERIC_HIGHRES_TOUCH); - litest_set_current_device(d); -} - -static struct input_event down[] = { - { .type = EV_ABS, .code = ABS_X, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_Y, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_MT_SLOT, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_MT_TRACKING_ID, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_MT_POSITION_X, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_MT_POSITION_Y, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_KEY, .code = BTN_TOUCH, .value = 1 }, - { .type = EV_SYN, .code = SYN_REPORT, .value = 0 }, - { .type = -1, .code = -1 }, -}; - -static struct input_event move[] = { - { .type = EV_ABS, .code = ABS_MT_SLOT, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_X, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_Y, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_MT_POSITION_X, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_ABS, .code = ABS_MT_POSITION_Y, .value = LITEST_AUTO_ASSIGN }, - { .type = EV_KEY, .code = BTN_TOUCH, .value = 1 }, - { .type = EV_SYN, .code = SYN_REPORT, .value = 0 }, - { .type = -1, .code = -1 }, -}; - -static struct litest_device_interface interface = { - .touch_down_events = down, - .touch_move_events = move, -}; - -static struct input_absinfo absinfo[] = { - { ABS_X, 0, 32767, 75 }, - { ABS_Y, 0, 32767, 129 }, - { ABS_MT_SLOT, 0, 1, 0 }, - { ABS_MT_POSITION_X, 0, 32767, 0, 0, 10 }, - { ABS_MT_POSITION_Y, 0, 32767, 0, 0, 9 }, - { ABS_MT_TRACKING_ID, 0, 65535, 0 }, - { .value = -1 }, -}; - -static struct input_id input_id = { - .bustype = 0x3, - .vendor = 0xabcd, /* Some random vendor. */ - .product = 0x1234, /* Some random product id. */ -}; - -static int events[] = { - EV_KEY, BTN_TOUCH, - INPUT_PROP_MAX, INPUT_PROP_DIRECT, - -1, -1, -}; - -struct litest_test_device litest_generic_highres_touch_device = { - .type = LITEST_GENERIC_HIGHRES_TOUCH, - .features = LITEST_TOUCH, - .shortname = "generic-highres-touch", - .setup = litest_generic_highres_touch_setup, - .interface = &interface, - - .name = "Generic emulated highres touch device", - .id = &input_id, - .events = events, - .absinfo = absinfo, -}; diff --git a/test/litest.c b/test/litest.c index 4725d10e..5102ab17 100644 --- a/test/litest.c +++ b/test/litest.c @@ -82,7 +82,6 @@ extern struct litest_test_device litest_trackpoint_device; extern struct litest_test_device litest_bcm5974_device; extern struct litest_test_device litest_mouse_device; extern struct litest_test_device litest_wacom_touch_device; -extern struct litest_test_device litest_generic_highres_touch_device; struct litest_test_device* devices[] = { &litest_synaptics_clickpad_device, @@ -92,7 +91,6 @@ struct litest_test_device* devices[] = { &litest_bcm5974_device, &litest_mouse_device, &litest_wacom_touch_device, - &litest_generic_highres_touch_device, NULL, }; diff --git a/test/litest.h b/test/litest.h index e4f9611e..85748ccc 100644 --- a/test/litest.h +++ b/test/litest.h @@ -42,7 +42,6 @@ enum litest_device_type { LITEST_TRACKPOINT, LITEST_MOUSE, LITEST_WACOM_TOUCH, - LITEST_GENERIC_HIGHRES_TOUCH, }; enum litest_device_feature { diff --git a/test/touch.c b/test/touch.c index 1a9d5ad0..27ed881d 100644 --- a/test/touch.c +++ b/test/touch.c @@ -64,13 +64,27 @@ END_TEST START_TEST(touch_abs_transform) { - struct litest_device *dev = litest_current_device(); - struct libinput *libinput = dev->libinput; + struct litest_device *dev; + struct libinput *libinput; struct libinput_event *ev; struct libinput_event_touch *tev; li_fixed_t fx, fy; bool tested = false; + struct input_absinfo abs[] = { + { ABS_X, 0, 32767, 75, 0, 0 }, + { ABS_Y, 0, 32767, 129, 0, 0 }, + { ABS_MT_POSITION_X, 0, 32767, 0, 0, 10 }, + { ABS_MT_POSITION_Y, 0, 32767, 0, 0, 9 }, + { .value = -1 }, + }; + + dev = litest_create_device_with_overrides(LITEST_WACOM_TOUCH, + "Highres touch device", + NULL, abs, NULL); + + libinput = dev->libinput; + litest_touch_down(dev, 0, 100, 100); libinput_dispatch(libinput); @@ -101,8 +115,7 @@ int main(int argc, char **argv) { litest_add("touch:frame", touch_frame_events, LITEST_TOUCH, LITEST_ANY); - litest_add("touch:abs-transform", touch_abs_transform, - LITEST_TOUCH, LITEST_ANY); + litest_add_no_device("touch:abs-transform", touch_abs_transform); return litest_run(argc, argv); }