Rework the build system for a new tests approach

Perform a substantial cleanup of the build system with respect to
building and installing testcases.

First, Makefile.decl has been renamed glib.mk and substantially
expanded.  We intend to add more stuff here in the future, like canned
rules for mkenums, marshallers, resources, etc.

By default, tests are no longer compiled as part of 'make'.  They will
be built when 'make check' is run.  The old behaviour can be obtained
with --enable-always-build-tests.

--disable-modular-tests is gone (because tests are no longer built by
default).  There is no longer any way to cause 'make check' to be a
no-op, but that's not very useful anyway.

A new glibtests.m4 file is introduced.  Along with glib.mk, this
provides for consistent handling of --enable-installed-tests and
--enable-always-build-tests (mentioned above).

Port our various test-installing Makefiles to the new framework.

This patch substantially improves the situation in the toplevel tests/
directory.  Things are now somewhat under control there.  There were
some tests being built that weren't even being run and we run those now.
The long-running GObject performance tests in this directory have been
removed from 'make check' because they take too long.

As an experiment, 'make check' now runs the testcases on win32 builds,
by default.  We can't run them under gtester (since it uses a pipe to
communicate with the subprocess) so just toss them in TESTS.  Most of
them are passing on win32.

Things are not quite done here, but this patch is already a substantial
improvement.  More to come.
This commit is contained in:
Ryan Lortie 2013-05-30 00:07:32 -04:00
parent 210b1f8b42
commit f9eb9eed10
38 changed files with 996 additions and 1141 deletions

View File

@ -1,23 +1,18 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
# http://people.gnome.org/~walters/docs/build-api.txt # http://people.gnome.org/~walters/docs/build-api.txt
.buildapi-allow-builddir: .buildapi-allow-builddir:
ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS} ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests
DIST_SUBDIRS = $(SUBDIRS) build DIST_SUBDIRS = $(SUBDIRS) build
if BUILD_MODULAR_TESTS
SUBDIRS += tests
else
DIST_SUBDIRS += tests
endif
bin_SCRIPTS = glib-gettextize bin_SCRIPTS = glib-gettextize
if OS_LINUX if OS_LINUX
TESTS = check-abis.sh TESTS += check-abis.sh
endif endif
AM_CPPFLAGS = \ AM_CPPFLAGS = \
@ -49,7 +44,7 @@ EXTRA_DIST += \
README.win32 \ README.win32 \
HACKING \ HACKING \
autogen.sh \ autogen.sh \
Makefile.decl \ glib.mk \
makefile.msc \ makefile.msc \
msvc_recommended_pragmas.h \ msvc_recommended_pragmas.h \
config.h.win32.in \ config.h.win32.in \
@ -67,7 +62,7 @@ EXTRA_DIST += \
# These may be in the builddir too # These may be in the builddir too
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
README \ README \
INSTALL \ INSTALL \
ChangeLog \ ChangeLog \
@ -105,7 +100,7 @@ $(pkgconfig_DATA): config.status
# build documentation when doing distcheck # build documentation when doing distcheck
DISTCHECK_CONFIGURE_FLAGS = --enable-debug --enable-gtk-doc --enable-man --disable-maintainer-mode DISTCHECK_CONFIGURE_FLAGS = --enable-debug --enable-gtk-doc --enable-man --disable-maintainer-mode
DISTCLEANFILES = config.lt DISTCLEANFILES += config.lt
distclean-local: lcov-clean distclean-local: lcov-clean
if test $(srcdir) = .; then :; else \ if test $(srcdir) = .; then :; else \

View File

@ -1,97 +0,0 @@
# GLIB - Library of useful C routines
#GTESTER = gtester # for non-GLIB packages
GTESTER = $(top_builddir)/glib/gtester # for the GLIB package
GTESTER_REPORT = $(top_builddir)/glib/gtester-report # for the GLIB package
# initialize variables for unconditional += appending
EXTRA_DIST =
TEST_PROGS =
### testing rules
# test: run all tests in cwd and subdirs
test: test-nonrecursive
if OS_UNIX
@ for subdir in $(SUBDIRS) . ; do \
test "$$subdir" = "." -o "$$subdir" = "po" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done
# test-nonrecursive: run tests only in cwd
test-nonrecursive: ${TEST_PROGS}
@test -z "${TEST_PROGS}" || G_TEST_SRCDIR="$(abs_srcdir)" G_TEST_BUILDDIR="$(abs_builddir)" G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
else
test-nonrecursive:
endif
# test-report: run tests in subdirs and generate report
# perf-report: run tests in subdirs with -m perf and generate report
# full-report: like test-report: with -m perf and -m slow
test-report perf-report full-report: ${TEST_PROGS}
@test -z "${TEST_PROGS}" || { \
case $@ in \
test-report) test_options="-k";; \
perf-report) test_options="-k -m=perf";; \
full-report) test_options="-k -m=perf -m=slow";; \
esac ; \
if test -z "$$GTESTER_LOGDIR" ; then \
G_TEST_SRCDIR="$(abs_srcdir)" G_TEST_BUILDDIR="$(abs_builddir)" ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
elif test -n "${TEST_PROGS}" ; then \
G_TEST_SRCDIR="$(abs_srcdir)" G_TEST_BUILDDIR="$(abs_builddir)" ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
fi ; \
}
@ ignore_logdir=true ; \
if test -z "$$GTESTER_LOGDIR" ; then \
GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
ignore_logdir=false ; \
fi ; \
if test -d "$(top_srcdir)/.git" ; then \
REVISION=`git describe` ; \
else \
REVISION=$(VERSION) ; \
fi ; \
for subdir in $(SUBDIRS) . ; do \
test "$$subdir" = "." -o "$$subdir" = "po" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done ; \
$$ignore_logdir || { \
echo '<?xml version="1.0"?>' > $@.xml ; \
echo '<report-collection>' >> $@.xml ; \
echo '<info>' >> $@.xml ; \
echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
echo ' <version>$(VERSION)</version>' >> $@.xml ; \
echo " <revision>$$REVISION</revision>" >> $@.xml ; \
echo '</info>' >> $@.xml ; \
for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
done ; \
echo >> $@.xml ; \
echo '</report-collection>' >> $@.xml ; \
rm -rf "$$GTESTER_LOGDIR"/ ; \
${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
}
.PHONY: test test-report perf-report full-report test-nonrecursive
.PHONY: lcov genlcov lcov-clean
# use recursive makes in order to ignore errors during check
lcov:
-$(MAKE) $(AM_MAKEFLAGS) -k check
$(MAKE) $(AM_MAKEFLAGS) genlcov
# we have to massage the lcov.info file slightly to hide the effect of libtool
# placing the objects files in the .libs/ directory separate from the *.c
# we also have to delete tests/.libs/libmoduletestplugin_*.gcda
genlcov:
rm -f $(top_builddir)/tests/.libs/libmoduletestplugin_*.gcda
$(LTP) --directory $(top_builddir) --capture --output-file glib-lcov.info --test-name GLIB_PERF --no-checksum --compat-libtool
LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory glib-lcov --title "GLib Code Coverage" --legend --show-details glib-lcov.info
@echo "file://$(abs_top_builddir)/glib-lcov/index.html"
lcov-clean:
-$(LTP) --directory $(top_builddir) -z
-rm -rf glib-lcov.info glib-lcov
-find -name '*.gcda' -print | xargs rm
# run tests in cwd as part of make check
check-local: test-nonrecursive

View File

@ -254,16 +254,8 @@ AC_ARG_ENABLE(rebuilds,
[AS_HELP_STRING([--disable-rebuilds], [AS_HELP_STRING([--disable-rebuilds],
[disable all source autogeneration rules])],, [disable all source autogeneration rules])],,
[enable_rebuilds=yes]) [enable_rebuilds=yes])
AC_ARG_ENABLE(modular_tests,
AS_HELP_STRING([--disable-modular-tests], GLIB_TESTS
[Disable build of test programs (default: no)]),,
[enable_modular_tests=yes])
AC_ARG_ENABLE(installed_tests,
AS_HELP_STRING([--enable-installed-tests],
[Install test programs (default: no)]),,
[enable_installed_tests=no])
AM_CONDITIONAL(BUILD_MODULAR_TESTS, test x$enable_modular_tests = xyes || test x$enable_installed_tests=xyes)
AM_CONDITIONAL(BUILDOPT_INSTALL_TESTS, test x$enable_installed_tests = xyes)
AC_MSG_CHECKING([whether to enable garbage collector friendliness]) AC_MSG_CHECKING([whether to enable garbage collector friendliness])
AS_IF([test "x$enable_gc_friendly" = "xyes"], [ AS_IF([test "x$enable_gc_friendly" = "xyes"], [
@ -2710,7 +2702,7 @@ dnl ******************************************************************
AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
AS_IF([ test $cross_compiling = yes && test x$enable_modular_tests = xyes], [ AS_IF([ test $cross_compiling = yes ], [
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no) AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
if test x$GLIB_GENMARSHAL = xno; then if test x$GLIB_GENMARSHAL = xno; then
AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH) AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
@ -3653,14 +3645,12 @@ AC_CHECK_ALIGNOF([unsigned long])
# Check for libdbus1 - Optional - is only used in the GDBus test cases # Check for libdbus1 - Optional - is only used in the GDBus test cases
# #
# 1.2.14 required for dbus_message_set_serial # 1.2.14 required for dbus_message_set_serial
AS_IF([ test x$enable_modular_tests = xyes], [ PKG_CHECK_MODULES(DBUS1,
PKG_CHECK_MODULES(DBUS1, dbus-1 >= 1.2.14,
dbus-1 >= 1.2.14, [AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes],
[AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes], have_dbus1=no)
have_dbus1=no) AC_SUBST(DBUS1_CFLAGS)
AC_SUBST(DBUS1_CFLAGS) AC_SUBST(DBUS1_LIBS)
AC_SUBST(DBUS1_LIBS)
])
AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"]) AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"])
AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon]) AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon])

View File

