Blame test/Makefile.am

Packit 57e92c
build_tests = test-compile-pedantic test-link
Packit 57e92c
Packit 57e92c
if ENABLE_STATIC_LINK_TEST
Packit 57e92c
build_tests += test-static-link
Packit 57e92c
endif
Packit 57e92c
Packit 57e92c
noinst_PROGRAMS = $(build_tests)
Packit 57e92c
Packit 57e92c
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_builddir)/libevdev
Packit 57e92c
AM_LDFLAGS =
Packit 57e92c
Packit 57e92c
test_compile_pedantic_SOURCES = test-compile-pedantic.c
Packit 57e92c
test_compile_pedantic_CFLAGS = $(AM_CPPFLAGS) -pedantic -Werror -std=c89
Packit 57e92c
Packit 57e92c
test_link_SOURCES = test-link.c
Packit 57e92c
test_link_CFLAGS = -I$(top_srcdir)
Packit 57e92c
test_link_LDADD = $(top_builddir)/libevdev/libevdev.la
Packit 57e92c
Packit 57e92c
test_static_link_SOURCES = test-link.c
Packit 57e92c
test_static_link_CFLAGS = -I$(top_srcdir)
Packit 57e92c
test_static_link_LDADD = $(top_builddir)/libevdev/libevdev.la
Packit 57e92c
test_static_link_LDFLAGS = $(AM_LDFLAGS) -static
Packit 57e92c
Packit 57e92c
check_local_deps =
Packit 57e92c
Packit 57e92c
if ENABLE_RUNTIME_TESTS
Packit 57e92c
run_tests = \
Packit 57e92c
	    test-libevdev \
Packit 57e92c
	    test-kernel \
Packit 57e92c
	    test-uinput \
Packit 57e92c
	    test-event-codes \
Packit 57e92c
	    test-libevdev-internals \
Packit 57e92c
	    $(NULL)
Packit 57e92c
Packit 57e92c
.NOTPARALLEL:
Packit 57e92c
Packit 57e92c
noinst_PROGRAMS += $(run_tests)
Packit 57e92c
Packit 57e92c
TESTS = $(run_tests)
Packit 57e92c
Packit 57e92c
common_sources = \
Packit 57e92c
		 test-common-uinput.c \
Packit 57e92c
		 test-common-uinput.h \
Packit 57e92c
		 test-common.c \
Packit 57e92c
		 test-common.h
Packit 57e92c
Packit 57e92c
# include builddir for event-names.h
Packit 57e92c
AM_CPPFLAGS += $(CHECK_CFLAGS) $(GCOV_CFLAGS)
Packit 57e92c
AM_LDFLAGS += $(GCOV_LDFLAGS)
Packit 57e92c
Packit 57e92c
test_event_codes_SOURCES = \
Packit 57e92c
			test-main.c \
Packit 57e92c
			test-event-codes.c \
Packit 57e92c
			test-event-names.c \
Packit 57e92c
			test-context.c \
Packit 57e92c
			$(common_sources)
Packit 57e92c
test_event_codes_LDADD = $(CHECK_LIBS) $(top_builddir)/libevdev/libevdev.la
Packit 57e92c
test_event_codes_LDFLAGS = -no-install
Packit 57e92c
Packit 57e92c
test_libevdev_internals_SOURCES = \
Packit 57e92c
			test-main.c \
Packit 57e92c
			test-int-queue.c \
Packit 57e92c
			$(common_sources)
Packit 57e92c
test_libevdev_internals_LDADD = $(CHECK_LIBS) $(top_builddir)/libevdev/libevdev.la
Packit 57e92c
test_libevdev_internals_LDFLAGS = -no-install
Packit 57e92c
Packit 57e92c
test_uinput_SOURCES = \
Packit 57e92c
			test-main.c \
Packit 57e92c
			test-uinput.c \
Packit 57e92c
			$(common_sources)
Packit 57e92c
test_uinput_LDADD = $(CHECK_LIBS) $(top_builddir)/libevdev/libevdev.la
Packit 57e92c
test_uinput_LDFLAGS = -no-install
Packit 57e92c
Packit 57e92c
test_libevdev_SOURCES = \
Packit 57e92c
			test-main.c \
Packit 57e92c
			test-libevdev-init.c \
Packit 57e92c
			test-libevdev-has-event.c \
