Makefile.am 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. PYCOVERAGE_RUN = @PYCOVERAGE_RUN@
  2. PYTESTS = dhcp6_test.py
  3. EXTRA_DIST = $(PYTESTS)
  4. # Explicitly specify paths to dynamic libraries required by loadable python
  5. # modules. That is required on Mac OS systems. Otherwise we will get exception
  6. # about python not being able to load liblog library.
  7. LIBRARY_PATH_PLACEHOLDER =
  8. if SET_ENV_LIBRARY_PATH
  9. LIBRARY_PATH_PLACEHOLDER += $(ENV_LIBRARY_PATH)=$(abs_top_builddir)/src/lib/cryptolink/.libs:$(abs_top_builddir)/src/lib/dns/.libs:$(abs_top_builddir)/src/lib/dns/python/.libs:$(abs_top_builddir)/src/lib/cc/.libs:$(abs_top_builddir)/src/lib/config/.libs:$(abs_top_builddir)/src/lib/log/.libs:$(abs_top_builddir)/src/lib/util/.libs:$(abs_top_builddir)/src/lib/util/threads/.libs:$(abs_top_builddir)/src/lib/exceptions/.libs:$(abs_top_builddir)/src/lib/util/io/.libs:$(abs_top_builddir)/src/lib/datasrc/.libs:$$$(ENV_LIBRARY_PATH)
  10. endif
  11. # test using command-line arguments, so use check-local target instead of TESTS
  12. check-local:
  13. for pytest in $(PYTESTS) ; do \
  14. echo Running test: $$pytest ; \
  15. $(LIBRARY_PATH_PLACEHOLDER) \
  16. B10_LOCKFILE_DIR_FROM_BUILD=$(abs_top_builddir) \
  17. PYTHONPATH=$(COMMON_PYTHON_PATH):$(abs_top_srcdir)/src/bin:$(abs_top_builddir)/src/bin/bind10:$(abs_top_builddir)/src/lib/util/io/.libs \
  18. $(PYCOVERAGE_RUN) $(abs_srcdir)/$$pytest || exit ; \
  19. done
  20. AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_builddir)/src/lib
  21. AM_CPPFLAGS += -I$(top_builddir)/src/bin # for generated spec_config.h header
  22. AM_CPPFLAGS += -I$(top_srcdir)/src/bin
  23. AM_CPPFLAGS += $(BOOST_INCLUDES)
  24. AM_CPPFLAGS += -DINSTALL_PROG=\"$(abs_top_srcdir)/install-sh\"
  25. CLEANFILES = $(builddir)/interfaces.txt $(builddir)/logger_lockfile
  26. CLEANFILES += $(builddir)/load_marker.txt $(builddir)/unload_marker.txt
  27. AM_CXXFLAGS = $(B10_CXXFLAGS)
  28. if USE_CLANGPP
  29. # Disable unused parameter warning caused by some Boost headers when compiling with clang
  30. AM_CXXFLAGS += -Wno-unused-parameter
  31. endif
  32. TESTS_ENVIRONMENT = \
  33. $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND)
  34. TESTS =
  35. if HAVE_GTEST
  36. # Build shared libraries for testing. The libtool way to create a shared library
  37. # is to specify "-avoid-version -export-dynamic -module" in the library LDFLAGS
  38. # (see http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html).
  39. # Use of these switches will guarantee that the .so files are created in the
  40. # .libs folder and they can be dlopened.
  41. # Note that the shared libraries with callouts should not be used together with
  42. # the --enable-static-link option. With this option, the bind10 libraries are
  43. # statically linked with the program and if the callout invokes the methods
  44. # which belong to these libraries, the library with the callout will get its
  45. # own copy of the static objects (e.g. logger, ServerHooks) and that will lead
  46. # to unexpected errors. For this reason, the --enable-static-link option is
  47. # ignored for unit tests built here.
  48. nodistdir=$(abs_top_builddir)/src/bin/dhcp6/tests
  49. nodist_LTLIBRARIES = libco1.la libco2.la
  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
  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
  58. TESTS += dhcp6_unittests
  59. dhcp6_unittests_SOURCES = dhcp6_unittests.cc
  60. dhcp6_unittests_SOURCES += dhcp6_srv_unittest.cc
  61. dhcp6_unittests_SOURCES += fqdn_unittest.cc
  62. dhcp6_unittests_SOURCES += hooks_unittest.cc
  63. dhcp6_unittests_SOURCES += dhcp6_test_utils.cc dhcp6_test_utils.h
  64. dhcp6_unittests_SOURCES += ctrl_dhcp6_srv_unittest.cc
  65. dhcp6_unittests_SOURCES += config_parser_unittest.cc
  66. dhcp6_unittests_SOURCES += marker_file.cc
  67. dhcp6_unittests_SOURCES += ../dhcp6_srv.h ../dhcp6_srv.cc
  68. dhcp6_unittests_SOURCES += ../dhcp6_log.h ../dhcp6_log.cc
  69. dhcp6_unittests_SOURCES += ../ctrl_dhcp6_srv.cc
  70. dhcp6_unittests_SOURCES += ../config_parser.cc ../config_parser.h
  71. dhcp6_unittests_SOURCES += wireshark.cc
  72. nodist_dhcp6_unittests_SOURCES = ../dhcp6_messages.h ../dhcp6_messages.cc
  73. nodist_dhcp6_unittests_SOURCES += marker_file.h test_libraries.h
  74. dhcp6_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
  75. dhcp6_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)
  76. dhcp6_unittests_LDADD = $(GTEST_LDADD)
  77. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libb10-asiolink.la
  78. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/cc/libb10-cc.la
  79. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/config/libb10-cfgclient.la
  80. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libb10-dhcp++.la
  81. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcp/tests/libdhcptest.la
  82. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libb10-dhcp_ddns.la
  83. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libb10-dhcpsrv.la
  84. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/hooks/libb10-hooks.la
  85. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libb10-exceptions.la
  86. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/log/libb10-log.la
  87. dhcp6_unittests_LDADD += $(top_builddir)/src/lib/util/libb10-util.la
  88. endif
  89. noinst_PROGRAMS = $(TESTS)