@ -1,6 +1,4 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL =
SUBDIRS = gdbus-2.0/codegen SUBDIRS = gdbus-2.0/codegen
@ -10,7 +8,7 @@ endif
if OS_WIN32_AND_DLL_COMPILATION if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE if MS_LIB_AVAILABLE
noinst_DATA = gio-2.0.lib noinst_DATA += gio-2.0.lib
install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir) install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib
@ -233,7 +231,7 @@ platform_libadd += win32/libgiowin32.la
platform_deps += win32/libgiowin32.la platform_deps += win32/libgiowin32.la
endif endif
SUBDIRS += . SUBDIRS += . tests
if HAVE_FAM if HAVE_FAM
SUBDIRS += fam SUBDIRS += fam
@ -327,10 +325,6 @@ giowin32include_HEADERS = \
endif endif
if BUILD_MODULAR_TESTS
SUBDIRS += tests
endif
libgio_2_0_la_SOURCES = \ libgio_2_0_la_SOURCES = \
gappinfo.c \ gappinfo.c \
gasynchelper.c \ gasynchelper.c \
@ -622,7 +616,7 @@ gioinclude_HEADERS = \
gioenumtypes.h gioenumtypes.h
# these sources (also mentioned above) are generated. # these sources (also mentioned above) are generated.
BUILT_SOURCES = \ BUILT_SOURCES += \
gconstructor_as_data.h \ gconstructor_as_data.h \
gioenumtypes.h \ gioenumtypes.h \
gioenumtypes.c \ gioenumtypes.c \
@ -642,17 +636,17 @@ EXTRA_DIST += \
gnetworking.h.win32 \ gnetworking.h.win32 \
$(NULL) $(NULL)
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
gio.rc gio.rc
# This is read by gobject-introspection/misc/ and gtk-doc # This is read by gobject-introspection/misc/ and gtk-doc
gio-public-headers.txt: Makefile gio-public-headers.txt: Makefile
$(AM_V_GEN) echo $(gioinclude_HEADERS) $(giowin32include_HEADERS) $(giounixinclude_HEADERS) > $@.tmp && mv $@.tmp $@ $(AM_V_GEN) echo $(gioinclude_HEADERS) $(giowin32include_HEADERS) $(giounixinclude_HEADERS) > $@.tmp && mv $@.tmp $@
CLEANFILES = gdbus-daemon-generated.c gdbus-daemon-generated.h gio-public-headers.txt gconstructor_as_data.h CLEANFILES += gdbus-daemon-generated.c gdbus-daemon-generated.h gio-public-headers.txt gconstructor_as_data.h
DISTCLEANFILES = \ DISTCLEANFILES += \
gioenumtypes.h \ gioenumtypes.h \
gioenumtypes.c gioenumtypes.c

View File

@ -1,6 +1,4 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL =
module_flags = -export_dynamic -avoid-version -module -no-undefined -export-symbols-regex '^g_io_module_(load|unload|query)' module_flags = -export_dynamic -avoid-version -module -no-undefined -export-symbols-regex '^g_io_module_(load|unload|query)'

View File

@ -1,8 +1,6 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL = noinst_LTLIBRARIES += libfen.la
noinst_LTLIBRARIES = libfen.la
libfen_la_SOURCES = \ libfen_la_SOURCES = \
fen-dump.c \ fen-dump.c \

View File

@ -1,8 +1,6 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL =
bin_SCRIPTS = bin_SCRIPTS =
CLEANFILES =
codegendir = $(datadir)/glib-2.0/codegen codegendir = $(datadir)/glib-2.0/codegen
codegen_PYTHON = \ codegen_PYTHON = \

View File

