diff options
Diffstat (limited to 'src/lib/log/tests/Makefile.am')
-rw-r--r-- | src/lib/log/tests/Makefile.am | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/src/lib/log/tests/Makefile.am b/src/lib/log/tests/Makefile.am new file mode 100644 index 0000000..145d809 --- /dev/null +++ b/src/lib/log/tests/Makefile.am @@ -0,0 +1,158 @@ +SUBDIRS = . + +# 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_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 = tempdir.h + +EXTRA_DIST = log_test_messages.mes + +# 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) + +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) + +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) + +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) + +# Don't install helper binaries. +noinst_PROGRAMS = $(TEST_HELPERS) + +# 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) + +# As with every file generated by ./configure, clean them up when running +# "make distclean", but not on "make clean". +DISTCLEANFILES += $(SHTESTS) + +# 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 +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 += logger_level_unittest.cc +run_unittests_SOURCES += logger_manager_unittest.cc +run_unittests_SOURCES += logger_name_unittest.cc +run_unittests_SOURCES += logger_support_unittest.cc +run_unittests_SOURCES += logger_unittest.cc +run_unittests_SOURCES += logger_specification_unittest.cc +run_unittests_SOURCES += message_dictionary_unittest.cc +run_unittests_SOURCES += message_reader_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) + +# 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. +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) + +# Run C++ tests on "make check". +TESTS += $(PROGRAM_TESTS) + +# Don't install test binaries. +noinst_PROGRAMS += $(PROGRAM_TESTS) +endif + +# 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, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f log_test_messages.h log_test_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES + +# Define rule to build logging source files from message file +messages: log_test_messages.h log_test_messages.cc + @echo Message files regenerated + +log_test_messages.h log_test_messages.cc: log_test_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/log/tests/log_test_messages.mes + +else + +messages log_test_messages.h log_test_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate-messages to enable it. + +endif |