Packit 57e92c
			test-libevdev-events.c \
Packit 57e92c
			$(common_sources)
Packit 57e92c
Packit 57e92c
test_libevdev_LDADD = $(CHECK_LIBS) $(top_builddir)/libevdev/libevdev.la
Packit 57e92c
test_libevdev_LDFLAGS = -no-install
Packit 57e92c
Packit 57e92c
test_kernel_SOURCES = \
Packit 57e92c
		      test-main.c \
Packit 57e92c
		      test-kernel.c \
Packit 57e92c
		      $(common_sources)
Packit 57e92c
Packit 57e92c
test_kernel_CFLAGS = -I$(top_srcdir)
Packit 57e92c
test_kernel_LDADD = $(CHECK_LIBS) $(top_builddir)/libevdev/libevdev.la
Packit 57e92c
Packit 57e92c
if HAVE_VALGRIND
Packit 57e92c
VALGRIND_FLAGS=--leak-check=full \
Packit 57e92c
		--quiet \
Packit 57e92c
		--error-exitcode=3 \
Packit 57e92c
		--suppressions=$(srcdir)/valgrind.suppressions
Packit 57e92c
Packit 57e92c
valgrind:
Packit 57e92c
	        $(MAKE) check-TESTS CK_TIMEOUT_MULTIPLIER=10 LOG_COMPILER="$(VALGRIND)" LOG_FLAGS="$(VALGRIND_FLAGS)"
Packit 57e92c
Packit 57e92c
check_local_deps += valgrind
Packit 57e92c
Packit 57e92c
endif
Packit 57e92c
Packit 57e92c
EXTRA_DIST = valgrind.suppressions  generate-gcov-report.sh
Packit 57e92c
Packit 57e92c
if GCOV_ENABLED
Packit 57e92c
Packit 57e92c
CLEANFILES = gcov-reports/*.gcov gcov-reports/summary.txt *.gcno *.gcda
Packit 57e92c
Packit 57e92c
gcov-report: generate-gcov-report.sh check-TESTS
Packit 57e92c
	$(AM_V_GEN)$(srcdir)/generate-gcov-report.sh gcov-reports $(top_builddir)/libevdev $(builddir)
Packit 57e92c
Packit 57e92c
gcov: gcov-report
Packit 57e92c
	@cat gcov-reports/summary.txt
Packit 57e92c
Packit 57e92c
check_local_deps += gcov
Packit 57e92c
Packit 57e92c
else
Packit 57e92c
Packit 57e92c
gcov-report.txt:
Packit 57e92c
	@true
Packit 57e92c
Packit 57e92c
gcov:
Packit 57e92c
	@true
Packit 57e92c
Packit 57e92c
Packit 57e92c
endif # GCOV_ENABLED
Packit 57e92c
Packit 57e92c
.PHONY: gcov gcov-clean gcov-report
Packit 57e92c
Packit 57e92c
endif # ENABLE_RUNTIME_TESTS
Packit 57e92c
Packit 57e92c
if ENABLE_STATIC_SYMBOL_LEAKS_TEST
Packit 57e92c
# Hack to check for leaking symbols in the static library.
Packit 57e92c
# See https://bugs.freedesktop.org/show_bug.cgi?id=82785
Packit 57e92c
# Note the spaces in the expressions! After the first grep, each line
Packit 57e92c
# is " T symbol_name"
Packit 57e92c
static-symbol-leaks: test-static-link
Packit 57e92c
	$(AM_V_GEN)(\
Packit 57e92c
		$(NM) --extern-only $(builddir)/test-static-link | \
Packit 57e92c
			grep -o -e " T .*" | \
Packit 57e92c
			grep -v -e " main$$" \
Packit 57e92c
				-e " atexit" \
Packit 57e92c
				-e " *gcov.*" \
Packit 57e92c
				-e " _.*" \
Packit 57e92c
				-e " libevdev_*" && \
Packit 57e92c
				echo "Leaking symbols found" && \
Packit 57e92c
				exit 1 || exit 0 \
Packit 57e92c
	)
Packit 57e92c
Packit 57e92c
check_local_deps += static-symbol-leaks
Packit 57e92c
endif # HAVE_NM
Packit 57e92c
Packit 57e92c
check-local: $(check_local_deps)
Packit 57e92c