@ -1126,7 +1126,7 @@ parse_state_start_schema (ParseState *state,
{ {
g_set_error (error, G_MARKUP_ERROR, g_set_error (error, G_MARKUP_ERROR,
G_MARKUP_ERROR_INVALID_CONTENT, G_MARKUP_ERROR_INVALID_CONTENT,
_("<schema id='%s'> extends not-yet-existing " _("<schema id='%s'> extends not yet existing "
"schema '%s'"), id, extends_name); "schema '%s'"), id, extends_name);
return; return;
} }
@ -1142,7 +1142,7 @@ parse_state_start_schema (ParseState *state,
{ {
g_set_error (error, G_MARKUP_ERROR, g_set_error (error, G_MARKUP_ERROR,
G_MARKUP_ERROR_INVALID_CONTENT, G_MARKUP_ERROR_INVALID_CONTENT,
_("<schema id='%s'> is list of not-yet-existing " _("<schema id='%s'> is list of not yet existing "
"schema '%s'"), id, list_of); "schema '%s'"), id, list_of);
return; return;
} }

View File

@ -1,8 +1,6 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL = noinst_LTLIBRARIES += libinotify.la
noinst_LTLIBRARIES = libinotify.la
libinotify_la_SOURCES = \ libinotify_la_SOURCES = \
inotify-kernel.c \ inotify-kernel.c \

View File

@ -1,8 +1,6 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL = noinst_LTLIBRARIES += libkqueue.la
noinst_LTLIBRARIES = libkqueue.la
libkqueue_la_SOURCES = \ libkqueue_la_SOURCES = \
gkqueuefilemonitor.c \ gkqueuefilemonitor.c \

View File

@ -1,311 +1,101 @@
include $(top_srcdir)/glib.mk
NULL = dist_uninstalled_test_data =
BUILT_SOURCES = test_ltlibraries =
include $(top_srcdir)/Makefile.decl
insttestdir = $(pkglibexecdir)/installed-tests
SUBDIRS = gdbus-object-manager-example services SUBDIRS = gdbus-object-manager-example services
AM_CPPFLAGS = \ LDADD = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \ $(top_builddir)/glib/libglib-2.0.la \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-I$(top_builddir)/gio \
-I$(top_srcdir)/gio \
$(DBUS1_CFLAGS) \
-DSRCDIR=\""$(srcdir)"\" \
-DBUILDDIR=\""$(abs_builddir)"\" \
-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 \
$(top_builddir)/gobject/libgobject-2.0.la \ $(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \ $(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/gio/libgio-2.0.la $(top_builddir)/gio/libgio-2.0.la
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)
test_progs = \ # -----------------------------------------------------------------------------
io-stream \ # Test programs buildable on all platforms
memory-input-stream \
memory-output-stream \ test_programs = \
readwrite \ io-stream \
g-file \ memory-input-stream \
g-file-info \ memory-output-stream \
converter-stream \ readwrite \
data-input-stream \ g-file \
data-output-stream \ g-file-info \
g-icon \ converter-stream \
buffered-input-stream \ data-input-stream \
buffered-output-stream \ data-output-stream \
sleepy-stream \ g-icon \
filter-streams \ buffered-input-stream \
volumemonitor \ buffered-output-stream \
simple-async-result \ sleepy-stream \
srvtarget \ filter-streams \
contexts \ volumemonitor \
gsettings \ simple-async-result \
gschema-compile \ srvtarget \
async-close-output-stream \ contexts \
gdbus-addresses \ async-close-output-stream \
network-address \ gdbus-addresses \
gdbus-message \ network-address \
socket \ gdbus-message \
pollable \ socket \
tls-certificate \ pollable \
tls-interaction \ tls-interaction \
cancellable \ cancellable \
vfs \ vfs \
network-monitor \ network-monitor \
fileattributematcher \ fileattributematcher \
resources \ proxy-test \
proxy-test \ simple-proxy \
simple-proxy \ inet-address \
inet-address \ permission \
permission \ task \
task \ credentials \
credentials \
$(NULL) $(NULL)
if HAVE_DBUS_DAEMON uninstalled_test_programs = \
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 \
$(NULL)
endif
if OS_UNIX
test_progs += \
gdbus-close-pending \
gdbus-connection-flush \
gdbus-peer \
gdbus-overflow \
gdbus-exit-on-close \
gdbus-non-socket \
gdbus-peer-object-manager \
appinfo \
contenttype \
mimeapps \
file \
$(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 \
proxy \
gapplication-example-open \
gapplication-example-cmdline \
gapplication-example-cmdline2 \
gapplication-example-cmdline3 \
gapplication-example-actions \
gapplication-example-dbushooks \
gdbus-daemon \
$(NULL) $(NULL)
other_progs = \ dist_test_data = \
gdbus-testserver \ contexts.c \
gdbus-connection-flush-helper \ g-icon.c \
$(NULL)
noinst_PROGRAMS += $(other_progs)
if OS_UNIX
test_progs += \
live-g-file \
desktop-app-info \
unix-fd \
unix-streams \
gapplication \
basic-application \
gdbus-test-codegen \
socket-address \
$(NULL) $(NULL)
other_progs += \ test_data = \
appinfo-test \ test.gresource \
$(NULL) $(NULL)
SAMPLE_PROGS += \ uninstalled_test_extra_programs = \
gdbus-example-unix-fd-client \ resolver \
gdbus-example-objectmanager-server \ socket-server \
gdbus-example-objectmanager-client \ echo-server \
gdbus-test-fixture \ httpd \
$(NULL) send-data \
endif filter-cat \
gdbus-example-export \
if OS_WIN32 gdbus-example-own-name \
TEST_PROGS += win32-streams gdbus-example-watch-name \
endif gdbus-example-watch-proxy \
gdbus-example-server \
if PLATFORM_WIN32 gdbus-example-subtree \
no_undefined = -no-undefined gdbus-example-peer \
endif gdbus-example-proxy-subclass \
proxy \
actions_SOURCES = actions.c gdbus-sessionbus.c gdbus-sessionbus.h gapplication-example-open \
gapplication-example-cmdline \
unix_streams_LDADD = $(LDADD) \ gapplication-example-cmdline2 \
$(top_builddir)/gthread/libgthread-2.0.la gapplication-example-cmdline3 \
gapplication-example-actions \
win32_streams_LDADD = $(LDADD) \ gapplication-example-dbushooks \
$(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 \
$(NULL) $(NULL)
gdbus_connection_loss_SOURCES = gdbus-connection-loss.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c test_extra_programs = \
gdbus-testserver \
gdbus_connection_slow_SOURCES = gdbus-connection-slow.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c gdbus-connection-flush-helper \
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 \
$(NULL) $(NULL)
gdbus_exit_on_close_SOURCES = gdbus-exit-on-close.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c dist_uninstalled_test_data += $(addprefix schema-tests/,$(schema_tests))
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
TEST_PROGS += $(test_progs)
TESTS_ENVIRONMENT = \
GLIB_MKENUMS=../../gobject/glib-mkenums \
GLIB_COMPILE_SCHEMAS=../glib-compile-schemas
schema_tests = \ schema_tests = \
array-default-not-in-choices.gschema.xml \ array-default-not-in-choices.gschema.xml \
bad-choice.gschema.xml \ bad-choice.gschema.xml \
@ -358,7 +148,7 @@ schema_tests = \
key-in-list-indirect.gschema.xml \ key-in-list-indirect.gschema.xml \
key-in-list.gschema.xml \ key-in-list.gschema.xml \
list-of-missing.gschema.xml \ list-of-missing.gschema.xml \
missing-quotes.gschema.xml \ missing-quotes.gschema.xml \
no-default.gschema.xml \ no-default.gschema.xml \
overflow.gschema.xml \ overflow.gschema.xml \
override-missing.gschema.xml \ override-missing.gschema.xml \
@ -380,78 +170,257 @@ schema_tests = \
wrong-category.gschema.xml \ wrong-category.gschema.xml \
$(NULL) $(NULL)
schema_test_files = $(addprefix schema-tests/,$(schema_tests)) test_programs += tls-certificate
tls_certificate_SOURCES = \
proxy_LDADD = $(LDADD) \ tls-certificate.c \
$(top_builddir)/gthread/libgthread-2.0.la gtesttlsbackend.c \
gtesttlsbackend.h
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 = \ cert_tests = \
cert1.pem \ cert1.pem \
cert2.pem \ cert2.pem \
cert3.pem \ cert3.pem \
cert-key.pem \ cert-key.pem \
cert-list.pem \ cert-list.pem \
key8.pem \ key8.pem \
key-cert.pem \ key-cert.pem \
key.pem \ key.pem \
nothing.pem \ nothing.pem \
$(NULL) $(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 if OS_UNIX
gdbus_example_objectmanager_server_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example test_programs += \
gdbus_example_objectmanager_server_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD) live-g-file \
unix-fd \
unix-streams \
basic-application \
socket-address \
gdbus-peer-object-manager \
contenttype \
file \
$(NULL)
gdbus_example_objectmanager_client_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example # Uninstalled because of the check-for-executable logic in DesktopAppInfo unable to find the installed executable
gdbus_example_objectmanager_client_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD) uninstalled_test_programs += \
appinfo \
desktop-app-info \
$(NULL)
gdbus_peer_SOURCES = gdbus-peer.c gdbus-tests.h gdbus-tests.c dist_test_data += \
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)
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)
endif OS_UNIX
# -----------------------------------------------------------------------------
desktop_test_files = \
appinfo-test.desktop \ appinfo-test.desktop \
appinfo-test2.desktop \ appinfo-test2.desktop \
appinfo-test-gnome.desktop \ appinfo-test-gnome.desktop \
appinfo-test-notgnome.desktop \ appinfo-test-notgnome.desktop \
file.c \
$(NULL) $(NULL)
EXTRA_DIST += \ test_extra_programs += \
socket-common.c \ appinfo-test \
org.gtk.test.gschema.xml \
de.po \
$(schema_test_files) \
test-codegen.xml \
$(cert_test_files) \
test.gresource.xml \
test1.txt \
test2.gresource.xml \
test2.txt \
test3.gresource.xml \
test3.txt \
test4.gresource.xml \
$(desktop_test_files) \
$(NULL) $(NULL)
MISC_STUFF = test.mo test.gresource uninstalled_test_extra_programs += \
gdbus-example-unix-fd-client \
$(NULL)
test_programs += mimeapps
clean-local: clean-mimeapps
clean-mimeapps:
rm -rf xdgdatadir xdgdatahome
uninstalled_test_programs += gsettings gschema-compile
gsettings_DEPENDENCIES = test.mo
CLEANFILES += test.mo de/LC_MESSAGES/test.mo
gsettings_CFLAGS = $(AM_CFLAGS) -DSRCDIR=\"$(abs_srcdir)\"
test.mo: de.po 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; \ $(MKDIR_P) de/LC_MESSAGES; \
cp -f test.mo de/LC_MESSAGES cp -f test.mo de/LC_MESSAGES
EXTRA_DIST += de.po
dist_uninstalled_test_data += \
org.gtk.test.gschema.xml \
org.gtk.schemasourcecheck.gschema.xml \
testenum.h \
enums.xml.template
# Generated while running the testcase itself...
CLEANFILES += \
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-exit-on-close
gdbus_exit_on_close_SOURCES = gdbus-exit-on-close.c $(gdbus_tests_sources) $(gdbus_sessionbus_sources)
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)
uninstalled_test_extra_programs += gdbus-example-objectmanager-server
gdbus_example_objectmanager_server_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
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 += \
gapplication \
actions \
gdbus-auth \
gdbus-connection \
gdbus-bz627724 \
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-test-codegen \
gdbus-close-pending \
gdbus-error \
gmenumodel \
$(NULL)
gdbus_proxy_threads_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
gapplication_SOURCES = $(gdbus_sessionbus_sources) gapplication.c
actions_SOURCES = $(gdbus_sessionbus_sources) actions.c
gdbus_auth_SOURCES = $(gdbus_sessionbus_sources) gdbus-auth.c
gdbus_connection_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection.c
gdbus_bz627724_SOURCES = $(gdbus_sessionbus_sources) gdbus-bz627724.c
gdbus_connection_loss_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-loss.c
gdbus_connection_slow_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-slow.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_introspection_SOURCES = $(gdbus_sessionbus_sources) gdbus-introspection.c
gdbus_threading_SOURCES = $(gdbus_sessionbus_sources) gdbus-threading.c
gdbus_export_SOURCES = $(gdbus_sessionbus_sources) gdbus-export.c
gdbus_error_SOURCES = $(gdbus_sessionbus_sources) gdbus-error.c
gmenumodel_SOURCES = $(gdbus_sessionbus_sources) gmenumodel.c
gdbus_close_pending_SOURCES = $(gdbus_sessionbus_sources) gdbus-close-pending.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.o: gdbus-test-codegen-generated.h
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)
EXTRA_DIST += test-codegen.xml
CLEANFILES += gdbus-test-codegen-generated.[ch] gdbus-test-codegen-generated-doc-*.xml
endif # OS_UNIX
endif # HAVE_DBUS_DAEMON
# -----------------------------------------------------------------------------
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 if CROSS_COMPILING
glib_compile_resources=$(GLIB_COMPILE_RESOURCES) glib_compile_resources=$(GLIB_COMPILE_RESOURCES)
@ -459,7 +428,7 @@ else
glib_compile_resources=$(top_builddir)/gio/glib-compile-resources glib_compile_resources=$(top_builddir)/gio/glib-compile-resources
endif 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) 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 $< $(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name _g_test1 $<
@ -472,75 +441,6 @@ plugin_resources.c: test4.gresource.xml Makefile $(shell $(glib_compile_resource
test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test.gresource.xml) 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) $< $(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) $<
if BUILDOPT_INSTALL_TESTS EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
insttest_LTLIBRARIES = libresourceplugin.la
else
noinst_LTLIBRARIES = libresourceplugin.la
endif
libresourceplugin_la_SOURCES = resourceplugin.c plugin_resources.c CLEANFILES += test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
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 \
file.c \
enums.xml.template \
testenum.h \
org.gtk.test.gschema.xml \
org.gtk.schemasourcecheck.gschema.xml \
test.gresource \
$(NULL)
EXTRA_DIST += $(test_files)
if BUILDOPT_INSTALL_TESTS
insttest_PROGRAMS = $(test_progs) $(other_progs)
schematestdir = $(insttestdir)/schema-tests
schematest_DATA = $(schema_test_files)
certtestdir = $(insttestdir)/cert-tests
certtest_DATA = $(cert_test_files)
testdatadir = $(insttestdir)
testdata_DATA = $(test_files)
testmetadir = $(datadir)/installed-tests/$(PACKAGE)
xfail_tests = desktop-app-info.test
developer_only_tests = gsettings.test gdbus-overflow.test
testmeta_DATA = $(filter-out $(xfail_tests) $(developer_only_tests),$(test_progs:=.test))
%.test: %$(EXEEXT) Makefile
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(pkglibexecdir)/installed-tests/$<' >> $@.tmp; \
mv $@.tmp $@)
%.desktop.insttest: %.desktop
sed -e s,Exec=./appinfo-test,Exec=$(insttestdir)/appinfo-test, < $< >$@.tmp && mv $@.tmp $@
installed_desktop_test_files = $(desktop_test_files:.desktop=.desktop.insttest)
install-data-local: $(installed_desktop_test_files)
for x in $(desktop_test_files); do \
install -m 0644 $${x}.insttest $(DESTDIR)$(testdatadir)/$$x; \
done
install -d -m 0755 $(DESTDIR)$(testdatadir)/schema-tests
endif

View File

@ -15,6 +15,12 @@ test_launch (void)
const gchar *path; const gchar *path;
gchar *uri; gchar *uri;
if (!g_getenv ("DISPLAY"))
{
g_printerr ("No DISPLAY. Skipping test. ");
return;
}
path = g_test_get_filename (G_TEST_DIST, "appinfo-test.desktop", NULL); path = g_test_get_filename (G_TEST_DIST, "appinfo-test.desktop", NULL);
appinfo = (GAppInfo*)g_desktop_app_info_new_from_filename (path); appinfo = (GAppInfo*)g_desktop_app_info_new_from_filename (path);
g_assert (appinfo != NULL); g_assert (appinfo != NULL);

View File

@ -91,7 +91,7 @@ test_type (void)
g_assert_cmpint (type, ==, G_FILE_TYPE_REGULAR); g_assert_cmpint (type, ==, G_FILE_TYPE_REGULAR);
g_object_unref (file); g_object_unref (file);
file = g_file_get_child (datapath_f, "schema-tests"); file = g_file_get_child (datapath_f, "cert-tests");
type = g_file_query_file_type (file, 0, NULL); type = g_file_query_file_type (file, 0, NULL);
g_assert_cmpint (type, ==, G_FILE_TYPE_DIRECTORY); g_assert_cmpint (type, ==, G_FILE_TYPE_DIRECTORY);

View File

@ -1,5 +1,5 @@
#include "gdbus-example-objectmanager-generated.h" #include "gdbus-object-manager-example/gdbus-example-objectmanager-generated.h"
/* ---------------------------------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------------------------------- */

View File

@ -1,5 +1,5 @@
#include "gdbus-example-objectmanager-generated.h" #include "gdbus-object-manager-example/gdbus-example-objectmanager-generated.h"
/* ---------------------------------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------------------------------- */

View File

@ -1,24 +1,14 @@
NULL = include $(top_srcdir)/glib.mk
BUILT_SOURCES =
CLEANFILES =
include $(top_srcdir)/Makefile.decl AM_CPPFLAGS = -g $(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) -I$(top_builddir)/gio -I$(top_srcdir)/gio
AM_CPPFLAGS = \
-g \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-I$(top_builddir)/gio \
-I$(top_srcdir)/gio \
-DSRCDIR=\""$(srcdir)"\"
# ------------------------------------------------------------------------ # ------------------------------------------------------------------------
GDBUS_GENERATED = \ GDBUS_GENERATED = \
gdbus-example-objectmanager-generated.h \ gdbus-example-objectmanager-generated.h \
gdbus-example-objectmanager-generated.c \ gdbus-example-objectmanager-generated.c \
gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Animal.xml \ gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Animal.xml \
gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml \ gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml \
$(NULL) $(NULL)
$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen $(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
@ -33,11 +23,19 @@ $(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile $(top_builddir)/gi
$< \ $< \
$(NULL) $(NULL)
BUILT_SOURCES += $(GDBUS_GENERATED) test_ltlibraries = libgdbus-example-objectmanager.la
noinst_LTLIBRARIES = libgdbus-example-objectmanager.la if ENABLE_GTK_DOC
libgdbus_example_objectmanager_la_SOURCES = gdbus-example-objectmanager-generated.h gdbus-example-objectmanager-generated.c # The docs pull these in, so we need them even if not doing 'make check'
libgdbus_example_objectmanager_la_LIBADD = \ BUILT_SOURCES += $(GDBUS_GENERATED)
noinst_LTLIBRARIES += libgdbus-example-objectmanager.la
endif
nodist_libgdbus_example_objectmanager_la_SOURCES = \
gdbus-example-objectmanager-generated.h \
gdbus-example-objectmanager-generated.c
libgdbus_example_objectmanager_la_LIBADD = \
$(top_builddir)/glib/libglib-2.0.la \ $(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \ $(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \ $(top_builddir)/gmodule/libgmodule-2.0.la \
@ -47,4 +45,3 @@ libgdbus_example_objectmanager_la_LIBADD = \
EXTRA_DIST += gdbus-example-objectmanager.xml EXTRA_DIST += gdbus-example-objectmanager.xml
CLEANFILES += $(GDBUS_GENERATED) CLEANFILES += $(GDBUS_GENERATED)

View File

@ -53,7 +53,7 @@
#include "gdbus-tests.h" #include "gdbus-tests.h"
#include "gdbus-example-objectmanager-generated.h" #include "gdbus-object-manager-example/gdbus-example-objectmanager-generated.h"
#ifdef G_OS_UNIX #ifdef G_OS_UNIX
static gboolean is_unix = TRUE; static gboolean is_unix = TRUE;

View File

@ -1,5 +1,5 @@
#include "gdbus-example-objectmanager-generated.h" #include "gdbus-object-manager-example/gdbus-example-objectmanager-generated.h"
/* ---------------------------------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------------------------------- */

View File

@ -107,14 +107,14 @@ static const SchemaTest tests[] = {
{ "range-parse-error", NULL, "*invalid character in number*" }, { "range-parse-error", NULL, "*invalid character in number*" },
{ "from-docs", NULL, NULL }, { "from-docs", NULL, NULL },
{ "extending", NULL, NULL }, { "extending", NULL, NULL },
{ "extend-missing", NULL, "*extends not-yet-existing schema*" }, { "extend-missing", NULL, "*extends not yet existing schema*" },
{ "extend-nonlist", NULL, "*which is not a list*" }, { "extend-nonlist", NULL, "*which is not a list*" },
{ "extend-self", NULL, "*not-yet-existing*" }, { "extend-self", NULL, "*not yet existing*" },
{ "extend-wrong-list-indirect", NULL, "*'y' does not extend 'x'*" }, { "extend-wrong-list-indirect", NULL, "*'y' does not extend 'x'*" },
{ "extend-wrong-list", NULL, "*'y' does not extend 'x'*" }, { "extend-wrong-list", NULL, "*'y' does not extend 'x'*" },
{ "key-in-list-indirect", NULL, "*cannot add keys to a 'list*" }, { "key-in-list-indirect", NULL, "*cannot add keys to a 'list*" },
{ "key-in-list", NULL, "*cannot add keys to a 'list*" }, { "key-in-list", NULL, "*cannot add keys to a 'list*" },
{ "list-of-missing", NULL, "*is list of not-yet-existing schema*" }, { "list-of-missing", NULL, "*is list of not yet existing schema*" },
{ "extend-and-shadow", NULL, "*shadows*use <override>*" }, { "extend-and-shadow", NULL, "*shadows*use <override>*" },
{ "extend-and-shadow-indirect", NULL, "*shadows*use <override>*" }, { "extend-and-shadow-indirect", NULL, "*shadows*use <override>*" },
{ "override", NULL, NULL }, { "override", NULL, NULL },

View File

@ -660,14 +660,20 @@ test_l10n (void)
str = NULL; str = NULL;
setlocale (LC_MESSAGES, "de_DE"); setlocale (LC_MESSAGES, "de_DE");
str = g_settings_get_string (settings, "error-message"); /* Only do the test if translation is actually working... */
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
{
str = g_settings_get_string (settings, "error-message");
g_assert_cmpstr (str, ==, "Unbenannt");
g_object_unref (settings);
g_free (str);
str = NULL;
}
else
g_printerr ("warning: translation is not working... skipping test. ");
setlocale (LC_MESSAGES, locale); setlocale (LC_MESSAGES, locale);
g_assert_cmpstr (str, ==, "Unbenannt");
g_object_unref (settings);
g_free (str);
str = NULL;
g_free (locale); g_free (locale);
} }
@ -701,14 +707,20 @@ test_l10n_context (void)
str = NULL; str = NULL;
setlocale (LC_MESSAGES, "de_DE"); setlocale (LC_MESSAGES, "de_DE");
g_settings_get (settings, "backspace", "s", &str); /* Only do the test if translation is actually working... */
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
{
g_settings_get (settings, "backspace", "s", &str);
g_assert_cmpstr (str, ==, "Löschen");
g_object_unref (settings);
g_free (str);
str = NULL;
}
else
g_printerr ("warning: translation is not working... skipping test. ");
setlocale (LC_MESSAGES, locale); setlocale (LC_MESSAGES, locale);
g_assert_cmpstr (str, ==, "Löschen");
g_object_unref (settings);
g_free (str);
str = NULL;
g_free (locale); g_free (locale);
} }
@ -1578,24 +1590,6 @@ test_child_schema (void)
g_object_unref (settings); g_object_unref (settings);
} }
static gboolean
glib_translations_work (void)
{
gboolean works;
gchar *locale;
gchar *orig = "Unnamed";
locale = g_strdup (setlocale (LC_MESSAGES, NULL));
if (!setlocale (LC_MESSAGES, "de"))
works = FALSE;
else
works = dgettext ("glib20", orig) != orig;
setlocale (LC_MESSAGES, locale);
g_free (locale);
return works;
}
#include "../strinfo.c" #include "../strinfo.c"
static void static void
@ -2316,11 +2310,8 @@ main (int argc, char *argv[])
g_test_add_func ("/gsettings/complex-types", test_complex_types); g_test_add_func ("/gsettings/complex-types", test_complex_types);
g_test_add_func ("/gsettings/changes", test_changes); g_test_add_func ("/gsettings/changes", test_changes);
if (glib_translations_work ()) g_test_add_func ("/gsettings/l10n", test_l10n);
{ g_test_add_func ("/gsettings/l10n-context", test_l10n_context);
g_test_add_func ("/gsettings/l10n", test_l10n);
g_test_add_func ("/gsettings/l10n-context", test_l10n_context);
}
g_test_add_func ("/gsettings/delay-apply", test_delay_apply); g_test_add_func ("/gsettings/delay-apply", test_delay_apply);
g_test_add_func ("/gsettings/delay-revert", test_delay_revert); g_test_add_func ("/gsettings/delay-revert", test_delay_revert);

