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
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
# http://people.gnome.org/~walters/docs/build-api.txt
.buildapi-allow-builddir:
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
if BUILD_MODULAR_TESTS
SUBDIRS += tests
else
DIST_SUBDIRS += tests
endif
bin_SCRIPTS = glib-gettextize
if OS_LINUX
TESTS = check-abis.sh
TESTS += check-abis.sh
endif
AM_CPPFLAGS = \
@ -49,7 +44,7 @@ EXTRA_DIST += \
README.win32 \
HACKING \
autogen.sh \
Makefile.decl \
glib.mk \
makefile.msc \
msvc_recommended_pragmas.h \
config.h.win32.in \
@ -67,7 +62,7 @@ EXTRA_DIST += \
# These may be in the builddir too
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
README \
INSTALL \
ChangeLog \
@ -105,7 +100,7 @@ $(pkgconfig_DATA): config.status
# build documentation when doing distcheck
DISTCHECK_CONFIGURE_FLAGS = --enable-debug --enable-gtk-doc --enable-man --disable-maintainer-mode
DISTCLEANFILES = config.lt
DISTCLEANFILES += config.lt
distclean-local: lcov-clean
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],
[disable all source autogeneration rules])],,
[enable_rebuilds=yes])
AC_ARG_ENABLE(modular_tests,
AS_HELP_STRING([--disable-modular-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)
GLIB_TESTS
AC_MSG_CHECKING([whether to enable garbage collector friendliness])
AS_IF([test "x$enable_gc_friendly" = "xyes"], [
@ -2710,7 +2702,7 @@ dnl ******************************************************************
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)
if test x$GLIB_GENMARSHAL = xno; then
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
#
# 1.2.14 required for dbus_message_set_serial
AS_IF([ test x$enable_modular_tests = xyes], [
PKG_CHECK_MODULES(DBUS1,
dbus-1 >= 1.2.14,
[AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes],
have_dbus1=no)
AC_SUBST(DBUS1_CFLAGS)
AC_SUBST(DBUS1_LIBS)
])
PKG_CHECK_MODULES(DBUS1,
dbus-1 >= 1.2.14,
[AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes],
have_dbus1=no)
AC_SUBST(DBUS1_CFLAGS)
AC_SUBST(DBUS1_LIBS)
AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"])
AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon])

View File

@ -1,6 +1,4 @@
include $(top_srcdir)/Makefile.decl
NULL =
include $(top_srcdir)/glib.mk
SUBDIRS = gdbus-2.0/codegen
@ -10,7 +8,7 @@ endif
if OS_WIN32_AND_DLL_COMPILATION
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)
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
endif
SUBDIRS += .
SUBDIRS += . tests
if HAVE_FAM
SUBDIRS += fam
@ -327,10 +325,6 @@ giowin32include_HEADERS = \
endif
if BUILD_MODULAR_TESTS
SUBDIRS += tests
endif
libgio_2_0_la_SOURCES = \
gappinfo.c \
gasynchelper.c \
@ -622,7 +616,7 @@ gioinclude_HEADERS = \
gioenumtypes.h
# these sources (also mentioned above) are generated.
BUILT_SOURCES = \
BUILT_SOURCES += \
gconstructor_as_data.h \
gioenumtypes.h \
gioenumtypes.c \
@ -642,17 +636,17 @@ EXTRA_DIST += \
gnetworking.h.win32 \
$(NULL)
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
gio.rc
# This is read by gobject-introspection/misc/ and gtk-doc
gio-public-headers.txt: Makefile
$(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.c

View File

@ -1,6 +1,4 @@
include $(top_srcdir)/Makefile.decl
NULL =
include $(top_srcdir)/glib.mk
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 = \
fen-dump.c \

View File

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

View File

@ -1126,7 +1126,7 @@ parse_state_start_schema (ParseState *state,
{
g_set_error (error, G_MARKUP_ERROR,
G_MARKUP_ERROR_INVALID_CONTENT,
_("<schema id='%s'> extends not-yet-existing "
_("<schema id='%s'> extends not yet existing "
"schema '%s'"), id, extends_name);
return;
}
@ -1142,7 +1142,7 @@ parse_state_start_schema (ParseState *state,
{
g_set_error (error, G_MARKUP_ERROR,
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);
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 = \
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 = \
gkqueuefilemonitor.c \

View File

@ -1,311 +1,101 @@
NULL =
BUILT_SOURCES =
include $(top_srcdir)/Makefile.decl
insttestdir = $(pkglibexecdir)/installed-tests
include $(top_srcdir)/glib.mk
dist_uninstalled_test_data =
test_ltlibraries =
SUBDIRS = gdbus-object-manager-example services
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-I$(top_builddir)/gio \
-I$(top_srcdir)/gio \
$(DBUS1_CFLAGS) \
-DSRCDIR=\""$(srcdir)"\" \
-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 \
LDADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-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 \
memory-input-stream \
memory-output-stream \
readwrite \
g-file \
g-file-info \
converter-stream \
data-input-stream \
data-output-stream \
g-icon \
buffered-input-stream \
buffered-output-stream \
sleepy-stream \
filter-streams \
volumemonitor \
simple-async-result \
srvtarget \
contexts \
gsettings \
gschema-compile \
async-close-output-stream \
gdbus-addresses \
network-address \
gdbus-message \
socket \
pollable \
tls-certificate \
tls-interaction \
cancellable \
vfs \
network-monitor \
fileattributematcher \
resources \
proxy-test \
simple-proxy \
inet-address \
permission \
task \
credentials \
# -----------------------------------------------------------------------------
# Test programs buildable on all platforms
test_programs = \
io-stream \
memory-input-stream \
memory-output-stream \
readwrite \
g-file \
g-file-info \
converter-stream \
data-input-stream \
data-output-stream \
g-icon \
buffered-input-stream \
buffered-output-stream \
sleepy-stream \
filter-streams \
volumemonitor \
simple-async-result \
srvtarget \
contexts \
async-close-output-stream \
gdbus-addresses \
network-address \
gdbus-message \
socket \
pollable \
tls-interaction \
cancellable \
vfs \
network-monitor \
fileattributematcher \
proxy-test \
simple-proxy \
inet-address \
permission \
task \
credentials \
$(NULL)
if HAVE_DBUS_DAEMON
test_progs += \
actions \
gdbus-connection \
gdbus-connection-loss \
gdbus-connection-slow \
gdbus-names \
gdbus-proxy \
gdbus-proxy-threads \
gdbus-proxy-well-known-name \
gdbus-introspection \
gdbus-threading \
gdbus-export \
gdbus-error \
gdbus-bz627724 \
gmenumodel \
$(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 \
uninstalled_test_programs = \
$(NULL)
other_progs = \
gdbus-testserver \
gdbus-connection-flush-helper \
$(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 \
dist_test_data = \
contexts.c \
g-icon.c \
$(NULL)
other_progs += \
appinfo-test \
test_data = \
test.gresource \
$(NULL)
SAMPLE_PROGS += \
gdbus-example-unix-fd-client \
gdbus-example-objectmanager-server \
gdbus-example-objectmanager-client \
gdbus-test-fixture \
$(NULL)
endif
if OS_WIN32
TEST_PROGS += win32-streams
endif
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
actions_SOURCES = actions.c gdbus-sessionbus.c gdbus-sessionbus.h
unix_streams_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
win32_streams_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
resolver_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
socket_server_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
socket_client_SOURCES = socket-client.c \
gtlsconsoleinteraction.c \
gtlsconsoleinteraction.h
socket_client_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
echo_server_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
httpd_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
send_data_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
contexts_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
gdbus_daemon_SOURCES = gdbus-daemon.c $(top_srcdir)/gio/gdbusdaemon.c $(top_builddir)/gio/gdbus-daemon-generated.c
gdbus_testserver_SOURCES = gdbus-testserver.c
if HAVE_DBUS1
test_progs += gdbus-serialization
gdbus_serialization_SOURCES = gdbus-serialization.c gdbus-tests.h gdbus-tests.c
gdbus_serialization_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
gdbus_serialization_LDADD = $(LDADD) $(DBUS1_LIBS)
endif
test_progs += gdbus-auth
gdbus_auth_SOURCES = gdbus-auth.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_auth_LDADD = $(LDADD)
gdbus_bz627724_SOURCES = gdbus-bz627724.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_close_pending_SOURCES = gdbus-close-pending.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
if OS_UNIX
gdbus-test-codegen-generated.h gdbus-test-codegen-generated.c : test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
--interface-prefix org.project. \
--generate-c-code gdbus-test-codegen-generated \
--c-generate-object-manager \
--c-namespace Foo_iGen \
--generate-docbook gdbus-test-codegen-generated-doc \
--annotate "org.project.Bar" Key1 Value1 \
--annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
--annotate "org.project.Bar.HelloWorld()" Key3 Value3 \
--annotate "org.project.Bar::TestSignal" Key4 Value4 \
--annotate "org.project.Bar:ay" Key5 Value5 \
--annotate "org.project.Bar.TestPrimitiveTypes()[val_int32]" Key6 Value6 \
--annotate "org.project.Bar.TestPrimitiveTypes()[ret_uint32]" Key7 Value7 \
--annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
$(srcdir)/test-codegen.xml \
$(NULL)
BUILT_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
gdbus_test_codegen_SOURCES = gdbus-test-codegen.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_test_codegen_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
endif # OS_UNIX
gdbus_connection_SOURCES = gdbus-connection.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_connection_flush_SOURCES = \
gdbus-connection-flush.c \
test-io-stream.c \
test-io-stream.h \
test-pipe-unix.c \
test-pipe-unix.h \
uninstalled_test_extra_programs = \
resolver \
socket-server \
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 \
$(NULL)
gdbus_connection_loss_SOURCES = gdbus-connection-loss.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_connection_slow_SOURCES = gdbus-connection-slow.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_names_SOURCES = gdbus-names.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_proxy_SOURCES = gdbus-proxy.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_proxy_threads_SOURCES = gdbus-proxy-threads.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_proxy_well_known_name_SOURCES = gdbus-proxy-well-known-name.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_introspection_SOURCES = gdbus-introspection.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_threading_SOURCES = gdbus-threading.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_export_SOURCES = gdbus-export.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_error_SOURCES = gdbus-error.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
gdbus_non_socket_SOURCES = \
gdbus-non-socket.c \
gdbus-tests.c \
gdbus-tests.h \
test-io-stream.c \
test-io-stream.h \
test-pipe-unix.c \
test-pipe-unix.h \
test_extra_programs = \
gdbus-testserver \
gdbus-connection-flush-helper \
$(NULL)
gdbus_exit_on_close_SOURCES = gdbus-exit-on-close.c gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
resources_SOURCES = resources.c test_resources.c test_resources2.c test_resources2.h
resources_DEPENDENCIES = test.gresource
gapplication_SOURCES = gapplication.c gdbus-sessionbus.h gdbus-sessionbus.c gdbus-tests.h gdbus-tests.c
gmenumodel_SOURCES = gmenumodel.c gdbus-sessionbus.h gdbus-sessionbus.c
TEST_PROGS += $(test_progs)
TESTS_ENVIRONMENT = \
GLIB_MKENUMS=../../gobject/glib-mkenums \
GLIB_COMPILE_SCHEMAS=../glib-compile-schemas
dist_uninstalled_test_data += $(addprefix schema-tests/,$(schema_tests))
schema_tests = \
array-default-not-in-choices.gschema.xml \
bad-choice.gschema.xml \
@ -358,7 +148,7 @@ schema_tests = \
key-in-list-indirect.gschema.xml \
key-in-list.gschema.xml \
list-of-missing.gschema.xml \
missing-quotes.gschema.xml \
missing-quotes.gschema.xml \
no-default.gschema.xml \
overflow.gschema.xml \
override-missing.gschema.xml \
@ -380,78 +170,257 @@ schema_tests = \
wrong-category.gschema.xml \
$(NULL)
schema_test_files = $(addprefix schema-tests/,$(schema_tests))
proxy_LDADD = $(LDADD) \
$(top_builddir)/gthread/libgthread-2.0.la
tls_certificate_SOURCES = tls-certificate.c gtesttlsbackend.c gtesttlsbackend.h
cert_tests = \
cert1.pem \
cert2.pem \
cert3.pem \
cert-key.pem \
cert-list.pem \
key8.pem \
key-cert.pem \
key.pem \
nothing.pem \
test_programs += tls-certificate
tls_certificate_SOURCES = \
tls-certificate.c \
gtesttlsbackend.c \
gtesttlsbackend.h
dist_test_data += $(cert_data_files)
cert_data_files = $(addprefix cert-tests/,$(cert_tests))
cert_tests = \
cert1.pem \
cert2.pem \
cert3.pem \
cert-key.pem \
cert-list.pem \
key8.pem \
key-cert.pem \
key.pem \
nothing.pem \
$(NULL)
cert_test_files = $(addprefix cert-tests/,$(cert_tests))
uninstalled_test_extra_programs += socket-client
socket_client_SOURCES = \
socket-client.c \
gtlsconsoleinteraction.c \
gtlsconsoleinteraction.h
EXTRA_DIST += socket-common.c
uninstalled_test_extra_programs += gdbus-daemon
nodist_gdbus_daemon_SOURCES = \
$(top_builddir)/gio/gdbus-daemon-generated.c
gdbus_daemon_SOURCES = \
gdbus-daemon.c \
$(top_srcdir)/gio/gdbusdaemon.c
# -----------------------------------------------------------------------------
# Test programs buildable on UNIX only
if OS_UNIX
gdbus_example_objectmanager_server_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example
gdbus_example_objectmanager_server_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
test_programs += \
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
gdbus_example_objectmanager_client_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
# Uninstalled because of the check-for-executable logic in DesktopAppInfo unable to find the installed executable
uninstalled_test_programs += \
appinfo \
desktop-app-info \
$(NULL)
gdbus_peer_SOURCES = gdbus-peer.c gdbus-tests.h gdbus-tests.c
gdbus_peer_CFLAGS = $(AM_CFLAGS) -I$(top_builddir)/gio/tests/gdbus-object-manager-example
gdbus_peer_LDADD = $(top_builddir)/gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
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 = \
dist_test_data += \
appinfo-test.desktop \
appinfo-test2.desktop \
appinfo-test-gnome.desktop \
appinfo-test-notgnome.desktop \
file.c \
$(NULL)
EXTRA_DIST += \
socket-common.c \
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) \
test_extra_programs += \
appinfo-test \
$(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
$(MSGFMT) -o test.mo $(srcdir)/de.po; \
$(AM_V_GEN) $(MSGFMT) -o test.mo $(srcdir)/de.po; \
$(MKDIR_P) de/LC_MESSAGES; \
cp -f test.mo de/LC_MESSAGES
EXTRA_DIST += de.po
dist_uninstalled_test_data += \
org.gtk.test.gschema.xml \
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
glib_compile_resources=$(GLIB_COMPILE_RESOURCES)
@ -459,7 +428,7 @@ else
glib_compile_resources=$(top_builddir)/gio/glib-compile-resources
endif
BUILT_SOURCES += test_resources.c test_resources2.c test_resources2.h
resources.o: test_resources2.h
test_resources.c: test2.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test2.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name _g_test1 $<
@ -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)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) $<
if BUILDOPT_INSTALL_TESTS
insttest_LTLIBRARIES = libresourceplugin.la
else
noinst_LTLIBRARIES = libresourceplugin.la
endif
EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
libresourceplugin_la_SOURCES = resourceplugin.c plugin_resources.c
libresourceplugin_la_LDFLAGS = -avoid-version -module $(no_undefined) -rpath $(insttestdir)
libresourceplugin_la_LIBADD = $(LDADD)
CLEANFILES = gdbus-test-codegen-generated.[ch] gdbus-test-codegen-generated-doc-*.xml test_resources2.[ch] plugin_resources.c
DISTCLEANFILES = \
applications/mimeinfo.cache \
org.gtk.test.enums.xml \
de/LC_MESSAGES/test.mo \
test.mo \
test.gresource \
test_resources.c \
gsettings.store \
gschemas.compiled \
schema-source/gschemas.compiled
distclean-local:
rm -rf xdgdatahome xdgdatadir
test_files = \
contexts.c \
g-icon.c \
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
CLEANFILES += test_resources.c test_resources2.[ch] plugin_resources.c test.gresource

View File

@ -15,6 +15,12 @@ test_launch (void)
const gchar *path;
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);
appinfo = (GAppInfo*)g_desktop_app_info_new_from_filename (path);
g_assert (appinfo != NULL);

View File

@ -91,7 +91,7 @@ test_type (void)
g_assert_cmpint (type, ==, G_FILE_TYPE_REGULAR);
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);
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 =
BUILT_SOURCES =
CLEANFILES =
include $(top_srcdir)/glib.mk
include $(top_srcdir)/Makefile.decl
AM_CPPFLAGS = \
-g \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-I$(top_builddir)/gio \
-I$(top_srcdir)/gio \
-DSRCDIR=\""$(srcdir)"\"
AM_CPPFLAGS = -g $(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) -I$(top_builddir)/gio -I$(top_srcdir)/gio
# ------------------------------------------------------------------------
GDBUS_GENERATED = \
gdbus-example-objectmanager-generated.h \
gdbus-example-objectmanager-generated.c \
GDBUS_GENERATED = \
gdbus-example-objectmanager-generated.h \
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.Cat.xml \
gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml \
$(NULL)
$(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)
BUILT_SOURCES += $(GDBUS_GENERATED)
test_ltlibraries = libgdbus-example-objectmanager.la
noinst_LTLIBRARIES = libgdbus-example-objectmanager.la
libgdbus_example_objectmanager_la_SOURCES = gdbus-example-objectmanager-generated.h gdbus-example-objectmanager-generated.c
libgdbus_example_objectmanager_la_LIBADD = \
if ENABLE_GTK_DOC
# The docs pull these in, so we need them even if not doing 'make check'
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)/gobject/libgobject-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
CLEANFILES += $(GDBUS_GENERATED)

View File

@ -53,7 +53,7 @@
#include "gdbus-tests.h"
#include "gdbus-example-objectmanager-generated.h"
#include "gdbus-object-manager-example/gdbus-example-objectmanager-generated.h"
#ifdef G_OS_UNIX
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*" },
{ "from-docs", 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-self", NULL, "*not-yet-existing*" },
{ "extend-self", NULL, "*not yet existing*" },
{ "extend-wrong-list-indirect", 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", 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-indirect", NULL, "*shadows*use <override>*" },
{ "override", NULL, NULL },

View File

@ -660,14 +660,20 @@ test_l10n (void)
str = NULL;
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);
g_assert_cmpstr (str, ==, "Unbenannt");
g_object_unref (settings);
g_free (str);
str = NULL;
g_free (locale);
}
@ -701,14 +707,20 @@ test_l10n_context (void)
str = NULL;
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);
g_assert_cmpstr (str, ==, "Löschen");
g_object_unref (settings);
g_free (str);
str = NULL;
g_free (locale);
}
@ -1578,24 +1590,6 @@ test_child_schema (void)
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"
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/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-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 = \
gwin32directorymonitor.c \

