1 build_tests = test-compile-pedantic test-link
3 if ENABLE_STATIC_LINK_TEST
4 build_tests += test-static-link
7 noinst_PROGRAMS = $(build_tests)
9 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_builddir)/libevdev
12 test_compile_pedantic_SOURCES = test-compile-pedantic.c
13 test_compile_pedantic_CFLAGS = $(AM_CPPFLAGS) -pedantic -Werror -std=c89
15 test_link_SOURCES = test-link.c
16 test_link_CFLAGS = -I$(top_srcdir)
17 test_link_LDADD = $(top_builddir)/libevdev/libevdev.la
19 test_static_link_SOURCES = test-link.c
20 test_static_link_CFLAGS = -I$(top_srcdir)
21 test_static_link_LDADD = $(top_builddir)/libevdev/libevdev.la
22 test_static_link_LDFLAGS = $(AM_LDFLAGS) -static
26 if ENABLE_RUNTIME_TESTS
27 run_tests = test-libevdev test-kernel
31 noinst_PROGRAMS += $(run_tests)
38 test-common-uinput.c \
39 test-common-uinput.h \
43 # include builddir for event-names.h
44 AM_CPPFLAGS += $(CHECK_CFLAGS) $(GCOV_CFLAGS)
45 AM_LDFLAGS += $(GCOV_LDFLAGS)
47 test_libevdev_SOURCES = \
51 test-libevdev-init.c \
52 test-libevdev-has-event.c \
54 test-libevdev-events.c \
58 test_libevdev_LDADD = $(CHECK_LIBS) $(top_builddir)/libevdev/libevdev.la
59 test_libevdev_LDFLAGS = -no-install
61 test_kernel_SOURCES = \
64 test_kernel_CFLAGS = -I$(top_srcdir)
65 test_kernel_LDADD = $(CHECK_LIBS) $(top_builddir)/libevdev/libevdev.la
68 VALGRIND_FLAGS=--leak-check=full \
71 --suppressions=$(srcdir)/valgrind.suppressions
74 $(MAKE) check-TESTS LOG_COMPILER="$(VALGRIND)" LOG_FLAGS="$(VALGRIND_FLAGS)"
76 check_local_deps += valgrind
80 EXTRA_DIST = valgrind.suppressions generate-gcov-report.sh
84 CLEANFILES = gcov-reports/*.gcov gcov-reports/summary.txt *.gcno *.gcda
86 gcov-report: generate-gcov-report.sh check-TESTS
87 $(AM_V_GEN)$(srcdir)/generate-gcov-report.sh gcov-reports $(top_builddir)/libevdev $(builddir)
90 @cat gcov-reports/summary.txt
92 check_local_deps += gcov
105 .PHONY: gcov gcov-clean gcov-report
107 endif # ENABLE_RUNTIME_TESTS
109 if ENABLE_STATIC_SYMBOL_LEAKS_TEST
110 # Hack to check for leaking symbols in the static library.
111 # See https://bugs.freedesktop.org/show_bug.cgi?id=82785
112 # Note the spaces in the expressions! After the first grep, each line
113 # is " T symbol_name"
114 static-symbol-leaks: test-static-link
116 $(NM) --extern-only $(builddir)/test-static-link | \
117 grep -o -e " T .*" | \
118 grep -v -e " main$$" \
122 -e " libevdev_*" && \
123 echo "Leaking symbols found" && \
127 check_local_deps += static-symbol-leaks
130 check-local: $(check_local_deps)