+include $(top_srcdir)/glib-tap.mk
-NULL =
-BUILT_SOURCES =
+dist_uninstalled_test_data =
+test_ltlibraries =
-include $(top_srcdir)/Makefile.decl
+SUBDIRS = gdbus-object-manager-example services modules
-insttestdir = $(pkglibexecdir)/installed-tests
-
-SUBDIRS = gdbus-object-manager-example services
-
-AM_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"GLib-GIO\" \
- $(gio_INCLUDES) \
- $(GLIB_DEBUG_FLAGS) \
- -I$(top_builddir)/gio \
- -I$(top_srcdir)/gio \
- $(DBUS1_CFLAGS) \
- -DSRCDIR=\""$(srcdir)"\" \
- -DTEST_SERVICES=\""$(abs_top_builddir)/gio/tests/services"\"
-
-AM_CFLAGS = $(GLIB_WARN_CFLAGS)
-
-noinst_PROGRAMS = $(TEST_PROGS) $(SAMPLE_PROGS)
-noinst_DATA = $(MISC_STUFF)
-
-LDADD = \
- $(top_builddir)/glib/libglib-2.0.la \
- $(top_builddir)/gthread/libgthread-2.0.la \
+LDADD = \
+ $(top_builddir)/gio/libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
- $(top_builddir)/gio/libgio-2.0.la
-
-test_progs = \
- io-stream \
- memory-input-stream \
- memory-output-stream \
- readwrite \
- g-file \
- g-file-info \
- converter-stream \
- data-input-stream \
- data-output-stream \
- g-icon \
- buffered-input-stream \
- buffered-output-stream \
- sleepy-stream \
- filter-streams \
- volumemonitor \
- simple-async-result \
- srvtarget \
- contexts \
- gsettings \
- gschema-compile \
- async-close-output-stream \
- gdbus-addresses \
- network-address \
- gdbus-message \
- socket \
- pollable \
- tls-certificate \
- tls-interaction \
- cancellable \
- vfs \
- network-monitor \
- fileattributematcher \
- resources \
- proxy-test \
- simple-proxy \
- inet-address \
- permission \
- task \
- credentials \
+ $(top_builddir)/glib/libglib-2.0.la \
$(NULL)
-TEST_PROGS += $(test_progs)
+AM_CPPFLAGS = $(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) -I$(top_builddir)/gio -I$(top_srcdir)/gio
+DEFS = -DG_LOG_DOMAIN=\"GLib-GIO\" -DTEST_SERVICES=\""$(abs_top_builddir)/gio/tests/services"\"
+AM_CFLAGS = $(GLIB_WARN_CFLAGS)
-if HAVE_DBUS_DAEMON
-TEST_PROGS += \
- actions \
- gdbus-connection \
- gdbus-connection-loss \
- gdbus-connection-slow \
- gdbus-names \
- gdbus-proxy \
- gdbus-proxy-threads \
- gdbus-proxy-well-known-name \
- gdbus-introspection \
- gdbus-threading \
- gdbus-export \
- gdbus-error \
- gdbus-bz627724 \
- gmenumodel \
+# -----------------------------------------------------------------------------
+# Test programs buildable on all platforms
+
+test_programs = \
+ appmonitor \
+ async-close-output-stream \
+ async-splice-output-stream \
+ buffered-input-stream \
+ buffered-output-stream \
+ cancellable \
+ contexts \
+ converter-stream \
+ credentials \
+ data-input-stream \
+ data-output-stream \
+ defaultvalue \
+ fileattributematcher \
+ filter-streams \
+ giomodule \
+ gsubprocess \
+ g-file \
+ g-file-info \
+ g-icon \
+ gdbus-addresses \
+ gdbus-message \
+ inet-address \
+ io-stream \
+ memory-input-stream \
+ memory-output-stream \
+ monitor \
+ network-address \
+ network-monitor \
+ permission \
+ pollable \
+ proxy-test \
+ readwrite \
+ simple-async-result \
+ simple-proxy \
+ sleepy-stream \
+ socket \
+ socket-listener \
+ srvtarget \
+ task \
+ tls-interaction \
+ vfs \
+ volumemonitor \
$(NULL)
-endif
-
-if OS_UNIX
-TEST_PROGS += \
- gdbus-close-pending \
- gdbus-connection-flush \
- gdbus-peer \
- gdbus-exit-on-close \
- gdbus-non-socket \
- gdbus-peer-object-manager \
- appinfo \
- contenttype \
- mimeapps \
- file \
+uninstalled_test_programs = \
$(NULL)
-endif
-SAMPLE_PROGS = \
- resolver \
- socket-server \
- socket-client \
- echo-server \
- httpd \
- send-data \
- filter-cat \
- gdbus-example-export \
- gdbus-example-own-name \
- gdbus-example-watch-name \
- gdbus-example-watch-proxy \
- gdbus-example-server \
- gdbus-example-subtree \
- gdbus-example-peer \
- gdbus-example-proxy-subclass \
- gdbus-connection-flush-helper \
- proxy \
- gapplication-example-open \
- gapplication-example-cmdline \
- gapplication-example-cmdline2 \
- gapplication-example-cmdline3 \
- gapplication-example-actions \
- gapplication-example-dbushooks \
- gdbus-daemon \
- gdbus-testserver \
+dist_test_data = \
+ contexts.c \
+ g-icon.c \
$(NULL)
-if OS_UNIX
-TEST_PROGS += \
- live-g-file \
- desktop-app-info \
- unix-fd \
- unix-streams \
- gapplication \
- basic-application \
- gdbus-test-codegen \
- socket-address \
- $(NULL)
-SAMPLE_PROGS += \
- gdbus-example-unix-fd-client \
- gdbus-example-objectmanager-server \
- gdbus-example-objectmanager-client \
- gdbus-test-fixture \
- appinfo-test \
+test_data = \
+ test.gresource \
$(NULL)
-endif
-
-if OS_WIN32
-TEST_PROGS += win32-streams
-endif
-
-if PLATFORM_WIN32
-no_undefined = -no-undefined
-endif
-
-actions_SOURCES = actions.c gdbus-sessionbus.c gdbus-sessionbus.h
-
-unix_streams_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-win32_streams_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-resolver_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-socket_server_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-socket_client_SOURCES = socket-client.c \
- gtlsconsoleinteraction.c \
- gtlsconsoleinteraction.h
-socket_client_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-echo_server_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-httpd_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-send_data_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-contexts_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-gdbus_daemon_SOURCES = gdbus-daemon.c $(top_srcdir)/gio/gdbusdaemon.c $(top_builddir)/gio/gdbus-daemon-generated.c
-
-gdbus_testserver_SOURCES = gdbus-testserver.c
-
-if HAVE_DBUS1
-TEST_PROGS += gdbus-serialization
-gdbus_serialization_SOURCES = gdbus-serialization.c gdbus-tests.h gdbus-tests.c
-gdbus_serialization_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
-gdbus_serialization_LDADD = $(LDADD) $(DBUS1_LIBS)
-endif
-
-TEST_PROGS += gdbus-auth
-gdbus_auth_SOURCES = gdbus-auth.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-gdbus_auth_LDADD = $(LDADD)
-
-gdbus_bz627724_SOURCES = gdbus-bz627724.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_close_pending_SOURCES = gdbus-close-pending.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-if OS_UNIX
-gdbus-test-codegen-generated.h gdbus-test-codegen-generated.c : test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
- --interface-prefix org.project. \
- --generate-c-code gdbus-test-codegen-generated \
- --c-generate-object-manager \
- --c-namespace Foo_iGen \
- --generate-docbook gdbus-test-codegen-generated-doc \
- --annotate "org.project.Bar" Key1 Value1 \
- --annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
- --annotate "org.project.Bar.HelloWorld()" Key3 Value3 \
- --annotate "org.project.Bar::TestSignal" Key4 Value4 \
- --annotate "org.project.Bar:ay" Key5 Value5 \
- --annotate "org.project.Bar.TestPrimitiveTypes()[val_int32]" Key6 Value6 \
- --annotate "org.project.Bar.TestPrimitiveTypes()[ret_uint32]" Key7 Value7 \
- --annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
- $(srcdir)/test-codegen.xml \
- $(NULL)
-
-BUILT_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
-gdbus_test_codegen_SOURCES = gdbus-test-codegen.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-gdbus_test_codegen_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
-
-endif # OS_UNIX
-
-gdbus_connection_SOURCES = gdbus-connection.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_connection_flush_SOURCES = \
- gdbus-connection-flush.c \
- test-io-stream.c \
- test-io-stream.h \
- test-pipe-unix.c \
- test-pipe-unix.h \
+uninstalled_test_extra_programs = \
+ gio-du \
+ echo-server \
+ filter-cat \
+ gapplication-example-actions \
+ gapplication-example-cmdline \
+ gapplication-example-cmdline2 \
+ gapplication-example-cmdline3 \
+ gapplication-example-dbushooks \
+ gapplication-example-open \
+ gdbus-example-export \
+ gdbus-example-own-name \
+ gdbus-example-peer \
+ gdbus-example-proxy-subclass \
+ gdbus-example-server \
+ gdbus-example-subtree \
+ gdbus-example-watch-name \
+ gdbus-example-watch-proxy \
+ gsubprocess-testprog \
+ httpd \
+ proxy \
+ resolver \
+ send-data \
+ socket-server \
$(NULL)
-gdbus_connection_loss_SOURCES = gdbus-connection-loss.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_connection_slow_SOURCES = gdbus-connection-slow.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_names_SOURCES = gdbus-names.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_proxy_SOURCES = gdbus-proxy.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_proxy_threads_SOURCES = gdbus-proxy-threads.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_proxy_well_known_name_SOURCES = gdbus-proxy-well-known-name.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_introspection_SOURCES = gdbus-introspection.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_threading_SOURCES = gdbus-threading.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_export_SOURCES = gdbus-export.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_error_SOURCES = gdbus-error.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-gdbus_non_socket_SOURCES = \
- gdbus-non-socket.c \
- gdbus-tests.c \
- gdbus-tests.h \
- test-io-stream.c \
- test-io-stream.h \
- test-pipe-unix.c \
- test-pipe-unix.h \
+test_extra_programs = \
+ gdbus-connection-flush-helper \
+ gdbus-testserver \
$(NULL)
-gdbus_exit_on_close_SOURCES = gdbus-exit-on-close.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
-
-resources_SOURCES = resources.c test_resources.c test_resources2.c test_resources2.h
-resources_DEPENDENCIES = test.gresource
-
-gapplication_SOURCES = gapplication.c gdbus-sessionbus.h gdbus-sessionbus.c gdbus-tests.h gdbus-tests.c
-
-gmenumodel_SOURCES = gmenumodel.c gdbus-sessionbus.h gdbus-sessionbus.c
-
-TESTS_ENVIRONMENT = \
- GLIB_MKENUMS=../../gobject/glib-mkenums \
- GLIB_COMPILE_SCHEMAS=../glib-compile-schemas
-
+dist_uninstalled_test_data += $(addprefix schema-tests/,$(schema_tests))
schema_tests = \
array-default-not-in-choices.gschema.xml \
bad-choice.gschema.xml \
enum-with-repeated-value.gschema.xml \
enum-with-shadow-alias.gschema.xml \
enum.gschema.xml \
- flags-aliased-default.gschema.xml \
- flags-bad-default.gschema.xml \
- flags-more-than-one-bit.gschema.xml \
- flags-with-enum-attr.gschema.xml \
- flags-with-enum-tag.gschema.xml \
extend-and-shadow-indirect.gschema.xml \
extend-and-shadow.gschema.xml \
extend-missing.gschema.xml \
extend-wrong-list-indirect.gschema.xml \
extend-wrong-list.gschema.xml \
extending.gschema.xml \
+ flags-aliased-default.gschema.xml \
+ flags-bad-default.gschema.xml \
+ flags-more-than-one-bit.gschema.xml \
+ flags-with-enum-attr.gschema.xml \
+ flags-with-enum-tag.gschema.xml \
from-docs.gschema.xml \
incomplete-list.gschema.xml \
inherit-gettext-domain.gschema.xml \
key-in-list-indirect.gschema.xml \
key-in-list.gschema.xml \
list-of-missing.gschema.xml \
- missing-quotes.gschema.xml \
+ missing-quotes.gschema.xml \
no-default.gschema.xml \
overflow.gschema.xml \
override-missing.gschema.xml \
wrong-category.gschema.xml \
$(NULL)
-schema_test_files = $(addprefix schema-tests/,$(schema_tests))
-
-proxy_LDADD = $(LDADD) \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-tls_certificate_SOURCES = tls-certificate.c gtesttlsbackend.c gtesttlsbackend.h
+test_programs += thumbnail-verification
+dist_test_data += $(thumbnail_data_files)
+thumbnail_data_files = $(addprefix thumbnails/,$(thumbnail_tests))
+thumbnail_tests = \
+ bad-header.png \
+ empty-key.png \
+ header-and-chunk-size.png \
+ header-only.png \
+ huge-chunk-size.png \
+ mtime-zero.png \
+ no-text-data.png \
+ overlong-value.png \
+ uri-mismatch.png \
+ valid.png \
+ valid-no-size.png \
+ $(NULL)
-cert_tests = \
- cert1.pem \
- cert2.pem \
- cert3.pem \
- cert-key.pem \
- cert-list.pem \
- key8.pem \
- key-cert.pem \
- key.pem \
- nothing.pem \
+test_programs += tls-certificate
+tls_certificate_SOURCES = \
+ tls-certificate.c \
+ gtesttlsbackend.c \
+ gtesttlsbackend.h
+dist_test_data += $(cert_data_files)
+cert_data_files = $(addprefix cert-tests/,$(cert_tests))
+cert_tests = \
+ cert1.pem \
+ cert2.pem \
+ cert3.pem \
+ cert-key.pem \
+ cert-list.pem \
+ key8.pem \
+ key-cert.pem \
+ key.pem \
+ nothing.pem \
$(NULL)
-cert_test_files = $(addprefix cert-tests/,$(cert_tests))
+uninstalled_test_extra_programs += socket-client
+socket_client_SOURCES = \
+ socket-client.c \
+ gtlsconsoleinteraction.c \
+ gtlsconsoleinteraction.h
+EXTRA_DIST += socket-common.c
+
+uninstalled_test_extra_programs += gdbus-daemon
+nodist_gdbus_daemon_SOURCES = \
+ $(top_builddir)/gio/gdbus-daemon-generated.c
+gdbus_daemon_SOURCES = \
+ gdbus-daemon.c \
+ $(top_srcdir)/gio/gdbusdaemon.c
# -----------------------------------------------------------------------------
+# Test programs buildable on UNIX only
if OS_UNIX
-gdbus_example_objectmanager_server_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example
-gdbus_example_objectmanager_server_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
-
-gdbus_example_objectmanager_client_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example
-gdbus_example_objectmanager_client_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
+test_programs += \
+ contenttype \
+ file \
+ gdbus-peer-object-manager \
+ live-g-file \
+ socket-address \
+ stream-rw_all \
+ unix-fd \
+ unix-streams \
+ $(NULL)
-gdbus_peer_SOURCES = gdbus-peer.c gdbus-tests.h gdbus-tests.c
-gdbus_peer_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example
-gdbus_peer_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
+test_extra_programs += \
+ basic-application \
+ $(NULL)
-gdbus_test_fixture_SOURCES = gdbus-test-fixture.c
-gdbus_test_fixture_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example
-gdbus_test_fixture_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
+# Uninstalled because of the check-for-executable logic in DesktopAppInfo unable to find the installed executable
+uninstalled_test_programs += \
+ appinfo \
+ desktop-app-info \
+ $(NULL)
-endif OS_UNIX
+home_desktop_files = \
+ epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop \
+ eog.desktop
+
+usr_desktop_files = \
+ baobab.desktop \
+ cheese.desktop \
+ dconf-editor.desktop \
+ eog.desktop \
+ evince-previewer.desktop \
+ evince.desktop \
+ file-roller.desktop \
+ gcr-prompter.desktop \
+ gcr-viewer.desktop \
+ gedit.desktop \
+ glade.desktop \
+ gnome-clocks.desktop \
+ gnome-contacts.desktop \
+ gnome-font-viewer.desktop \
+ gnome-music.desktop \
+ gnome-terminal.desktop \
+ gucharmap.desktop \
+ kde4/dolphin.desktop \
+ kde4/kate.desktop \
+ kde4/konqbrowser.desktop \
+ kde4/okular.desktop \
+ mimeinfo.cache \
+ nautilus-autorun-software.desktop \
+ nautilus-classic.desktop \
+ nautilus-connect-server.desktop \
+ nautilus.desktop \
+ totem.desktop \
+ yelp.desktop
+
+dist_test_data += \
+ $(addprefix desktop-files/usr/applications/,$(usr_desktop_files)) \
+ $(addprefix desktop-files/home/applications/,$(home_desktop_files))
+
+dist_test_data += \
+ appinfo-test-actions.desktop \
+ appinfo-test-gnome.desktop \
+ appinfo-test-notgnome.desktop \
+ appinfo-test.desktop \
+ appinfo-test2.desktop \
+ file.c \
+ org.gtk.test.dbusappinfo.desktop \
+ x-content/image-dcf/DCIM/Camera/20130831_203925.jpg \
+ x-content/image-dcf/DCIM/Camera/20130831_203928.jpg \
+ x-content/unix-software/autorun.sh \
+ x-content/win32-software/autorun.exe \
+ $(NULL)
-# -----------------------------------------------------------------------------
+test_extra_programs += \
+ appinfo-test \
+ apps \
+ $(NULL)
-EXTRA_DIST += \
- socket-common.c \
- org.gtk.test.gschema \
- org.gtk.test.gschema.xml \
- testenum.h \
- enums.xml.template \
- de.po \
- $(schema_test_files) \
- org.gtk.schemasourcecheck.gschema.xml \
- appinfo-test.desktop \
- appinfo-test2.desktop \
- appinfo-test-gnome.desktop \
- appinfo-test-notgnome.desktop \
- test-codegen.xml \
- $(cert_test_files) \
- test.gresource.xml \
- test1.txt \
- test2.gresource.xml \
- test2.txt \
- test3.gresource.xml \
- test3.txt \
- test4.gresource.xml \
+uninstalled_test_extra_programs += \
+ gdbus-example-unix-fd-client \
$(NULL)
-MISC_STUFF = test.mo test.gresource
+test_programs += mimeapps
+clean-local: clean-mimeapps
+clean-mimeapps:
+ rm -rf xdgdatadir xdgdatahome xdgconfighome
+uninstalled_test_programs += gsettings gschema-compile
+gsettings_DEPENDENCIES = test.mo
+CLEANFILES += test.mo de/LC_MESSAGES/test.mo keyfile/gsettings.store
+gsettings_CFLAGS = $(AM_CFLAGS) -DSRCDIR=\"$(abs_srcdir)\"
test.mo: de.po
- $(MSGFMT) -o test.mo $(srcdir)/de.po; \
+ $(AM_V_GEN) $(MSGFMT) -o test.mo $(srcdir)/de.po; \
$(MKDIR_P) de/LC_MESSAGES; \
cp -f test.mo de/LC_MESSAGES
+EXTRA_DIST += de.po
+dist_uninstalled_test_data += \
+ org.gtk.test.gschema.xml.orig \
+ org.gtk.schemasourcecheck.gschema.xml \
+ testenum.h \
+ enums.xml.template
+# Generated while running the testcase itself...
+CLEANFILES += \
+ org.gtk.test.gschema.xml \
+ org.gtk.test.enums.xml \
+ gsettings.store \
+ gschemas.compiled \
+ schema-source/gschemas.compiled
+
+test_programs += gdbus-connection-flush
+gdbus_connection_flush_SOURCES = \
+ gdbus-connection-flush.c \
+ test-io-stream.c \
+ test-io-stream.h \
+ test-pipe-unix.c \
+ test-pipe-unix.h
+
+test_programs += gdbus-non-socket
+gdbus_non_socket_SOURCES = \
+ gdbus-non-socket.c \
+ gdbus-tests.c \
+ gdbus-tests.h \
+ test-io-stream.c \
+ test-io-stream.h \
+ test-pipe-unix.c \
+ test-pipe-unix.h
+
+# These three are manual-run tests because they need a session bus but don't bring one up themselves
+uninstalled_test_extra_programs += gdbus-example-objectmanager-client
+gdbus_example_objectmanager_client_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
+
+test_extra_programs += gsubprocess-testprog
+
+uninstalled_test_extra_programs += gdbus-test-fixture
+gdbus_test_fixture_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
+
+# This is peer to peer so it doesn't need a session bus (so we can run it normally)
+test_programs += gdbus-peer
+gdbus_peer_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
+
+# This test is currently unreliable
+test_extra_programs += gdbus-overflow
+
+# -----------------------------------------------------------------------------
+# Test programs that need to bring up a session bus (requires dbus-daemon)
+
+if HAVE_DBUS_DAEMON
+gdbus_sessionbus_sources = gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
+
+test_programs += \
+ actions \
+ dbus-appinfo \
+ gapplication \
+ gdbus-auth \
+ gdbus-bz627724 \
+ gdbus-close-pending \
+ gdbus-connection \
+ gdbus-connection-loss \
+ gdbus-connection-slow \
+ gdbus-error \
+ gdbus-exit-on-close \
+ gdbus-export \
+ gdbus-introspection \
+ gdbus-names \
+ gdbus-proxy \
+ gdbus-proxy-threads \
+ gdbus-proxy-well-known-name \
+ gdbus-test-codegen \
+ gdbus-test-codegen-old \
+ gdbus-threading \
+ gmenumodel \
+ gnotification \
+ $(NULL)
+
+gdbus_proxy_threads_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
+actions_SOURCES = $(gdbus_sessionbus_sources) actions.c
+dbus_appinfo_SOURCES = $(gdbus_sessionbus_sources) dbus-appinfo.c
+gapplication_SOURCES = $(gdbus_sessionbus_sources) gapplication.c
+gdbus_auth_SOURCES = $(gdbus_sessionbus_sources) gdbus-auth.c
+gdbus_bz627724_SOURCES = $(gdbus_sessionbus_sources) gdbus-bz627724.c
+gdbus_close_pending_SOURCES = $(gdbus_sessionbus_sources) gdbus-close-pending.c
+gdbus_connection_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection.c
+gdbus_connection_loss_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-loss.c
+gdbus_connection_slow_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-slow.c
+gdbus_error_SOURCES = $(gdbus_sessionbus_sources) gdbus-error.c
+gdbus_exit_on_close_SOURCES = $(gdbus_sessionbus_sources) gdbus-exit-on-close.c
+gdbus_export_SOURCES = $(gdbus_sessionbus_sources) gdbus-export.c
+gdbus_introspection_SOURCES = $(gdbus_sessionbus_sources) gdbus-introspection.c
+gdbus_names_SOURCES = $(gdbus_sessionbus_sources) gdbus-names.c
+gdbus_proxy_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy.c
+gdbus_proxy_threads_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy-threads.c
+gdbus_proxy_well_known_name_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy-well-known-name.c
+gdbus_test_codegen_SOURCES = $(gdbus_sessionbus_sources) gdbus-test-codegen.c
+nodist_gdbus_test_codegen_SOURCES = gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
+gdbus_test_codegen_old_SOURCES = $(gdbus_sessionbus_sources) gdbus-test-codegen.c
+nodist_gdbus_test_codegen_old_SOURCES = gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
+gdbus_test_codegen_old_CPPFLAGS = $(AM_CPPFLAGS) -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36
+gdbus_threading_SOURCES = $(gdbus_sessionbus_sources) gdbus-threading.c
+gmenumodel_SOURCES = $(gdbus_sessionbus_sources) gmenumodel.c
+gnotification_SOURCES = $(gdbus_sessionbus_sources) gnotification.c gnotification-server.h gnotification-server.c
+
+BUILT_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
+gdbus-test-codegen.o: gdbus-test-codegen-generated.h
+gdbus-test-codegen-generated.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
+ $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
+ UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
+ $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
+ --interface-prefix org.project. \
+ --generate-c-code gdbus-test-codegen-generated \
+ --c-generate-object-manager \
+ --c-namespace Foo_iGen \
+ --generate-docbook gdbus-test-codegen-generated-doc \
+ --annotate "org.project.Bar" Key1 Value1 \
+ --annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
+ --annotate "org.project.Bar.HelloWorld()" Key3 Value3 \
+ --annotate "org.project.Bar::TestSignal" Key4 Value4 \
+ --annotate "org.project.Bar:ay" Key5 Value5 \
+ --annotate "org.project.Bar.TestPrimitiveTypes()[val_int32]" Key6 Value6 \
+ --annotate "org.project.Bar.TestPrimitiveTypes()[ret_uint32]" Key7 Value7 \
+ --annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
+ $(srcdir)/test-codegen.xml \
+ $(NULL)
+gdbus-test-codegen-generated.c: gdbus-test-codegen-generated.h
+ @: # Generated as side-effect of .h
+
+EXTRA_DIST += test-codegen.xml
+CLEANFILES += gdbus-test-codegen-generated.[ch] gdbus-test-codegen-generated-doc-*.xml
+endif # OS_UNIX
+endif # HAVE_DBUS_DAEMON
+
+tls_interaction_SOURCES = tls-interaction.c gtesttlsbackend.c gtesttlsbackend.h
+
+# -----------------------------------------------------------------------------
+
+if OS_WIN32
+test_programs += win32-streams
+endif
+
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+endif
+
+if HAVE_DBUS1
+test_programs += gdbus-serialization
+gdbus_serialization_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
+gdbus_serialization_LDADD = $(LDADD) $(DBUS1_LIBS)
+gdbus_serialization_SOURCES = \
+ gdbus-serialization.c \
+ gdbus-tests.h \
+ gdbus-tests.c
+endif
+
+# -----------------------------------------------------------------------------
+# The resources test is a bit more complicated...
+
+test_programs += resources
+resources_SOURCES = resources.c
+nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
+resources_DEPENDENCIES = test.gresource
+
+test_ltlibraries += libresourceplugin.la
+libresourceplugin_la_SOURCES = resourceplugin.c plugin_resources.c
+libresourceplugin_la_LDFLAGS = -avoid-version -module -export-dynamic $(no_undefined)
+libresourceplugin_la_LIBADD = $(LDADD)
+
+# libtool contains a bug whereby the created .la file doesn't contain the correct dlname='' in the case that
+# you're building a library but not installing it. This is apparently because the only considered use for an
+# uninstalled library is as a convenience library for linking (despite the fact that we give -module). The lack
+# of dlname='' in the .la trips up libltdl and GModule as well. We can trick libtool into believing that we
+# will install the module by giving it a bogus -rpath for the uninstalled cases.
+#
+# See http://lists.gnu.org/archive/html/bug-libtool/2013-05/msg00009.html
+if !ENABLE_INSTALLED_TESTS
+libresourceplugin_la_LDFLAGS += -rpath /
+endif
if CROSS_COMPILING
glib_compile_resources=$(GLIB_COMPILE_RESOURCES)
glib_compile_resources=$(top_builddir)/gio/glib-compile-resources
endif
-BUILT_SOURCES += test_resources.c test_resources2.c test_resources2.h
+resources.o: test_resources2.h
test_resources.c: test2.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test2.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name _g_test1 $<
test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) $<
-if BUILDOPT_INSTALL_TESTS
-insttest_LTLIBRARIES = libresourceplugin.la
-else
-noinst_LTLIBRARIES = libresourceplugin.la
-endif
-
-libresourceplugin_la_SOURCES = resourceplugin.c plugin_resources.c
-libresourceplugin_la_LDFLAGS = -avoid-version -module $(no_undefined) -rpath $(insttestdir)
-libresourceplugin_la_LIBADD = $(LDADD)
-
-CLEANFILES = gdbus-test-codegen-generated.[ch] gdbus-test-codegen-generated-doc-*.xml test_resources2.[ch] plugin_resources.c
-
-DISTCLEANFILES = \
- applications/mimeinfo.cache \
- org.gtk.test.enums.xml \
- de/LC_MESSAGES/test.mo \
- test.mo \
- test.gresource \
- test_resources.c \
- gsettings.store \
- gschemas.compiled \
- schema-source/gschemas.compiled
-
-distclean-local:
- rm -rf xdgdatahome xdgdatadir
-
-test_files = \
- contexts.c \
- g-icon.c \
- enums.xml.template \
- testenum.h \
- org.gtk.test.gschema.xml \
- org.gtk.schemasourcecheck.gschema.xml \
- test.gresource \
- $(NULL)
-
-if BUILDOPT_INSTALL_TESTS
-insttest_PROGRAMS = $(test_progs)
-
-schematestdir = $(insttestdir)/schema-tests
-schematest_DATA = $(schema_test_files)
+EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
-certtestdir = $(insttestdir)/cert-tests
-certtest_DATA = $(cert_test_files)
+CLEANFILES += test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
-testdatadir = $(insttestdir)
-testdata_DATA = $(test_files)
+BUILT_SOURCES += giotypefuncs.c
-testmetadir = $(datadir)/installed-tests/$(PACKAGE)
-testmeta_DATA = $(test_progs:=.test)
+giotypefuncs.c: Makefile
+ $(AM_V_GEN) echo '#include <gio/gio.h>' > xgen-giosrc.c && \
+ echo "G_GNUC_BEGIN_IGNORE_DEPRECATIONS" > xgen-gio && \
+ ${CPP} $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-giosrc.c | \
+ $(GREP) -o '\bg_.*_get_type\b' | \
+ $(GREP) -v 'g_io_extension_get_type\|g_variant_get_type' | \
+ sort | uniq | \
+ $(SED) -e 's/^/*tp++ = /' -e 's/$$/ ();/' >> xgen-gio && \
+ cp xgen-gio $@ # && rm -f xgen-gio xgen-giosrc.c
-%.test: % Makefile
- $(AM_V_GEN) (echo '[Test]' > $@.tmp; \
- echo 'Type=session' >> $@.tmp; \
- echo 'Exec=env G_TEST_DATA=$(pkglibexecdir)/installed-tests $(pkglibexecdir)/installed-tests/$<' >> $@.tmp; \
- mv $@.tmp $@)
+CLEANFILES += xgen-giosrc.c xgen-gio giotypefuncs.c
+if ENABLE_INSTALLED_TESTS
+install-data-hook:
+ $(AM_V_at) chmod a+x $(DESTDIR)$(installed_testdir)/x-content/win32-software/autorun.exe
endif