View File

@ -1,8 +1,8 @@
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = -DXDG_PREFIX=_gio_xdg
noinst_LTLIBRARIES = libxdgmime.la
noinst_LTLIBRARIES += libxdgmime.la
libxdgmime_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
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
include $(top_srcdir)/Makefile.decl
BUILT_SOURCES =
DISTCLEANFILES =
CLEANFILES =
include $(top_srcdir)/glib.mk
#
# Generate glibconfig.h
@ -35,11 +31,8 @@ else
MAYBE_PCRE = pcre
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
if BUILD_MODULAR_TESTS
SUBDIRS += tests
endif
AM_CPPFLAGS = \
$(glib_INCLUDES) \
@ -77,7 +70,7 @@ EXTRA_DIST += \
CLEANFILES += libglib-gdb.py
# These may be in the builddir too
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
makefile.msc \
glibconfig.h.win32 \
glib.rc
@ -86,7 +79,7 @@ lib_LTLIBRARIES = libglib-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
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)
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
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(glib_INCLUDES) \
@ -8,7 +8,7 @@ AM_CPPFLAGS = \
-DG_DISABLE_DEPRECATED \
-DGLIB_COMPILATION
noinst_LTLIBRARIES = libgnulib.la
noinst_LTLIBRARIES += libgnulib.la
libgnulib_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libgnulib_la_SOURCES = \

