Add dma-buf tests

* tests/Imakefile (LOCAL_LIBRARIES): Require libgbm and libdrm.
(OBJS9, SRCS9): Add dmabuf_test.c/.o.
(PROGRAMS): Add dmabuf_test.
(dmabuf_test): New program.
* tests/run_tests.sh: Add dmabuf_test.
* tests/seat_test.c (handle_pointer_enter, handle_pointer_leave)
(handle_pointer_motion): Pacify some GCC warnings.
* tests/svnignore.txt: Add dmabuf_test.
* tests/test_harness.h: Include sys/types.h.
This commit is contained in:
hujianwei 2022-11-08 11:53:25 +00:00
parent ec30b855b6
commit a8297024f1
5 changed files with 38 additions and 3 deletions

View file

@ -3,12 +3,13 @@
12TO11ROOT = ..
DEPLIBS = $(DEPXLIB)
SYS_LIBRARIES = MathLibrary
LOCAL_LIBRARIES = $(WAYLAND_CLIENT) $(XLIB) $(PNG)
LOCAL_LIBRARIES = $(WAYLAND_CLIENT) $(XLIB) $(PNG) $(GBM) $(DRM)
COMMONOBJS = test_harness.o
COMMONSRCS = test_harness.c
HEADER = test_harness.h
GENFILES =
EXTRA_DEFINES := -D_GNU_SOURCE -U_BSD_SOURCE -U_SVID_SOURCE
INCLUDES := $(DRMINCLUDES) $(PIXMANINCLUDES)
#define ScannerTarget(name) @@\
name.h: $(12TO11ROOT)/name.xml @@\
@ -24,6 +25,7 @@ name.c: $(12TO11ROOT)/name.xml name.h @@\
ScannerTarget(12to11-test)
ScannerTarget(viewporter)
ScannerTarget(linux-dmabuf-unstable-v1)
/* Not actually a test. */
SRCS1 = $(COMMONSRCS) imgview.c
@ -42,7 +44,9 @@ ScannerTarget(viewporter)
OBJS7 = $(COMMONSRCS) scale_test.o
SRCS8 = $(COMMONSRCS) seat_test.c
OBJS8 = $(COMMONSRCS) seat_test.o
PROGRAMS = imgview simple_test damage_test transform_test viewporter_test subsurface_test scale_test seat_test
SRCS9 = $(COMMONSRCS) dmabuf_test.c
OBJS9 = $(COMMONSRCS) dmabuf_test.o
PROGRAMS = imgview simple_test damage_test transform_test viewporter_test subsurface_test scale_test seat_test dmabuf_test
/* Make all objects depend on HEADER. */
$(OBJS1): $(HEADER)
@ -58,6 +62,7 @@ NormalProgramTarget(viewporter_test,$(OBJS5),NullParameter,$(LOCAL_LIBRARIES),Nu
NormalProgramTarget(subsurface_test,$(OBJS6),NullParameter,$(LOCAL_LIBRARIES),NullParameter)
NormalProgramTarget(scale_test,$(OBJS7),NullParameter,$(LOCAL_LIBRARIES),NullParameter)
NormalProgramTarget(seat_test,$(OBJS8),NullParameter,$(LOCAL_LIBRARIES),NullParameter)
NormalProgramTarget(dmabuf_test,$(OBJS9),NullParameter,$(LOCAL_LIBRARIES),NullParameter);
DependTarget3($(SRCS1),$(SRCS2),$(SRCS3))
DependTarget3($(SRCS4),$(SRCS5),$(SRCS6))
DependTarget3($(SRCS7),$(SRCS8),NullParameter)

View file

@ -21,7 +21,7 @@
pushd "$(dirname $0)"
declare -a standard_tests=(
simple_test damage_test transform_test viewporter_test
subsurface_test scale_test seat_test
subsurface_test scale_test seat_test dmabuf_test
)
make -C . "${standard_tests[@]}"

View file

@ -606,9 +606,18 @@ handle_pointer_enter (void *data, struct wl_pointer *wl_pointer,
event->header.last = record_tail;
record_tail = &event->header;
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wanalyzer-malloc-leak"
#endif
event->x = wl_fixed_to_double (surface_x);
event->y = wl_fixed_to_double (surface_x);
event->surface = surface;
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
}
static void
@ -628,9 +637,18 @@ handle_pointer_leave (void *data, struct wl_pointer *wl_pointer,
if (!event)
report_test_failure ("failed to record event");
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wanalyzer-malloc-leak"
#endif
event->header.kind = POINTER_LEAVE_EVENT;
event->header.last = record_tail;
record_tail = &event->header;
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
}
static void
@ -653,12 +671,21 @@ handle_pointer_motion (void *data, struct wl_pointer *wl_pointer,
if (!event)
report_test_failure ("failed to record event");
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wanalyzer-malloc-leak"
#endif
event->header.kind = POINTER_MOTION_EVENT;
event->header.last = record_tail;
record_tail = &event->header;
event->x = wl_fixed_to_double (surface_x);
event->y = wl_fixed_to_double (surface_y);
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
}
static void

View file

@ -8,6 +8,7 @@ viewporter_test
subsurface_test
scale_test
seat_test
dmabuf_test
imgview
reject.dump
Makefile

View file

@ -26,6 +26,8 @@ along with 12to11. If not, see <https://www.gnu.org/licenses/>. */
#include <time.h>
#include <string.h>
#include <sys/types.h>
#include <wayland-client.h>
#include <X11/Xlib.h>