View File

@ -1,8 +1,6 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL = noinst_LTLIBRARIES += libgiowin32.la
noinst_LTLIBRARIES = libgiowin32.la
libgiowin32_la_SOURCES = \ libgiowin32_la_SOURCES = \
gwin32directorymonitor.c \ gwin32directorymonitor.c \

View File

@ -1,8 +1,8 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
AM_CPPFLAGS = -DXDG_PREFIX=_gio_xdg AM_CPPFLAGS = -DXDG_PREFIX=_gio_xdg
noinst_LTLIBRARIES = libxdgmime.la noinst_LTLIBRARIES += libxdgmime.la
libxdgmime_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS) libxdgmime_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libxdgmime_la_SOURCES = \ libxdgmime_la_SOURCES = \

223
glib.mk Normal file
View File

@ -0,0 +1,223 @@
# GLIB - Library of useful C routines
#GTESTER = gtester # for non-GLIB packages
GTESTER = $(top_builddir)/glib/gtester # for the GLIB package
GTESTER_REPORT = $(top_builddir)/glib/gtester-report # for the GLIB package
NULL =
# initialize variables for unconditional += appending
BUILT_SOURCES =
BUILT_EXTRA_DIST =
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
EXTRA_DIST =
TEST_PROGS =
installed_test_LTLIBRARIES =
installed_test_PROGRAMS =
installed_test_SCRIPTS =
nobase_installed_test_DATA =
noinst_LTLIBRARIES =
noinst_PROGRAMS =
noinst_SCRIPTS =
noinst_DATA =
check_LTLIBRARIES =
check_PROGRAMS =
check_SCRIPTS =
check_DATA =
TESTS =
### testing rules
# test: run all tests in cwd and subdirs
test: test-nonrecursive
if OS_UNIX
@ for subdir in $(SUBDIRS) . ; do \
test "$$subdir" = "." -o "$$subdir" = "po" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done
# test-nonrecursive: run tests only in cwd
test-nonrecursive: ${TEST_PROGS}
@test -z "${TEST_PROGS}" || G_TEST_SRCDIR="$(abs_srcdir)" G_TEST_BUILDDIR="$(abs_builddir)" G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
else
test-nonrecursive:
endif
if OS_WIN32
TESTS += $(addsuffix .exe, $(TEST_PROGS))
endif
# test-report: run tests in subdirs and generate report
# perf-report: run tests in subdirs with -m perf and generate report
# full-report: like test-report: with -m perf and -m slow
test-report perf-report full-report: ${TEST_PROGS}
@test -z "${TEST_PROGS}" || { \
case $@ in \
test-report) test_options="-k";; \
perf-report) test_options="-k -m=perf";; \
full-report) test_options="-k -m=perf -m=slow";; \
esac ; \
if test -z "$$GTESTER_LOGDIR" ; then \
G_TEST_SRCDIR="$(abs_srcdir)" G_TEST_BUILDDIR="$(abs_builddir)" ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
elif test -n "${TEST_PROGS}" ; then \
G_TEST_SRCDIR="$(abs_srcdir)" G_TEST_BUILDDIR="$(abs_builddir)" ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
fi ; \
}
@ ignore_logdir=true ; \
if test -z "$$GTESTER_LOGDIR" ; then \
GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
ignore_logdir=false ; \
fi ; \
if test -d "$(top_srcdir)/.git" ; then \
REVISION=`git describe` ; \
else \
REVISION=$(VERSION) ; \
fi ; \
for subdir in $(SUBDIRS) . ; do \
test "$$subdir" = "." -o "$$subdir" = "po" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done ; \
$$ignore_logdir || { \
echo '<?xml version="1.0"?>' > $@.xml ; \
echo '<report-collection>' >> $@.xml ; \
echo '<info>' >> $@.xml ; \
echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
echo ' <version>$(VERSION)</version>' >> $@.xml ; \
echo " <revision>$$REVISION</revision>" >> $@.xml ; \
echo '</info>' >> $@.xml ; \
for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
done ; \
echo >> $@.xml ; \
echo '</report-collection>' >> $@.xml ; \
rm -rf "$$GTESTER_LOGDIR"/ ; \
${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
}
.PHONY: test test-report perf-report full-report test-nonrecursive
.PHONY: lcov genlcov lcov-clean
# use recursive makes in order to ignore errors during check
lcov:
-$(MAKE) $(AM_MAKEFLAGS) -k check
$(MAKE) $(AM_MAKEFLAGS) genlcov
# we have to massage the lcov.info file slightly to hide the effect of libtool
# placing the objects files in the .libs/ directory separate from the *.c
# we also have to delete tests/.libs/libmoduletestplugin_*.gcda
genlcov:
rm -f $(top_builddir)/tests/.libs/libmoduletestplugin_*.gcda
$(LTP) --directory $(top_builddir) --capture --output-file glib-lcov.info --test-name GLIB_PERF --no-checksum --compat-libtool
LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory glib-lcov --title "GLib Code Coverage" --legend --show-details glib-lcov.info
@echo "file://$(abs_top_builddir)/glib-lcov/index.html"
lcov-clean:
-$(LTP) --directory $(top_builddir) -z
-rm -rf glib-lcov.info glib-lcov
-find -name '*.gcda' -print | xargs rm
# run tests in cwd as part of make check
check-local: test-nonrecursive
# We support a fairly large range of possible variables. It is expected that all types of files in a test suite
# will belong in exactly one of the following variables.
#
# First, we support the usual automake suffixes, but in lowercase, with the customary meaning:
#
# test_programs, test_scripts, test_data, test_ltlibraries
#
# The above are used to list files that are involved in both uninstalled and installed testing. The
# test_programs and test_scripts are taken to be actual testcases and will be run as part of the test suite.
# Note that _data is always used with the nobase_ automake variable name to ensure that installed test data is
# installed in the same way as it appears in the package layout.
#
# In order to mark a particular file as being only for one type of testing, use 'installed' or 'uninstalled',
# like so:
#
# installed_test_programs, uninstalled_test_programs
# installed_test_scripts, uninstalled_test_scripts
# installed_test_data, uninstalled_test_data
# installed_test_ltlibraries, uninstalled_test_ltlibraries
#
# Additionally, we support 'extra' infixes for programs and scripts. This is used for support programs/scripts
# that should not themselves be run as testcases (but exist to be used from other testcases):
#
# test_extra_programs, installed_test_extra_programs, uninstalled_test_extra_programs
# test_extra_scripts, installed_test_extra_scripts, uninstalled_test_extra_scripts
#
# Additionally, for _scripts and _data, we support the customary dist_ prefix so that the named script or data
# file automatically end up in the tarball.
#
# dist_test_scripts, dist_test_data, dist_test_extra_scripts
# dist_installed_test_scripts, dist_installed_test_data, dist_installed_test_extra_scripts
# dist_uninstalled_test_scripts, dist_uninstalled_test_data, dist_uninstalled_test_extra_scripts
#
# Note that no file is automatically disted unless it appears in one of the dist_ variables. This follows the
# standard automake convention of not disting programs scripts or data by default.
#
# test_programs, test_scripts, uninstalled_test_programs and uninstalled_test_scripts (as well as their disted
# variants) will be run as part of the in-tree 'make check'. These are all assumed to be runnable under
# gtester. That's a bit strange for scripts, but it's possible.
# we use test -z "$(TEST_PROGS)" above, so make sure we have no extra whitespace...
TEST_PROGS += $(strip $(test_programs) $(test_scripts) $(uninstalled_test_programs) $(uninstalled_test_scripts) \
$(dist_test_scripts) $(dist_uninstalled_test_scripts))
# Note: build even the installed-only targets during 'make check' to ensure that they still work.
# We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to
# prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were
# filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'.
all_test_programs = $(test_programs) $(uninstalled_test_programs) $(installed_test_programs) \
$(test_extra_programs) $(uninstalled_test_extra_programs) $(installed_test_extra_programs)
all_test_scripts = $(test_scripts) $(uninstalled_test_scripts) $(installed_test_scripts) \
$(test_extra_scripts) $(uninstalled_test_extra_scripts) $(installed_test_extra_scripts)
all_dist_test_scripts = $(dist_test_scripts) $(dist_uninstalled_test_scripts) $(dist_installed_test_scripts) \
$(dist_test_extra_scripts) $(dist_uninstalled_test_extra_scripts) $(dist_installed_test_extra_scripts)
all_test_scripts += $(all_dist_test_scripts)
EXTRA_DIST += $(all_dist_test_scripts)
all_test_data = $(test_data) $(uninstalled_test_data) $(installed_test_data)
all_dist_test_data = $(dist_test_data) $(dist_uninstalled_test_data) $(dist_installed_test_data)
all_test_data += $(all_dist_test_data)
EXTRA_DIST += $(all_dist_test_data)
all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installed_test_ltlibraries)
if ENABLE_ALWAYS_BUILD_TESTS
noinst_LTLIBRARIES += $(all_test_ltlibs)
noinst_PROGRAMS += $(all_test_programs)
noinst_SCRIPTS += $(all_test_scripts)
noinst_DATA += $(all_test_data)
else
check_LTLIBRARIES += $(all_test_ltlibs)
check_PROGRAMS += $(all_test_programs)
check_SCRIPTS += $(all_test_scripts)
check_DATA += $(all_test_data)
endif
if ENABLE_INSTALLED_TESTS
installed_test_PROGRAMS += $(test_programs) $(installed_test_programs) \
$(test_extra_programs) $(installed_test_extra_programs)
installed_test_SCRIPTS += $(test_scripts) $(installed_test_scripts) \
$(test_extra_scripts) $(test_installed_extra_scripts)
installed_test_SCRIPTS += $(dist_test_scripts) $(dist_test_extra_scripts) \
$(dist_installed_test_scripts) $(dist_installed_test_extra_scripts)
nobase_installed_test_DATA += $(test_data) $(installed_test_data)
nobase_installed_test_DATA += $(dist_test_data) $(dist_installed_test_data)
installed_test_LTLIBRARIES += $(test_ltlibraries) $(installed_test_ltlibraries)
installed_testcases = $(test_programs) $(installed_test_programs) \
$(test_scripts) $(installed_test_scripts) \
$(dist_test_scripts) $(dist_installed_test_scripts)
installed_test_meta_DATA = $(installed_testcases:=.test)
%.test: %$(EXEEXT) Makefile
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_testdir)/$<' >> $@.tmp; \
mv $@.tmp $@)
CLEANFILES += $(installed_test_meta_DATA)
endif