View File

@ -1,11 +1,11 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
-DLIBDIR=\"$(libdir)\" \
$(config_h_INCLUDES)
noinst_LTLIBRARIES = libcharset.la
noinst_LTLIBRARIES += libcharset.la
libcharset_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libcharset_la_SOURCES = \
@ -63,4 +63,4 @@ SUFFIXES = .sed .sin
$(AM_V_GEN) $(SED) -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > 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 = \
-DG_LOG_DOMAIN=\"GLib-GRegex\" \

View File

@ -1,81 +1,31 @@
include $(top_srcdir)/Makefile.decl
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)
include $(top_srcdir)/glib.mk
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)
all_test_programs = \
dist_test_extra_scripts = \
echo-script \
$(NULL)
test_extra_programs = \
test-spawn-echo \
$(NULL)
test_programs = \
array-test \
asyncqueue \
atomic \
base64 \
bitlock \
bookmarkfile \
@ -130,7 +80,7 @@ all_test_programs = \
spawn-singlethread \
strfuncs \
string \
testing \
testing \
test-printf \
thread \
timeout \
@ -144,63 +94,79 @@ all_test_programs = \
uri \
1bit-mutex \
642026 \
642026-ec
$(NULL)
if OS_UNIX
all_test_programs += unix
all_test_programs += include
endif
uninstalled_test_programs = \
$(NULL)
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
TEST_PROGS += $(all_test_programs)
noinst_PROGRAMS = $(TEST_PROGS) $(extra_test_binaries)
endif
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)
if BUILDOPT_INSTALL_TESTS
insttest_PROGRAMS = $(all_test_programs) $(extra_test_binaries)
testmetadir = $(datadir)/installed-tests/$(PACKAGE)
testmeta_DATA = $(all_test_programs:=.test)
dist_test_data += $(all_markup_data)
all_markup_data = $(addprefix markups/,$(markup_tests:=.gmarkup) $(markup_tests:=.expected))
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)
if HAVE_GCC
atomic_CFLAGS += -Wstrict-aliasing=2
endif
test_programs += 642026-ec
642026_ec_SOURCES = 642026.c
642026_ec_CFLAGS = -DG_ERRORCHECK_MUTEXES
uninstalled_test_programs += 1bit-emufutex
1bit_emufutex_SOURCES = 1bit-mutex.c
1bit_emufutex_CFLAGS = $(AM_CFLAGS) -DTEST_EMULATED_FUTEX
uninstalled_test_programs += gwakeup
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
test_programs += \
unix \
include \
$(NULL)
# some testing of gtester functionality
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}
${XMLLINT} --version 2>/dev/null; test "$$?" != 0 || ${XMLLINT} --noout tmpsample.xml
CLEANFILES += tmpsample.xml
check-am: gtester-xmllint-check
private_LDFLAGS = @G_THREAD_LIBS@
endif
CLEANFILES = \
tmpsample.xml
# -----------------------------------------------------------------------------
EXTRA_DIST += \
$(bookmark_test_files) \
$(all_markup_test_files) \
$(test_files) \
$(test_script_files) \
bookmarks.xbel \
$(NULL)
if HAVE_EVENTFD
uninstalled_test_programs += gwakeup-fallback
gwakeup_fallback_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
gwakeup_fallback_CFLAGS = $(AM_CFLAGS) -DTEST_EVENTFD_FALLBACK
endif
# -----------------------------------------------------------------------------
EXTRA_DIST += bookmarks.xbel

