Makefile.am 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. SHTESTS =
  2. # The test of dynamic reconfiguration based on signals will work only
  3. # if we are using file based configuration approach.
  4. SHTESTS += dhcp4_process_tests.sh
  5. noinst_SCRIPTS = dhcp4_process_tests.sh
  6. EXTRA_DIST = dhcp4_process_tests.sh.in
  7. # test using command-line arguments, so use check-local target instead of TESTS
  8. check-local:
  9. for shtest in $(SHTESTS) ; do \
  10. echo Running test: $$shtest ; \
  11. export KEA_LOCKFILE_DIR=$(abs_top_builddir); \
  12. export KEA_PIDFILE_DIR=$(abs_top_builddir); \
  13. ${SHELL} $(abs_builddir)/$$shtest || exit ; \
  14. done
  15. AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_builddir)/src/lib
  16. AM_CPPFLAGS += -I$(top_srcdir)/src -I$(top_builddir)/src
  17. AM_CPPFLAGS += -I$(top_builddir)/src/bin # for generated spec_config.h header
  18. AM_CPPFLAGS += -I$(top_srcdir)/src/bin
  19. AM_CPPFLAGS += $(BOOST_INCLUDES)
  20. AM_CPPFLAGS += -DTEST_DATA_BUILDDIR=\"$(abs_top_builddir)/src/bin/dhcp4/tests\"
  21. AM_CPPFLAGS += -DINSTALL_PROG=\"$(abs_top_srcdir)/install-sh\"
  22. CLEANFILES = $(builddir)/interfaces.txt $(builddir)/logger_lockfile
  23. CLEANFILES += $(builddir)/load_marker.txt $(builddir)/unload_marker.txt
  24. CLEANFILES += $(builddir)/test_leases.csv.*
  25. CLEANFILES += *.json *.log
  26. DISTCLEANFILES = dhcp4_process_tests.sh
  27. AM_CXXFLAGS = $(KEA_CXXFLAGS)
  28. if USE_STATIC_LINK
  29. AM_LDFLAGS = -static
  30. endif
  31. TESTS_ENVIRONMENT = \
  32. $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND)
  33. TESTS =
  34. if HAVE_GTEST
  35. # Build shared libraries for testing. The libtool way to create a shared library
  36. # is to specify "-avoid-version -export-dynamic -module" in the library LDFLAGS
  37. # (see http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html).
  38. # Use of these switches will guarantee that the .so files are created in the
  39. # .libs folder and they can be dlopened.
  40. # Note that the shared libraries with callouts should not be used together with
  41. # the --enable-static-link option. With this option, the bind10 libraries are
  42. # statically linked with the program and if the callout invokes the methods
  43. # which belong to these libraries, the library with the callout will get its
  44. # own copy of the static objects (e.g. logger, ServerHooks) and that will lead
  45. # to unexpected errors. For this reason, the --enable-static-link option is
  46. # ignored for unit tests built here.
  47. noinst_LTLIBRARIES = libco1.la libco2.la
  48. # -rpath /nowhere is a hack to trigger libtool to not create a
  49. # convenience archive, resulting in shared modules
  50. libco1_la_SOURCES = callout_library_1.cc callout_library_common.h
  51. libco1_la_CXXFLAGS = $(AM_CXXFLAGS)
  52. libco1_la_CPPFLAGS = $(AM_CPPFLAGS)
  53. libco1_la_LDFLAGS = -avoid-version -export-dynamic -module -rpath /nowhere
  54. libco2_la_SOURCES = callout_library_2.cc callout_library_common.h
  55. libco2_la_CXXFLAGS = $(AM_CXXFLAGS)
  56. libco2_la_CPPFLAGS = $(AM_CPPFLAGS)
  57. libco2_la_LDFLAGS = -avoid-version -export-dynamic -module -rpath /nowhere
  58. TESTS += dhcp4_unittests
  59. dhcp4_unittests_SOURCES = d2_unittest.h d2_unittest.cc
  60. dhcp4_unittests_SOURCES += dhcp4_unittests.cc
  61. dhcp4_unittests_SOURCES += dhcp4_srv_unittest.cc
  62. dhcp4_unittests_SOURCES += dhcp4_test_utils.cc dhcp4_test_utils.h
  63. dhcp4_unittests_SOURCES += direct_client_unittest.cc
  64. dhcp4_unittests_SOURCES += ctrl_dhcp4_srv_unittest.cc
  65. dhcp4_unittests_SOURCES += config_parser_unittest.cc
  66. dhcp4_unittests_SOURCES += fqdn_unittest.cc
  67. dhcp4_unittests_SOURCES += marker_file.cc
  68. dhcp4_unittests_SOURCES += dhcp4_client.cc dhcp4_client.h
  69. dhcp4_unittests_SOURCES += hooks_unittest.cc
  70. dhcp4_unittests_SOURCES += inform_unittest.cc
  71. dhcp4_unittests_SOURCES += dora_unittest.cc
  72. dhcp4_unittests_SOURCES += host_options_unittest.cc
  73. dhcp4_unittests_SOURCES += release_unittest.cc
  74. dhcp4_unittests_SOURCES += out_of_range_unittest.cc
  75. dhcp4_unittests_SOURCES += decline_unittest.cc
  76. dhcp4_unittests_SOURCES += kea_controller_unittest.cc
  77. dhcp4_unittests_SOURCES += dhcp4to6_ipc_unittest.cc
  78. nodist_dhcp4_unittests_SOURCES = marker_file.h test_libraries.h
  79. dhcp4_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
  80. dhcp4_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS)
  81. if HAVE_MYSQL
  82. dhcp4_unittests_LDFLAGS += $(MYSQL_LIBS)
  83. endif
  84. if HAVE_PGSQL
  85. dhcp4_unittests_LDFLAGS += $(PGSQL_LIBS)
  86. endif
  87. if HAVE_CQL
  88. dhcp4_unittests_LDFLAGS += $(CQL_LIBS)
  89. endif
  90. dhcp4_unittests_LDFLAGS += $(GTEST_LDFLAGS)
  91. dhcp4_unittests_LDADD = $(top_builddir)/src/bin/dhcp4/libdhcp4.la
  92. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/cfgrpt/libcfgrpt.la
  93. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
  94. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la
  95. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la
  96. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
  97. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/testutils/libkea-testutils.la
  98. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la
  99. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
  100. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
  101. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dhcp/tests/libdhcptest.la
  102. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
  103. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
  104. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
  105. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
  106. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
  107. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
  108. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
  109. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
  110. dhcp4_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
  111. dhcp4_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS)
  112. dhcp4_unittests_LDADD += $(BOOST_LIBS) $(GTEST_LDADD)
  113. endif
  114. noinst_EXTRA_DIST = configs-list.txt
  115. noinst_PROGRAMS = $(TESTS)