View File

@ -1,9 +1,5 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
BUILT_SOURCES =
DISTCLEANFILES =
CLEANFILES =
# #
# Generate glibconfig.h # Generate glibconfig.h
@ -35,11 +31,8 @@ else
MAYBE_PCRE = pcre MAYBE_PCRE = pcre
endif endif
SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
if BUILD_MODULAR_TESTS
SUBDIRS += tests
endif
AM_CPPFLAGS = \ AM_CPPFLAGS = \
$(glib_INCLUDES) \ $(glib_INCLUDES) \
@ -77,7 +70,7 @@ EXTRA_DIST += \
CLEANFILES += libglib-gdb.py CLEANFILES += libglib-gdb.py
# These may be in the builddir too # These may be in the builddir too
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
makefile.msc \ makefile.msc \
glibconfig.h.win32 \ glibconfig.h.win32 \
glib.rc glib.rc
@ -86,7 +79,7 @@ lib_LTLIBRARIES = libglib-2.0.la
if OS_WIN32_AND_DLL_COMPILATION if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE if MS_LIB_AVAILABLE
noinst_DATA = glib-2.0.lib noinst_DATA += glib-2.0.lib
install_ms_lib_cmd = $(INSTALL) glib-2.0.lib $(DESTDIR)$(libdir) install_ms_lib_cmd = $(INSTALL) glib-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/glib-2.0.lib uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/glib-2.0.lib

View File

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \ AM_CPPFLAGS = \
$(glib_INCLUDES) \ $(glib_INCLUDES) \
@ -8,7 +8,7 @@ AM_CPPFLAGS = \
-DG_DISABLE_DEPRECATED \ -DG_DISABLE_DEPRECATED \
-DGLIB_COMPILATION -DGLIB_COMPILATION
noinst_LTLIBRARIES = libgnulib.la noinst_LTLIBRARIES += libgnulib.la
libgnulib_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS) libgnulib_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libgnulib_la_SOURCES = \ libgnulib_la_SOURCES = \

View File

@ -1,11 +1,11 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DLIBDIR=\"$(libdir)\" \ -DLIBDIR=\"$(libdir)\" \
$(config_h_INCLUDES) $(config_h_INCLUDES)
noinst_LTLIBRARIES = libcharset.la noinst_LTLIBRARIES += libcharset.la
libcharset_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS) libcharset_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libcharset_la_SOURCES = \ libcharset_la_SOURCES = \
@ -63,4 +63,4 @@ SUFFIXES = .sed .sin
$(AM_V_GEN) $(SED) -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@ $(AM_V_GEN) $(SED) -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
@mv t-$@ $@ @mv t-$@ $@
CLEANFILES = charset.alias ref-add.sed ref-del.sed CLEANFILES += charset.alias ref-add.sed ref-del.sed

View File

@ -1,6 +1,6 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
noinst_LTLIBRARIES = libpcre.la noinst_LTLIBRARIES += libpcre.la
libpcre_la_CPPFLAGS = \ libpcre_la_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GRegex\" \ -DG_LOG_DOMAIN=\"GLib-GRegex\" \

View File

