summaryrefslogtreecommitdiff
path: root/library/tests/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'library/tests/Makefile.am')
-rw-r--r--library/tests/Makefile.am82
1 files changed, 75 insertions, 7 deletions
diff --git a/library/tests/Makefile.am b/library/tests/Makefile.am
index 0e7908b..77c0d28 100644
--- a/library/tests/Makefile.am
+++ b/library/tests/Makefile.am
@@ -10,7 +10,8 @@ INCLUDES = \
noinst_LTLIBRARIES = libmock_service.la
libmock_service_la_SOURCES = \
- mock-service.c mock-service.h \
+ mock-service.c \
+ mock-service.h \
$(NULL)
libmock_service_la_CFLAGS = \
@@ -30,7 +31,7 @@ LDADD = \
libmock_service.la \
$(NULL)
-TEST_PROGS = \
+C_TESTS = \
test-value \
test-prompt \
test-service \
@@ -41,6 +42,10 @@ TEST_PROGS = \
test-collection \
$(NULL)
+TEST_PROGS = \
+ $(C_TESTS) \
+ $(NULL)
+
check_PROGRAMS = \
$(TEST_PROGS)
@@ -63,8 +68,36 @@ PY_TESTS = \
PY_ENV = $(JS_ENV)
-test-c: $(TEST_PROGS)
- @gtester --verbose -m $(TEST_MODE) --g-fatal-warnings $(TEST_PROGS)
+if HAVE_VALAC
+
+VALA_V = $(VALA_V_$(V))
+VALA_V_ = $(VALA_V_$(AM_DEFAULT_VERBOSITY))
+VALA_V_0 = @echo " VALAC " $^;
+
+VALA_TESTS = \
+ test-vala-lang \
+ $(NULL)
+
+test-vala-lang.c: test-vala-lang.vala libsecret-@SECRET_MAJOR@.vapi mock-service-0.vapi
+ $(VALA_V)$(VALAC) -C --pkg gio-2.0 $^
+
+TEST_PROGS += $(VALA_TESTS)
+
+test_vala_lang_CFLAGS = -w
+
+DISTCLEANFILES = test-vala-lang.c
+
+test-vala: $(VALA_TESTS)
+ @gtester --verbose -m $(TEST_MODE) --g-fatal-warnings $(VALA_TESTS)
+
+else
+
+test-vala:
+
+endif # HAVE_VALAC
+
+test-c: $(C_TESTS)
+ @gtester --verbose -m $(TEST_MODE) --g-fatal-warnings $(C_TESTS)
test-js:
@for js in $(JS_TESTS); do echo "TEST: $$js"; $(JS_ENV) gjs $(srcdir)/$$js; done
@@ -72,7 +105,7 @@ test-js:
test-py:
@for py in $(PY_TESTS); do echo "TEST: $$py"; $(PY_ENV) python $(srcdir)/$$py; done
-test: test-c test-py test-js
+test: test-c test-py test-js test-vala
# ------------------------------------------------------------------
# INTROSPECTION
@@ -91,7 +124,7 @@ MockService_0_gir_PACKAGES = gobject-2.0 gio-2.0
MockService_0_gir_EXPORT_PACKAGES = mock-service-0
MockService_0_gir_INCLUDES = GObject-2.0 Gio-2.0
MockService_0_gir_LIBS = libmock_service.la
-MockService_0_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir)
+MockService_0_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -I$(srcdir)
MockService_0_gir_FILES = $(libmock_service_la_SOURCES)
MockService_0_gir_SCANNERFLAGS = --c-include "mock-service.h"
@@ -99,7 +132,40 @@ noinst_DATA = \
$(INTROSPECTION_GIRS) \
$(INTROSPECTION_GIRS:.gir=.typelib)
-endif
+if ENABLE_VAPIGEN
+include $(VAPIGEN_MAKEFILE)
+
+mock-service-0.vapi: MockService-0.gir libsecret-@SECRET_MAJOR@.vapi
+
+VAPIGEN_VAPIS = mock-service-0.vapi
+
+mock_service_0_vapi_DEPS = gio-2.0 libsecret-@SECRET_MAJOR@
+mock_service_0_vapi_METADATADIRS = $(builddir)
+mock_service_0_vapi_VAPIDIRS = $(builddir)
+mock_service_0_vapi_FILES = MockService-0.gir
+
+vapidir = $(datadir)/vala/vapi
+vapi_DATA = mock-service-0.vapi
+
+# We have to make a version of the VAPI which references the
+# uninstalled C headers.
+
+VAPIGEN_VAPIS += libsecret-@SECRET_MAJOR@.vapi
+
+Secret-@SECRET_MAJOR@.metadata: $(top_srcdir)/library/Secret-@SECRET_MAJOR@.metadata
+ $(AM_V_GEN) echo "* cheader_filename=\"secret-collection.h,secret-item.h,secret-password.h,secret-prompt.h,secret-schema.h,secret-schemas.h,secret-service.h,secret-types.h,secret-value.h\"" > $@ && \
+ cat < $^ >> $@
+
+libsecret-@SECRET_MAJOR@.vapi: Secret-@SECRET_MAJOR@.metadata $(top_builddir)/library/Secret-@SECRET_MAJOR@.gir
+
+libsecret_@SECRET_MAJOR@_vapi_DEPS = gio-2.0
+libsecret_@SECRET_MAJOR@_vapi_METADATADIRS = $(srcdir)
+libsecret_@SECRET_MAJOR@_vapi_FILES = $(top_builddir)/library/Secret-@SECRET_MAJOR@.gir
+
+noinst_DATA += $(VAPIGEN_VAPIS)
+
+endif # ENABLE_VAPIGEN
+endif # HAVE_INTROSPECTION
#--------------------------------------------------------------------
@@ -110,6 +176,8 @@ EXTRA_DIST = \
mock-service-normal.py \
mock-service-only-plain.py \
mock-service-prompt.py \
+ Secret-@SECRET_MAJOR@.metadata \
+ test-vala-lang.vala \
$(JS_TESTS) \
$(PY_TESTS) \
$(NULL)