View File

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

View File

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(glib_INCLUDES) \
@ -22,11 +22,11 @@ EXTRA_DIST += \
gmoduleconf.h.win32 \
gmodule.rc.in
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
makefile.msc \
gmodule.rc
BUILT_SOURCES = gmoduleconf.h
BUILT_SOURCES += gmoduleconf.h
gmoduleconf.h: gmoduleconf.h.in
glibincludedir=$(includedir)/glib-2.0
@ -41,7 +41,7 @@ lib_LTLIBRARIES = libgmodule-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
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)
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.
#
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
SUBDIRS = .
if BUILD_MODULAR_TESTS
SUBDIRS += tests
endif
BUILT_SOURCES=
CLEANFILES=
SUBDIRS = . tests
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GObject\" \
@ -27,7 +21,7 @@ lib_LTLIBRARIES = libgobject-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
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)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gobject-2.0.lib
@ -210,7 +204,7 @@ EXTRA_DIST += \
CLEANFILES += libgobject-gdb.py
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
makefile.msc \
gobject.rc

View File

@ -1,66 +1,48 @@
include $(top_srcdir)/Makefile.decl
NULL =
AM_CPPFLAGS = \
-g \
-DG_LOG_DOMAIN=\"GLib-GObject\" \
$(gobject_INCLUDES) \
$(GLIB_DEBUG_FLAGS)
include $(top_srcdir)/glib.mk
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)
# -----------------------------------------------------------------------------
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
glib_genmarshal=$(GLIB_GENMARSHAL)
else
glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
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
$(AM_V_GEN) $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --header --valist-marshallers > marshalers.h
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 $@
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
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(glib_INCLUDES) \
@ -14,7 +14,7 @@ EXTRA_DIST += \
gthread.def \
gthread.rc.in
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
makefile.msc \
gthread.rc
@ -26,7 +26,7 @@ lib_LTLIBRARIES = libgthread-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
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)
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

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
AM_CPPFLAGS = \
$(gmodule_INCLUDES) \
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
-DG_LOG_DOMAIN=\"GLib\" \
-DSRCDIR=\"$(srcdir)\" \
$(GLIB_DEBUG_FLAGS)
SUBDIRS = gobject refcount
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
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
libgthread = $(top_builddir)/gthread/libgthread-2.0.la
libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la
libgobject = $(top_builddir)/gobject/libgobject-2.0.la
# So far, this is the only gtester-ified testcase here
test_programs = \
testglib \
$(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
no_undefined = -no-undefined
@ -30,191 +138,27 @@ module_test_exp = module-test.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
endif
EXTRA_DIST += \
EXTRA_DIST += \
$(test_scripts) \
makefile.msc.in \
casefold.txt \
casemap.txt \
gen-casefold-txt.pl \
gen-casemap-txt.pl \
iochannel-test-infile \
utf8.txt \
timeloop-basic.c \
assert-msg-test.gdb
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
makefile.msc
if HAVE_CXX
CXX_TEST = cxx-test
cxx_test_LDADD = $(progs_ldadd)
cxx_test_SOURCES = cxx-test.C
else
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 \
DISTCLEANFILES += \
iochannel-test-outfile \
file-test-get-contents \
maptest \
mapchild \
collate.out

View File

@ -1,31 +1,50 @@
include $(top_srcdir)/Makefile.decl
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(gmodule_INCLUDES) \
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
$(GLIB_DEBUG_FLAGS)
LDADD = $(top_builddir)/glib/libglib-2.0.la $(top_builddir)/gobject/libgobject-2.0.la
AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS -DG_LOG_DOMAIN=\"GLib\"
AM_CFLAGS = -g
libglib = $(top_builddir)/glib/libglib-2.0.la
libgthread = $(top_builddir)/gthread/libgthread-2.0.la
libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la
libgobject = $(top_builddir)/gobject/libgobject-2.0.la
# So far, only two gtester-ified cases
test_programs = \
gvalue-test \
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
# required to get the tests to dynamic link against the in-tree
# libglib instead of the system one
libgobject += $(libglib)
# Don't install these ones, and keep them out of 'make check' because they take too long...
noinst_PROGRAMS += \
performance \
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 = \
testcommon.h \
testmarshal.h \
testmarshal.c \
testmodule.c \
testmodule.h
if ENABLE_TIMELOOP
installed_test_programs += timeloop-closure
endif
if CROSS_COMPILING
glib_genmarshal=$(GLIB_GENMARSHAL)
@ -45,63 +64,14 @@ testmarshal.c: @REBUILD@ testmarshal.h testmarshal.list $(glib_genmarshal)
&& cp xgen-gmc testmarshal.c \
&& rm -f xgen-gmc xgen-gmc~
BUILT_SOURCES = testmarshal.h testmarshal.c
CLEANFILES = stamp-testmarshal.h
BUILT_SOURCES += testmarshal.h testmarshal.c
CLEANFILES += stamp-testmarshal.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 += \
EXTRA_DIST += \
testcommon.h \
testmarshal.list
BUILT_EXTRA_DIST = \
BUILT_EXTRA_DIST += \
testmarshal.h \
testmarshal.c
@ -115,5 +85,3 @@ distclean-local:
if test $(srcdir) = .; then :; else \
rm -f $(BUILT_EXTRA_DIST); \
fi

View File

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