SUBDIRS = .
-AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
-AM_CPPFLAGS += $(BOOST_INCLUDES)
+# Define the flags used in each set of tests.
+AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
+AM_CPPFLAGS += $(BOOST_INCLUDES) $(GTEST_INCLUDES) $(LOG4CPLUS_INCLUDES)
+
AM_CXXFLAGS = $(KEA_CXXFLAGS)
-AM_LDADD =
-AM_LDFLAGS =
+AM_LDADD =
+AM_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
+AM_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la
+AM_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
+AM_LDADD += $(LOG4CPLUS_LIBS) $(GTEST_LDADD)
+
+AM_LDFLAGS =
if USE_STATIC_LINK
AM_LDFLAGS += -static
endif
CLEANFILES = *.gcno *.gcda *.lock
-DISTCLEANFILES = buffer_logger_test.sh
-DISTCLEANFILES += console_test.sh destination_test.sh init_logger_test.sh
-DISTCLEANFILES += local_file_test.sh logger_lock_test.sh severity_test.sh
-DISTCLEANFILES += tempdir.h
+DISTCLEANFILES = tempdir.h
EXTRA_DIST = log_test_messages.mes
-noinst_PROGRAMS = logger_example
+# Helper programs used in shell tests
+TEST_HELPERS = logger_example
logger_example_SOURCES = logger_example.cc
logger_example_CPPFLAGS = $(AM_CPPFLAGS)
+logger_example_CXXFLAGS = $(AM_CXXFLAGS)
+logger_example_LDADD = $(AM_LDADD)
logger_example_LDFLAGS = $(AM_LDFLAGS)
-logger_example_LDADD = $(top_builddir)/src/lib/log/libkea-log.la
-logger_example_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
-logger_example_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
-logger_example_LDADD += $(AM_LDADD) $(LOG4CPLUS_LIBS)
-noinst_PROGRAMS += init_logger_test
+TEST_HELPERS += init_logger_test
init_logger_test_SOURCES = init_logger_test.cc
init_logger_test_CPPFLAGS = $(AM_CPPFLAGS)
+init_logger_test_CXXFLAGS = $(AM_CXXFLAGS)
+init_logger_test_LDADD = $(AM_LDADD)
init_logger_test_LDFLAGS = $(AM_LDFLAGS)
-init_logger_test_LDADD = $(top_builddir)/src/lib/log/libkea-log.la
-init_logger_test_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
-init_logger_test_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
-init_logger_test_LDADD += $(AM_LDADD) $(LOG4CPLUS_LIBS)
-noinst_PROGRAMS += buffer_logger_test
+TEST_HELPERS += buffer_logger_test
buffer_logger_test_SOURCES = buffer_logger_test.cc
buffer_logger_test_CPPFLAGS = $(AM_CPPFLAGS)
+buffer_logger_test_CXXFLAGS = $(AM_CXXFLAGS)
+buffer_logger_test_LDADD = $(AM_LDADD)
buffer_logger_test_LDFLAGS = $(AM_LDFLAGS)
-buffer_logger_test_LDADD = $(top_builddir)/src/lib/log/libkea-log.la
-buffer_logger_test_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
-buffer_logger_test_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
-buffer_logger_test_LDADD += $(AM_LDADD) $(LOG4CPLUS_LIBS)
-noinst_PROGRAMS += logger_lock_test
-logger_lock_test_SOURCES = logger_lock_test.cc
+TEST_HELPERS += logger_lock_test
+logger_lock_test_SOURCES = logger_lock_test.cc
logger_lock_test_SOURCES += log_test_messages.cc log_test_messages.h
logger_lock_test_CPPFLAGS = $(AM_CPPFLAGS)
+logger_lock_test_CXXFLAGS = $(AM_CXXFLAGS)
+logger_lock_test_LDADD = $(AM_LDADD)
logger_lock_test_LDFLAGS = $(AM_LDFLAGS)
-logger_lock_test_LDADD = $(top_builddir)/src/lib/log/libkea-log.la
-logger_lock_test_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
-logger_lock_test_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
-logger_lock_test_LDADD += $(AM_LDADD) $(LOG4CPLUS_LIBS)
-TESTS_ENVIRONMENT = \
- $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND)
+# Don't install helper binaries.
+noinst_PROGRAMS = $(TEST_HELPERS)
-if HAVE_GTEST
-TESTS =
+# Shell tests. These are principally tests where the global logging environment
+# is affected, and where the output needs to be compared with stored output
+# (where "cut" and "diff" are useful utilities).
+SHTESTS =
+SHTESTS += buffer_logger_test.sh
+SHTESTS += console_test.sh
+SHTESTS += destination_test.sh
+SHTESTS += init_logger_test.sh
+SHTESTS += local_file_test.sh
+SHTESTS += logger_lock_test.sh
+SHTESTS += severity_test.sh
+
+# Run shell tests on "make check".
+check_SCRIPTS = $(SHTESTS)
+TESTS = $(SHTESTS)
-# Define the flags used in each set of tests
-TESTSCXXFLAGS = $(AM_CXXFLAGS)
-TESTSCPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) $(LOG4CPLUS_INCLUDES)
-TESTSLDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)
+# As with every file generated by ./configure, clean them up when running
+# "make distclean", but not on "make clean".
+DISTCLEANFILES += $(SHTESTS)
-TESTSLDADD = $(AM_LDADD)
-TESTSLDADD += $(top_builddir)/src/lib/log/libkea-log.la
-TESTSLDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la
-TESTSLDADD += $(top_builddir)/src/lib/util/libkea-util.la
-TESTSLDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
-TESTSLDADD += $(LOG4CPLUS_LIBS) $(GTEST_LDADD)
+# Don't install shell tests.
+noinst_SCRIPTS = $(SHTESTS)
+
+if HAVE_GTEST
+
+TESTS_ENVIRONMENT = \
+ $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND)
# Set of unit tests for the general logging classes
-TESTS += run_unittests
+PROGRAM_TESTS = run_unittests
run_unittests_SOURCES = run_unittests.cc
run_unittests_SOURCES += log_formatter_unittest.cc
run_unittests_SOURCES += logger_level_impl_unittest.cc
run_unittests_SOURCES += output_option_unittest.cc
run_unittests_SOURCES += buffer_appender_unittest.cc
run_unittests_SOURCES += log_test_messages.cc log_test_messages.h
+run_unittests_CPPFLAGS = $(AM_CPPFLAGS)
+run_unittests_CXXFLAGS = $(AM_CXXFLAGS)
+run_unittests_LDADD = $(AM_LDADD)
+run_unittests_LDFLAGS = $(AM_LDFLAGS)
-run_unittests_CPPFLAGS = $(TESTSCPPFLAGS)
-run_unittests_CXXFLAGS = $(TESTSCXXFLAGS)
-run_unittests_LDADD = $(TESTSLDADD)
-run_unittests_LDFLAGS = $(TESTSLDFLAGS)
-
-# logging initialization tests. These are put in separate programs to
+# logging initialization tests. These are put in a separate program to
# ensure that the initialization status at the start of each test is known,
# and to prevent circumstances where the execution of one test affects the
# starting conditions of the next.
-TESTS += initializer_unittests_1
+PROGRAM_TESTS += initializer_unittests_1
initializer_unittests_1_SOURCES = run_initializer_unittests.cc
initializer_unittests_1_SOURCES += message_initializer_1_unittest.cc
initializer_unittests_1_SOURCES += message_initializer_1a_unittest.cc
+initializer_unittests_1_CPPFLAGS = $(AM_CPPFLAGS)
+initializer_unittests_1_CXXFLAGS = $(AM_CXXFLAGS)
+initializer_unittests_1_LDADD = $(AM_LDADD)
+initializer_unittests_1_LDFLAGS = $(AM_LDFLAGS)
-initializer_unittests_1_CPPFLAGS = $(TESTSCPPFLAGS)
-initializer_unittests_1_CXXFLAGS = $(TESTSCXXFLAGS)
-initializer_unittests_1_LDADD = $(TESTSLDADD)
-initializer_unittests_1_LDFLAGS = $(TESTSLDFLAGS)
+# Run C++ tests on "make check".
+TESTS += $(PROGRAM_TESTS)
-noinst_PROGRAMS += $(TESTS)
+# Don't install test binaries.
+noinst_PROGRAMS += $(PROGRAM_TESTS)
endif
-noinst_SCRIPTS =
-noinst_SCRIPTS += buffer_logger_test.sh
-noinst_SCRIPTS += console_test.sh
-noinst_SCRIPTS += destination_test.sh
-noinst_SCRIPTS += init_logger_test.sh
-noinst_SCRIPTS += local_file_test.sh
-noinst_SCRIPTS += logger_lock_test.sh
-noinst_SCRIPTS += severity_test.sh
-
-# Additional test using the shell. These are principally tests
-# where the global logging environment is affected, and where the
-# output needs to be compared with stored output (where "cut" and
-# "diff" are useful utilities).
-check-local:
- $(SHELL) $(abs_builddir)/buffer_logger_test.sh
- $(SHELL) $(abs_builddir)/console_test.sh
- $(SHELL) $(abs_builddir)/destination_test.sh
- $(SHELL) $(abs_builddir)/init_logger_test.sh
- $(SHELL) $(abs_builddir)/local_file_test.sh
- $(SHELL) $(abs_builddir)/logger_lock_test.sh
- $(SHELL) $(abs_builddir)/severity_test.sh
-
# If we want to get rid of all generated messages files, we need to use
# make maintainer-clean. The proper way to introduce custom commands for
# that operation is to define maintainer-clean-local target. However,