@ -1,81 +1,31 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL =
insttestdir=$(pkglibexecdir)/installed-tests
bookmark_test_files = \
bookmarks/fail-01.xbel \
bookmarks/fail-02.xbel \
bookmarks/fail-03.xbel \
bookmarks/fail-04.xbel \
bookmarks/fail-05.xbel \
bookmarks/fail-06.xbel \
bookmarks/fail-07.xbel \
bookmarks/fail-08.xbel \
bookmarks/fail-09.xbel \
bookmarks/fail-10.xbel \
bookmarks/fail-11.xbel \
bookmarks/fail-12.xbel \
bookmarks/fail-13.xbel \
bookmarks/fail-14.xbel \
bookmarks/fail-15.xbel \
bookmarks/fail-16.xbel \
bookmarks/fail-17.xbel \
bookmarks/valid-01.xbel \
bookmarks/valid-02.xbel \
bookmarks/valid-03.xbel \
$(NULL)
markup_tests = \
fail-1 fail-2 fail-3 fail-4 fail-5 \
fail-6 fail-7 fail-8 fail-9 fail-10 \
fail-11 fail-12 fail-13 fail-14 fail-15 \
fail-16 fail-17 fail-18 fail-19 fail-20 \
fail-21 fail-22 fail-23 fail-24 fail-25 \
fail-26 fail-27 fail-28 fail-29 fail-30 \
fail-31 fail-32 fail-33 fail-34 fail-35 \
fail-36 fail-37 fail-38 fail-39 fail-40 \
fail-41 fail-42 fail-43 fail-44 fail-45 \
fail-46 fail-47 fail-48 fail-49 \
valid-1 valid-2 valid-3 valid-4 valid-5 \
valid-6 valid-7 valid-8 valid-9 valid-10 \
valid-11 valid-12 valid-13 valid-14 valid-15 \
$(NULL)
all_markup_test_files = $(addprefix markups/,$(markup_tests:=.gmarkup) $(markup_tests:=.expected))
test_files = \
keyfiletest.ini \
pages.ini \
keyfile.c \
empty \
4096-random-bytes \
$(NULL)
test_script_files = \
echo-script
AM_CPPFLAGS = \
-g \
$(glib_INCLUDES) \
-DG_LOG_DOMAIN=\"GLib\" \
-DSRCDIR=\""$(srcdir)"\" \
-DEXEEXT=\"$(EXEEXT)\" \
$(GLIB_DEBUG_FLAGS)
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
LDADD = $(top_builddir)/glib/libglib-2.0.la -lm LDADD = $(top_builddir)/glib/libglib-2.0.la -lm
AM_CPPFLAGS = -g $(glib_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DG_LOG_DOMAIN=\"GLib\" -DEXEEXT=\"$(EXEEXT)\"
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
TEST_PROGS += \ # -----------------------------------------------------------------------------
1bit-emufutex \
gwakeup \ dist_test_data = \
keyfiletest.ini \
pages.ini \
keyfile.c \
empty \
4096-random-bytes \
$(NULL) $(NULL)
all_test_programs = \ dist_test_extra_scripts = \
echo-script \
$(NULL)
test_extra_programs = \
test-spawn-echo \
$(NULL)
test_programs = \
array-test \ array-test \
asyncqueue \ asyncqueue \
atomic \
base64 \ base64 \
bitlock \ bitlock \
bookmarkfile \ bookmarkfile \
@ -130,7 +80,7 @@ all_test_programs = \
spawn-singlethread \ spawn-singlethread \
strfuncs \ strfuncs \
string \ string \
testing \ testing \
test-printf \ test-printf \
thread \ thread \
timeout \ timeout \
@ -144,63 +94,79 @@ all_test_programs = \
uri \ uri \
1bit-mutex \ 1bit-mutex \
642026 \ 642026 \
642026-ec $(NULL)
if OS_UNIX uninstalled_test_programs = \
all_test_programs += unix $(NULL)
all_test_programs += include
endif
extra_test_binaries = test-spawn-echo dist_test_data += \
bookmarks/fail-01.xbel \
bookmarks/fail-02.xbel \
bookmarks/fail-03.xbel \
bookmarks/fail-04.xbel \
bookmarks/fail-05.xbel \
bookmarks/fail-06.xbel \
bookmarks/fail-07.xbel \
bookmarks/fail-08.xbel \
bookmarks/fail-09.xbel \
bookmarks/fail-10.xbel \
bookmarks/fail-11.xbel \
bookmarks/fail-12.xbel \
bookmarks/fail-13.xbel \
bookmarks/fail-14.xbel \
bookmarks/fail-15.xbel \
bookmarks/fail-16.xbel \
bookmarks/fail-17.xbel \
bookmarks/valid-01.xbel \
bookmarks/valid-02.xbel \
bookmarks/valid-03.xbel \
$(NULL)
if BUILD_MODULAR_TESTS markup_tests = \
TEST_PROGS += $(all_test_programs) fail-1 fail-2 fail-3 fail-4 fail-5 \
noinst_PROGRAMS = $(TEST_PROGS) $(extra_test_binaries) fail-6 fail-7 fail-8 fail-9 fail-10 \
endif fail-11 fail-12 fail-13 fail-14 fail-15 \
fail-16 fail-17 fail-18 fail-19 fail-20 \
fail-21 fail-22 fail-23 fail-24 fail-25 \
fail-26 fail-27 fail-28 fail-29 fail-30 \
fail-31 fail-32 fail-33 fail-34 fail-35 \
fail-36 fail-37 fail-38 fail-39 fail-40 \
fail-41 fail-42 fail-43 fail-44 fail-45 \
fail-46 fail-47 fail-48 fail-49 \
valid-1 valid-2 valid-3 valid-4 valid-5 \
valid-6 valid-7 valid-8 valid-9 valid-10 \
valid-11 valid-12 valid-13 valid-14 valid-15 \
$(NULL)
if BUILDOPT_INSTALL_TESTS dist_test_data += $(all_markup_data)
insttest_PROGRAMS = $(all_test_programs) $(extra_test_binaries) all_markup_data = $(addprefix markups/,$(markup_tests:=.gmarkup) $(markup_tests:=.expected))
testmetadir = $(datadir)/installed-tests/$(PACKAGE)
testmeta_DATA = $(all_test_programs:=.test)
testdatadir=$(insttestdir) # -----------------------------------------------------------------------------
testdata_DATA = $(test_files)
testdata_SCRIPTS = $(test_script_files)
bookmarksdir=$(insttestdir)/bookmarks
bookmarks_DATA = $(bookmark_test_files)
markupsdir=$(insttestdir)/markups
markups_DATA = $(all_markup_test_files)
endif
%.test: %$(EXEEXT) Makefile
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(pkglibexecdir)/installed-tests/$<' >> $@.tmp; \
mv $@.tmp $@)
test_programs += atomic
atomic_CFLAGS = $(AM_CFLAGS) atomic_CFLAGS = $(AM_CFLAGS)
if HAVE_GCC if HAVE_GCC
atomic_CFLAGS += -Wstrict-aliasing=2 atomic_CFLAGS += -Wstrict-aliasing=2
endif endif
test_programs += 642026-ec
642026_ec_SOURCES = 642026.c 642026_ec_SOURCES = 642026.c
642026_ec_CFLAGS = -DG_ERRORCHECK_MUTEXES 642026_ec_CFLAGS = -DG_ERRORCHECK_MUTEXES
uninstalled_test_programs += 1bit-emufutex
1bit_emufutex_SOURCES = 1bit-mutex.c 1bit_emufutex_SOURCES = 1bit-mutex.c
1bit_emufutex_CFLAGS = $(AM_CFLAGS) -DTEST_EMULATED_FUTEX 1bit_emufutex_CFLAGS = $(AM_CFLAGS) -DTEST_EMULATED_FUTEX
uninstalled_test_programs += gwakeup
gwakeup_SOURCES = gwakeuptest.c ../../glib/gwakeup.c gwakeup_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
if HAVE_EVENTFD # -----------------------------------------------------------------------------
TEST_PROGS += gwakeup-fallback
gwakeup_fallback_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
gwakeup_fallback_CFLAGS = $(AM_CFLAGS) -DTEST_EVENTFD_FALLBACK
endif
if OS_UNIX if OS_UNIX
test_programs += \
unix \
include \
$(NULL)
# some testing of gtester functionality # some testing of gtester functionality
XMLLINT = xmllint XMLLINT = xmllint
@ -209,19 +175,21 @@ gtester-xmllint-check: # check testreport xml with xmllint if present
${GTESTER} -k --quiet -o tmpsample.xml --test-arg=--gtester-selftest ${GTESTER} ${GTESTER} -k --quiet -o tmpsample.xml --test-arg=--gtester-selftest ${GTESTER}
${XMLLINT} --version 2>/dev/null; test "$$?" != 0 || ${XMLLINT} --noout tmpsample.xml ${XMLLINT} --version 2>/dev/null; test "$$?" != 0 || ${XMLLINT} --noout tmpsample.xml
CLEANFILES += tmpsample.xml
check-am: gtester-xmllint-check check-am: gtester-xmllint-check
private_LDFLAGS = @G_THREAD_LIBS@ private_LDFLAGS = @G_THREAD_LIBS@
endif endif
CLEANFILES = \ # -----------------------------------------------------------------------------
tmpsample.xml
EXTRA_DIST += \ if HAVE_EVENTFD
$(bookmark_test_files) \ uninstalled_test_programs += gwakeup-fallback
$(all_markup_test_files) \ gwakeup_fallback_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
$(test_files) \ gwakeup_fallback_CFLAGS = $(AM_CFLAGS) -DTEST_EVENTFD_FALLBACK
$(test_script_files) \ endif
bookmarks.xbel \
$(NULL) # -----------------------------------------------------------------------------
EXTRA_DIST += bookmarks.xbel

View File

@ -1,4 +1,4 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
EXTRA_DIST += \ EXTRA_DIST += \
update.sh \ update.sh \

View File

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \ AM_CPPFLAGS = \
$(glib_INCLUDES) \ $(glib_INCLUDES) \
@ -22,11 +22,11 @@ EXTRA_DIST += \
gmoduleconf.h.win32 \ gmoduleconf.h.win32 \
gmodule.rc.in gmodule.rc.in
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
makefile.msc \ makefile.msc \
gmodule.rc gmodule.rc
BUILT_SOURCES = gmoduleconf.h BUILT_SOURCES += gmoduleconf.h
gmoduleconf.h: gmoduleconf.h.in gmoduleconf.h: gmoduleconf.h.in
glibincludedir=$(includedir)/glib-2.0 glibincludedir=$(includedir)/glib-2.0
@ -41,7 +41,7 @@ lib_LTLIBRARIES = libgmodule-2.0.la
if OS_WIN32_AND_DLL_COMPILATION if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE if MS_LIB_AVAILABLE
noinst_DATA = gmodule-2.0.lib noinst_DATA += gmodule-2.0.lib
install_ms_lib_cmd = $(INSTALL) gmodule-2.0.lib $(DESTDIR)$(libdir) install_ms_lib_cmd = $(INSTALL) gmodule-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gmodule-2.0.lib uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gmodule-2.0.lib

View File

@ -2,15 +2,9 @@
# Copyright (C) 1997,98,99,2000 Tim Janik and Red Hat, Inc. # Copyright (C) 1997,98,99,2000 Tim Janik and Red Hat, Inc.
# #
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
SUBDIRS = . SUBDIRS = . tests
if BUILD_MODULAR_TESTS
SUBDIRS += tests
endif
BUILT_SOURCES=
CLEANFILES=
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GObject\" \ -DG_LOG_DOMAIN=\"GLib-GObject\" \
@ -27,7 +21,7 @@ lib_LTLIBRARIES = libgobject-2.0.la
if OS_WIN32_AND_DLL_COMPILATION if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE if MS_LIB_AVAILABLE
noinst_DATA = gobject-2.0.lib noinst_DATA += gobject-2.0.lib
install_ms_lib_cmd = $(INSTALL) gobject-2.0.lib $(DESTDIR)$(libdir) install_ms_lib_cmd = $(INSTALL) gobject-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gobject-2.0.lib uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gobject-2.0.lib
@ -210,7 +204,7 @@ EXTRA_DIST += \
CLEANFILES += libgobject-gdb.py CLEANFILES += libgobject-gdb.py
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
makefile.msc \ makefile.msc \
gobject.rc gobject.rc

View File

@ -1,66 +1,48 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
NULL =
AM_CPPFLAGS = \
-g \
-DG_LOG_DOMAIN=\"GLib-GObject\" \
$(gobject_INCLUDES) \
$(GLIB_DEBUG_FLAGS)
LDADD = ../libgobject-2.0.la $(top_builddir)/glib/libglib-2.0.la
AM_CPPFLAGS = -g $(gobject_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DG_LOG_DOMAIN=\"GLib-GObject\"
AM_CFLAGS = $(GLIB_WARN_CFLAGS) AM_CFLAGS = $(GLIB_WARN_CFLAGS)
# -----------------------------------------------------------------------------
test_programs = \
qdata \
boxed \
enums \
param \
threadtests \
dynamictests \
binding \
properties \
reference \
valuearray \
type \
$(NULL)
# -----------------------------------------------------------------------------
test_programs += ifaceproperties
ifaceproperties_SOURCES = ifaceproperties.c testcommon.h
# -----------------------------------------------------------------------------
test_programs += signals
signals_SOURCES = signals.c
nodist_signals_SOURCES = marshalers.c marshalers.h
signals.o: marshalers.h
CLEANFILES += marshalers.h marshalers.c
EXTRA_DIST += marshalers.list
if CROSS_COMPILING if CROSS_COMPILING
glib_genmarshal=$(GLIB_GENMARSHAL) glib_genmarshal=$(GLIB_GENMARSHAL)
else else
glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
endif endif
noinst_PROGRAMS = $(TEST_PROGS)
LDADD = ../libgobject-2.0.la $(top_builddir)/gthread/libgthread-2.0.la $(top_builddir)/glib/libglib-2.0.la
TEST_PROGS += \
qdata \
boxed \
enums \
param \
signals \
threadtests \
dynamictests \
binding \
properties \
reference \
ifaceproperties \
valuearray \
type \
$(NULL)
signals_SOURCES = signals.c marshalers.c
marshalers.h: Makefile.am marshalers.list marshalers.h: Makefile.am marshalers.list
$(AM_V_GEN) $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --header --valist-marshallers > marshalers.h $(AM_V_GEN) $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --header --valist-marshallers > marshalers.h
marshalers.c: Makefile.am marshalers.list marshalers.c: Makefile.am marshalers.list
$(AM_V_GEN) (echo "#include \"marshalers.h\""; $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --body --valist-marshallers) > $@.tmp && mv $@.tmp $@ $(AM_V_GEN) (echo "#include \"marshalers.h\""; $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --body --valist-marshallers) > $@.tmp && mv $@.tmp $@
BUILT_SOURCES = marshalers.h marshalers.c
CLEANFILES = marshalers.h marshalers.c
ifaceproperties_SOURCES = ifaceproperties.c testcommon.h
EXTRA_DIST += marshalers.list
if BUILDOPT_INSTALL_TESTS
insttestdir = $(pkglibexecdir)/installed-tests
insttest_PROGRAMS = $(TEST_PROGS)
testmetadir = $(datadir)/installed-tests/$(PACKAGE)
testmeta_DATA = $(TEST_PROGS:=.test)
%.test: %$(EXEEXT) Makefile
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(pkglibexecdir)/installed-tests/$<' >> $@.tmp; \
mv $@.tmp $@)
endif

View File

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \ AM_CPPFLAGS = \
$(glib_INCLUDES) \ $(glib_INCLUDES) \
@ -14,7 +14,7 @@ EXTRA_DIST += \
gthread.def \ gthread.def \
gthread.rc.in gthread.rc.in
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
makefile.msc \ makefile.msc \
gthread.rc gthread.rc
@ -26,7 +26,7 @@ lib_LTLIBRARIES = libgthread-2.0.la
if OS_WIN32_AND_DLL_COMPILATION if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE if MS_LIB_AVAILABLE
noinst_DATA = gthread-2.0.lib noinst_DATA += gthread-2.0.lib
install_ms_lib_cmd = $(INSTALL) gthread-2.0.lib $(DESTDIR)$(libdir) install_ms_lib_cmd = $(INSTALL) gthread-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gthread-2.0.lib uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gthread-2.0.lib

View File

@ -1,4 +1,4 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
installed_m4= glib-2.0.m4 glib-gettext.m4 gsettings.m4 installed_m4= glib-2.0.m4 glib-gettext.m4 gsettings.m4

28
m4macros/glibtests.m4 Normal file
View File

@ -0,0 +1,28 @@
dnl GLIB_TESTS
dnl
AC_DEFUN([GLIB_TESTS],
[
AC_ARG_ENABLE(installed-tests,
AS_HELP_STRING([--enable-installed-tests],
[Enable installation of some test cases]),
[case ${enableval} in
yes) ENABLE_INSTALLED_TESTS="1" ;;
no) ENABLE_INSTALLED_TESTS="" ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-installed-tests]) ;;
esac])
AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], test "$ENABLE_INSTALLED_TESTS" = "1")
AC_ARG_ENABLE(always-build-tests,
AS_HELP_STRING([--enable-always-build-tests],
[Enable always building tests during 'make all']),
[case ${enableval} in
yes) ENABLE_ALWAYS_BUILD_TESTS="1" ;;
no) ENABLE_ALWAYS_BUILD_TESTS="" ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-always-build-tests]) ;;
esac])
AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS], test "$ENABLE_ALWAYS_BUILD_TESTS" = "1")
if test "$ENABLE_INSTALLED_TESTS" == "1"; then
AC_SUBST(installed_test_metadir, [${datadir}/installed-tests/]AC_PACKAGE_NAME)
AC_SUBST(installed_testdir, [${libexecdir}/installed-tests/]AC_PACKAGE_NAME)
fi
])

