Release version 0.12
[platform/upstream/libsecret.git] / libsecret / tests / Makefile.am
1 include $(top_srcdir)/Makefile.decl
2
3 # test-vala-unstable depends on the mock vapi,
4 # and I'm not sure how we can add that dependency.
5 .NOTPARALLEL:
6
7 INCLUDES = \
8         -I$(top_srcdir) \
9         -I$(top_srcdir)/libsecret \
10         -DSRCDIR="\"@abs_srcdir@\"" \
11         -DSECRET_COMPILATION \
12         $(NULL)
13
14 noinst_LTLIBRARIES = libmock_service.la
15
16 libmock_service_la_SOURCES = \
17         mock-service.c \
18         mock-service.h \
19         $(NULL)
20
21 libmock_service_la_CFLAGS = \
22         $(LIBGCRYPT_CFLAGS)
23
24 libmock_service_la_LDFLAGS = \
25         -rpath /force/shared
26
27 libmock_service_la_LIBADD = \
28         $(LIBGCRYPT_LIBS)
29
30 LDADD =  \
31         $(top_builddir)/libsecret/libsecret-testable.la \
32         libmock_service.la \
33         $(NULL)
34
35 C_TESTS = \
36         test-attributes \
37         test-value \
38         test-prompt \
39         test-service \
40         test-session \
41         test-paths \
42         test-methods \
43         test-password \
44         test-item \
45         test-collection \
46         $(NULL)
47
48 TEST_PROGS = \
49         $(C_TESTS) \
50         $(NULL)
51
52 check_PROGRAMS = \
53         $(TEST_PROGS)
54
55 noinst_PROGRAMS =  \
56         $(NULL)
57
58 JS_TESTS = \
59         test-lookup-password.js \
60         test-clear-password.js \
61         test-store-password.js \
62         test-unstable.js
63
64 JS_ENV = \
65         LD_LIBRARY_PATH=$(builddir)/../.libs:$(builddir)/.libs \
66         GI_TYPELIB_PATH=$(builddir)/..:$(builddir)
67
68 PY_TESTS = \
69         test-lookup-password.py \
70         test-clear-password.py \
71         test-store-password.py \
72         test-unstable.py
73
74 PY_ENV = $(JS_ENV)
75
76 # ------------------------------------------------------------------
77 # VALA
78
79 VALA_V = $(VALA_V_$(V))
80 VALA_V_ = $(VALA_V_$(AM_DEFAULT_VERBOSITY))
81 VALA_V_0 = @echo "  VALAC " $^;
82
83 VALA_TESTS = \
84         test-vala-lang \
85         test-vala-unstable \
86         $(NULL)
87
88 VALA_FLAGS = \
89         --vapidir=$(builddir)/.. \
90         --pkg gio-2.0
91
92 VALA_TESTS_VAPIS = \
93         $(builddir)/../libsecret-unstable.vapi \
94         $(builddir)/../libsecret-@SECRET_MAJOR@.vapi \
95         $(builddir)/mock-service-0.vapi
96
97 VALA_SRCS = $(VALA_TESTS:=.vala)
98 VALA_C_SRCS = $(VALA_SRCS:.vala=.c)
99
100 if HAVE_VALAC
101 $(VALA_C_SRCS): %.c: %.vala $(VALA_TESTS_VAPIS)
102         $(VALA_V)$(VALAC) $(VALA_FLAGS) $(VALA_TESTS_VAPIS) -C $<
103 endif
104
105 test_vala_lang_CFLAGS = -w
106 test_vala_unstable_CFLAGS = -DSECRET_WITH_UNSTABLE -w
107
108 nodist_test_vala_lang_SOURCES = test-vala-lang.c
109 nodist_test_vala_unstable_SOURCES = test-vala-unstable.c
110
111 DISTCLEANFILES = $(VALA_C_SRCS)
112
113 test-vala: $(VALA_TESTS)
114         @gtester --verbose -m $(TEST_MODE) --g-fatal-warnings $(VALA_TESTS)
115
116 VALA_TEST_TARGET =
117
118 if HAVE_INTROSPECTION
119 if ENABLE_VAPIGEN
120 if HAVE_VALAC
121
122 VALA_TEST_TARGET += test-vala
123
124 TEST_PROGS += $(VALA_TESTS)
125
126 endif # HAVE_VALAC
127 endif # ENABLE_VAPIGEN
128 endif # HAVE_INTROSPECTION
129
130 test-c: $(C_TESTS)
131         @gtester --verbose -m $(TEST_MODE) --g-fatal-warnings $(C_TESTS)
132
133 test-js:
134         @for js in $(JS_TESTS); do echo "TEST: $$js"; $(JS_ENV) gjs $(srcdir)/$$js; done
135
136 test-py:
137         @for py in $(PY_TESTS); do echo "TEST: $$py"; $(PY_ENV) python $(srcdir)/$$py; done
138
139 test: test-c test-py test-js $(VALA_TEST_TARGET)
140
141 # ------------------------------------------------------------------
142 # INTROSPECTION
143
144 if HAVE_INTROSPECTION
145
146 include $(INTROSPECTION_MAKEFILE)
147
148 INTROSPECTION_GIRS = MockService-0.gir
149 INTROSPECTION_SCANNER_ARGS = $(INTROSPECTION_FLAGS) --warn-all --add-include-path=$(srcdir) --add-include-path=.
150 INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=.
151
152 MockService-0.gir: libmock_service.la
153
154 MockService_0_gir_PACKAGES = gobject-2.0 gio-2.0
155 MockService_0_gir_EXPORT_PACKAGES = mock-service-0
156 MockService_0_gir_INCLUDES = GObject-2.0 Gio-2.0
157 MockService_0_gir_LIBS = libmock_service.la
158 MockService_0_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -I$(srcdir)
159 MockService_0_gir_FILES = $(libmock_service_la_SOURCES)
160 MockService_0_gir_SCANNERFLAGS = --c-include "mock-service.h"
161
162 noinst_DATA = \
163         $(INTROSPECTION_GIRS) \
164         $(INTROSPECTION_GIRS:.gir=.typelib)
165
166 if ENABLE_VAPIGEN
167 include $(VAPIGEN_MAKEFILE)
168
169 mock-service-0.vapi: MockService-0.gir $(builddir)/../libsecret-@SECRET_MAJOR@.vapi
170
171 VAPIGEN_VAPIS = mock-service-0.vapi
172
173 mock_service_0_vapi_DEPS = gio-2.0 libsecret-@SECRET_MAJOR@
174 mock_service_0_vapi_METADATADIRS = $(builddir)
175 mock_service_0_vapi_VAPIDIRS = $(builddir) $(builddir)/..
176 mock_service_0_vapi_FILES = MockService-0.gir
177
178 vapidir = $(datadir)/vala/vapi
179 vapi_DATA = mock-service-0.vapi
180
181 noinst_DATA += $(VAPIGEN_VAPIS)
182
183 endif # ENABLE_VAPIGEN
184 endif # HAVE_INTROSPECTION
185
186 #--------------------------------------------------------------------
187
188 EXTRA_DIST = \
189         mock \
190         mock-service-delete.py \
191         mock-service-empty.py \
192         mock-service-lock.py \
193         mock-service-normal.py \
194         mock-service-only-plain.py \
195         mock-service-prompt.py \
196         $(VALA_SRCS) \
197         $(JS_TESTS) \
198         $(PY_TESTS) \
199         $(NULL)
200
201 CLEANFILES = \
202         $(noinst_DATA) \
203         $(NULL)
204
205 all-local: $(check_PROGRAMS)
206
207 check-local: test
208
209 check-memory: perform-memcheck
210
211 .PHONY: check-memory