summaryrefslogtreecommitdiff
path: root/test/Makefile.am
blob: f4ace287031a8e52fe5eecbdc3b6614b8df767f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Unit test makefile
#
noinst_PROGRAMS = $(GTESTS)

CLEANFILES = file.c img_save-*.*

 GTEST_LIBS = -lgtest -lstdc++

 GTESTS  = test_file
 GTESTS += test_context
 GTESTS += test_load
 GTESTS += test_load_2
 GTESTS += test_save
 GTESTS += test_grab
 GTESTS += test_scale
 GTESTS += test_rotate

 AM_CFLAGS  = -Wall -Wextra -Werror -Wno-unused-parameter
 AM_CFLAGS += $(CFLAGS_ASAN)

 AM_CXXFLAGS = $(AM_CFLAGS)

 AM_CPPFLAGS  = -I $(top_builddir) -I $(top_srcdir)/src/lib
 AM_CPPFLAGS += -I $(top_builddir)/src/lib
 AM_CPPFLAGS += -D SRC_DIR='"$(srcdir)"' -D BLD_DIR='"$(builddir)"'
 AM_CPPFLAGS += -D BUILD_TEST=1

# Must have proper -lImlib2 on all progs
 LIBS  = -L$(top_builddir)/src/lib -lImlib2
 LIBS += $(GTEST_LIBS)

%.c: $(top_srcdir)/src/lib/%.c
	ln -s $< $@

test_file_SOURCES = test_file.cpp
nodist_test_file_SOURCES = file.c
test_file_LDADD = $(LIBS)

test_context_SOURCES = test_context.cpp
test_context_LDADD = $(LIBS)

test_load_SOURCES = test_load.cpp
test_load_LDADD = $(LIBS)

test_load_2_SOURCES = test_load_2.cpp
test_load_2_LDADD = $(LIBS) -lz

test_save_SOURCES = test_save.cpp
test_save_LDADD = $(LIBS)

test_grab_SOURCES = test_grab.cpp
test_grab_LDADD = $(LIBS)

test_scale_SOURCES = test_scale.cpp
test_scale_LDADD = $(LIBS) -lz

test_rotate_SOURCES = test_rotate.cpp
test_rotate_LDADD = $(LIBS) -lz

 TESTS_RUN = $(addprefix run-, $(GTESTS))

 TEST_ENV = IMLIB2_LOADER_PATH=$(top_builddir)/src/modules/loaders/.libs

 VG_PROG = valgrind --leak-check=full

all-local: run

.PHONY: run $(TESTS_RUN)
run: $(TESTS_RUN)
$(TESTS_RUN): run-%: %
	$(TEST_ENV) ./$* $(RUN_OPTS)

 TESTS_RUN_VG = $(addprefix run-vg-, $(GTESTS))

.PHONY: run-vg $(TESTS_RUN_VG)
run-vg: $(TESTS_RUN_VG)
$(TESTS_RUN_VG): run-vg-%: %
	$(TEST_ENV) $(VG_PROG) ./$* $(RUN_OPTS)