View File

@ -1,27 +1,135 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
insttestdir = $(pkglibexecdir)/installed-tests SUBDIRS = gobject refcount
SUBDIRS=gobject refcount
AM_CPPFLAGS = \
$(gmodule_INCLUDES) \
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
-DG_LOG_DOMAIN=\"GLib\" \
-DSRCDIR=\"$(srcdir)\" \
$(GLIB_DEBUG_FLAGS)
LDADD = $(top_builddir)/glib/libglib-2.0.la
AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS -DG_LOG_DOMAIN=\"GLib\"
AM_CFLAGS = -g AM_CFLAGS = -g
EFENCE= # Some random programs that appear not to be testcases and not used from any testcases
check_PROGRAMS += \
testgdateparser \
unicode-normalize \
$(NULL)
libglib = $(top_builddir)/glib/libglib-2.0.la # So far, this is the only gtester-ified testcase here
libgthread = $(top_builddir)/gthread/libgthread-2.0.la test_programs = \
libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la testglib \
libgobject = $(top_builddir)/gobject/libgobject-2.0.la $(NULL)
# These are not yet gtester-ified, so mark them as for 'installed' only so we
# don't run them under the framework. We will handle them manually below.
installed_test_programs = \
testgdate \
datetime \
atomic-test \
bit-test \
child-test \
completion-test \
dirname-test \
file-test \
env-test \
gio-test \
mainloop-test \
mapping-test \
onceinit \
asyncqueue-test \
qsort-test \
relation-test \
slice-concurrent \
slice-threadinit \
sources \
thread-test \
threadpool-test \
type-test \
unicode-caseconv \
unicode-encoding \
$(NULL)
test_extra_programs = \
slice-test \
slice-color \
assert-msg-test \
unicode-collate \
$(NULL)
if OS_UNIX
test_programs += \
spawn-test \
iochannel-test \
$(NULL)
# These don't appear to work installed and we don't want to run them under gtester either...
dist_uninstalled_test_extra_scripts = \
run-collate-tests.sh \
run-assert-msg-test.sh \
$(NULL)
endif
dist_test_data = \
iochannel-test-infile \
casemap.txt \
casefold.txt \
utf8.txt \
$(NULL)
# Run the 'installed' tests manually in-tree.
# This will cause them to be built even if installed tests are disabled.
check_PROGRAMS += $(installed_test_programs) $(installed_test_extra_programs)
check_SCRIPTS += $(installed_test_scripts)
TESTS += $(installed_test_programs) $(dist_uninstalled_test_extra_scripts)
TESTS_ENVIRONMENT = \
G_TEST_SRCDIR=$(abs_srcdir) \
G_TEST_BUILDDIR=$(abs_builddir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
test_programs += module-test
module_test_DEPENDENCIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
module_test_LDADD = $(LDADD) $(top_builddir)/gmodule/libgmodule-2.0.la
module_test_LDFLAGS = $(G_MODULE_LDFLAGS)
slice_test_SOURCES = slice-test.c memchunks.c
slice_color_SOURCES = slice-color.c memchunks.c
slice_threadinit_LDADD = $(LDADD) $(top_builddir)/gthread/libgthread-2.0.la
test_ltlibraries = libmoduletestplugin_a.la libmoduletestplugin_b.la
libmoduletestplugin_a_la_SOURCES = libmoduletestplugin_a.c
libmoduletestplugin_a_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined)
libmoduletestplugin_a_la_LIBADD = $(G_MODULE_LIBS) ../glib/libglib-2.0.la ../gmodule/libgmodule-2.0.la
libmoduletestplugin_b_la_SOURCES = libmoduletestplugin_b.c
libmoduletestplugin_b_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined)
libmoduletestplugin_b_la_LIBADD = $(G_MODULE_LIBS) ../glib/libglib-2.0.la ../gmodule/libgmodule-2.0.la
if !ENABLE_INSTALLED_TESTS
# see http://lists.gnu.org/archive/html/bug-libtool/2013-05/msg00009.html and gio/tests/Makefile.am
libmoduletestplugin_a_la_LDFLAGS += -rpath /
libmoduletestplugin_b_la_LDFLAGS += -rpath /
endif
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; \
done
mkdir $(distdir)/collate; \
for f in $(srcdir)/collate/* ; do \
if test -f $$f; then cp $$f $(distdir)/collate; fi; \
done
if HAVE_CXX
installed_test_programs += cxx-test
cxx_test_SOURCES = cxx-test.C
endif
if ENABLE_TIMELOOP
installed_test_programs += timeloop
endif
libadd_libgmodule = $(libgmodule)
libadd_libglib = $(libglib)
if PLATFORM_WIN32 if PLATFORM_WIN32
no_undefined = -no-undefined no_undefined = -no-undefined
@ -30,191 +138,27 @@ module_test_exp = module-test.exp
module-test.exp: module-test.o module-test.exp: module-test.o
$(DLLTOOL) --output-exp module-test.exp module-test.o $(DLLTOOL) --output-exp module-test.exp module-test.o
spawn_test_win32_gui = spawn-test-win32-gui installed_test_extra_programs = spawn-test-win32-gui
spawn_test_win32_gui_LDFLAGS = -mwindows spawn_test_win32_gui_LDFLAGS = -mwindows
endif endif
EXTRA_DIST += \ EXTRA_DIST += \
$(test_scripts) \ $(test_scripts) \
makefile.msc.in \ makefile.msc.in \
casefold.txt \
casemap.txt \
gen-casefold-txt.pl \ gen-casefold-txt.pl \
gen-casemap-txt.pl \ gen-casemap-txt.pl \
iochannel-test-infile \ iochannel-test-infile \
utf8.txt \
timeloop-basic.c \ timeloop-basic.c \
assert-msg-test.gdb assert-msg-test.gdb
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
makefile.msc makefile.msc
if HAVE_CXX DISTCLEANFILES += \
CXX_TEST = cxx-test iochannel-test-outfile \
cxx_test_LDADD = $(progs_ldadd) file-test-get-contents \
cxx_test_SOURCES = cxx-test.C maptest \
else mapchild \
CXX_TEST =
endif
if ENABLE_TIMELOOP
timeloop = timeloop
endif
noinst_PROGRAMS = $(TEST_PROGS) \
testgdate \
testgdateparser \
unicode-normalize \
unicode-collate \
$(timeloop) \
assert-msg-test \
datetime
TEST_PROGS += testglib
testglib_SOURCES = testglib.c
testglib_LDADD = $(libglib)
testgdate_LDADD = $(libglib)
testgdateparser_LDADD = $(libglib)
unicode_normalize_LDADD = $(libglib)
unicode_collate_LDADD = $(libglib)
assert_msg_test_LDADD = $(libglib)
if ENABLE_TIMELOOP
timeloop_LDADD = $(libglib)
endif
datetime_LDADD = $(libglib)
test_programs = \
atomic-test \
bit-test \
$(CXX_TEST) \
child-test \
completion-test \
dirname-test \
file-test \
env-test \
gio-test \
iochannel-test \
mainloop-test \
mapping-test \
module-test \
onceinit \
asyncqueue-test \
qsort-test \
relation-test \
slice-test \
slice-color \
slice-concurrent \
slice-threadinit \
sources \
spawn-test \
$(spawn_test_win32_gui) \
thread-test \
threadpool-test \
type-test \
unicode-caseconv \
unicode-encoding
test_scripts = run-collate-tests.sh run-assert-msg-test.sh
test_script_support_programs = unicode-collate
check_PROGRAMS = $(test_programs) $(test_script_support_programs)
TESTS = $(test_programs) $(test_scripts)
TESTS_ENVIRONMENT = srcdir=$(srcdir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
test_data = \
iochannel-test-infile \
casemap.txt \
casefold.txt \
utf8.txt \
$(NULL)
if BUILDOPT_INSTALL_TESTS
insttest_PROGRAMS = $(test_programs)
testmetadir = $(datadir)/installed-tests/$(PACKAGE)
testmeta_DATA = $(test_programs:=.test)
insttest_DATA = $(test_data)
%.test: %$(EXEEXT) 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 $@)
endif
progs_ldadd = $(EFENCE) $(libglib) $(EFENCE)
thread_ldadd = $(libgthread) $(G_THREAD_LIBS) $(progs_ldadd)
module_ldadd = $(libgmodule) $(G_MODULE_LIBS) $(progs_ldadd)
atomic_test_LDADD = $(progs_ldadd)
bit_test_LDADD = $(progs_ldadd)
child_test_LDADD = $(thread_ldadd)
completion_test_LDADD = $(progs_ldadd)
dirname_test_LDADD = $(progs_ldadd)
file_test_LDADD = $(progs_ldadd)
env_test_LDADD = $(progs_ldadd)
gio_test_LDADD = $(progs_ldadd)
iochannel_test_LDADD = $(progs_ldadd)
mainloop_test_LDADD = $(thread_ldadd)
mapping_test_LDADD = $(progs_ldadd)
module_test_LDADD = $(module_ldadd) $(module_test_exp)
module_test_LDFLAGS = $(G_MODULE_LDFLAGS)
onceinit_LDADD = $(thread_ldadd)
asyncqueue_test_LDADD = $(thread_ldadd)
qsort_test_LDADD = $(progs_ldadd)
relation_test_LDADD = $(progs_ldadd)
slice_test_SOURCES = slice-test.c memchunks.c
slice_test_LDADD = $(thread_ldadd)
slice_color_SOURCES = slice-color.c memchunks.c
slice_color_LDADD = $(thread_ldadd)
slice_concurrent_SOURCES = slice-concurrent.c
slice_concurrent_LDADD = $(thread_ldadd)
slice_threadinit_SOURCES = slice-threadinit.c
slice_threadinit_LDADD = $(thread_ldadd)
sources_LDADD = $(progs_ldadd)
spawn_test_LDADD = $(progs_ldadd)
thread_test_LDADD = $(thread_ldadd)
threadpool_test_LDADD = $(thread_ldadd)
type_test_LDADD = $(progs_ldadd)
unicode_encoding_LDADD = $(progs_ldadd)
unicode_caseconv_LDADD = $(progs_ldadd)
if BUILDOPT_INSTALL_TESTS
insttest_LTLIBRARIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
else
noinst_LTLIBRARIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
endif
libmoduletestplugin_a_la_SOURCES = libmoduletestplugin_a.c
libmoduletestplugin_a_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined) -rpath $(insttestdir)
libmoduletestplugin_a_la_LIBADD = $(G_MODULE_LIBS) $(libadd_libgmodule) $(libadd_libglib)
libmoduletestplugin_b_la_SOURCES = libmoduletestplugin_b.c
libmoduletestplugin_b_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined) -rpath $(insttestdir)
libmoduletestplugin_b_la_LIBADD = $(G_MODULE_LIBS) $(libadd_libgmodule) $(libadd_libglib)
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
mkdir $(distdir)/collate; \
for f in $(srcdir)/collate/* ; do \
if test -f $$f; then cp $$f $(distdir)/collate; fi; done
DISTCLEANFILES = \
iochannel-test-outfile \
file-test-get-contents \
maptest \
mapchild \
collate.out collate.out

View File

@ -1,31 +1,50 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \ LDADD = $(top_builddir)/glib/libglib-2.0.la $(top_builddir)/gobject/libgobject-2.0.la
$(gmodule_INCLUDES) \ AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
-DGLIB_DISABLE_DEPRECATION_WARNINGS \ DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS -DG_LOG_DOMAIN=\"GLib\"
$(GLIB_DEBUG_FLAGS) AM_CFLAGS = -g
libglib = $(top_builddir)/glib/libglib-2.0.la # So far, only two gtester-ified cases
libgthread = $(top_builddir)/gthread/libgthread-2.0.la test_programs = \
libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la gvalue-test \
libgobject = $(top_builddir)/gobject/libgobject-2.0.la paramspec-test \
$(NULL)
# These are not yet gtester-ified, so mark them as for 'installed' only so we
# don't run them under the framework. We will handle them manually below.
installed_test_programs = \
deftype \
accumulator \
defaultiface \
dynamictype \
override \
singleton \
references \
$(NULL)
# libtool dependency tracking seems broken. this is currently # Don't install these ones, and keep them out of 'make check' because they take too long...
# required to get the tests to dynamic link against the in-tree noinst_PROGRAMS += \
# libglib instead of the system one performance \
libgobject += $(libglib) performance-threaded \
$(NULL)
######################################################################## # Run the 'installed' tests manually in-tree.
# This will cause them to be built even if installed tests are disabled.
check_PROGRAMS += $(installed_test_programs) $(installed_test_extra_programs)
TESTS = $(installed_test_programs)
TESTS_ENVIRONMENT = \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
noinst_LTLIBRARIES = libtestgobject.la accumulator_SOURCES = accumulator.c testmarshal.c testmarshal.h
defaultiface_SOURCES = defaultiface.c testmodule.c testmodule.h
dynamictype_SOURCES = dynamictype.c testmodule.c testmodule.h
libtestgobject_la_SOURCES = \ if ENABLE_TIMELOOP
testcommon.h \ installed_test_programs += timeloop-closure
testmarshal.h \ endif
testmarshal.c \
testmodule.c \
testmodule.h
if CROSS_COMPILING if CROSS_COMPILING
glib_genmarshal=$(GLIB_GENMARSHAL) glib_genmarshal=$(GLIB_GENMARSHAL)
@ -45,63 +64,14 @@ testmarshal.c: @REBUILD@ testmarshal.h testmarshal.list $(glib_genmarshal)
&& cp xgen-gmc testmarshal.c \ && cp xgen-gmc testmarshal.c \
&& rm -f xgen-gmc xgen-gmc~ && rm -f xgen-gmc xgen-gmc~
BUILT_SOURCES = testmarshal.h testmarshal.c BUILT_SOURCES += testmarshal.h testmarshal.c
CLEANFILES = stamp-testmarshal.h CLEANFILES += stamp-testmarshal.h
######################################################################## EXTRA_DIST += \
testcommon.h \
LDADD = libtestgobject.la $(libgobject)
test_programs = \
deftype \
gvalue-test \
paramspec-test \
accumulator \
defaultiface \
dynamictype \
override \
singleton \
references
performance_programs = \
performance \
performance-threaded
performance_LDADD = $(libgobject) $(libgthread)
performance_threaded_LDADD = $(libgobject) $(libgthread)
check_PROGRAMS = $(test_programs)
noinst_PROGRAMS = $(performance_programs) testgobject
if ENABLE_TIMELOOP
noinst_PROGRAMS += timeloop-closure
endif
TESTS = $(test_programs) $(performance_programs)
TESTS_ENVIRONMENT = srcdir=$(srcdir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
if BUILDOPT_INSTALL_TESTS
insttestdir = $(pkglibexecdir)/installed-tests
insttest_PROGRAMS = $(test_programs)
testmetadir = $(datadir)/installed-tests/$(PACKAGE)
testmeta_DATA = $(test_programs:=.test)
%.test: %$(EXEEXT) 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 $@)
endif
########################################################################
EXTRA_DIST += \
testmarshal.list testmarshal.list
BUILT_EXTRA_DIST = \ BUILT_EXTRA_DIST += \
testmarshal.h \ testmarshal.h \
testmarshal.c testmarshal.c
@ -115,5 +85,3 @@ distclean-local:
if test $(srcdir) = .; then :; else \ if test $(srcdir) = .; then :; else \
rm -f $(BUILT_EXTRA_DIST); \ rm -f $(BUILT_EXTRA_DIST); \
fi fi

View File

@ -1,17 +1,12 @@
include $(top_srcdir)/Makefile.decl include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \ LDADD = $(top_builddir)/glib/libglib-2.0.la $(top_builddir)/gobject/libgobject-2.0.la
$(gmodule_INCLUDES) \ AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
-DGLIB_DISABLE_DEPRECATION_WARNINGS \ DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS
$(GLIB_DEBUG_FLAGS) AM_CFLAGS = -g
libglib = $(top_builddir)/glib/libglib-2.0.la # These are not gtester tests, so handle them manually
libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la TESTS = \
libgobject = $(top_builddir)/gobject/libgobject-2.0.la
LDADD = $(libglib) $(libgobject)
test_programs = \
closures \ closures \
objects \ objects \
objects2 \ objects2 \
@ -22,9 +17,11 @@ test_programs = \
signal1 \ signal1 \
signal2 \ signal2 \
signal3 \ signal3 \
signal4 signal4 \
$(NULL)
TESTS_ENVIRONMENT = srcdir=$(srcdir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
signal1_SOURCES = signals.c signal1_SOURCES = signals.c
signal1_CFLAGS = -DTESTNUM=1 $(AM_CFLAGS) signal1_CFLAGS = -DTESTNUM=1 $(AM_CFLAGS)
@ -35,10 +32,4 @@ signal3_CFLAGS = -DTESTNUM=3 $(AM_CFLAGS)
signal4_SOURCES = signals.c signal4_SOURCES = signals.c
signal4_CFLAGS = -DTESTNUM=4 $(AM_CFLAGS) signal4_CFLAGS = -DTESTNUM=4 $(AM_CFLAGS)
check_PROGRAMS = $(test_programs) check_PROGRAMS += $(TESTS)
all: $(check_PROGRAMS)
TESTS = $(test_programs)
TESTS_ENVIRONMENT = srcdir=$(srcdir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset