blob: 76300aeab85d88984a32788e8376924f585ca7cb [file] [log] [blame]
#
# Copyright (c) 2016, The OpenThread Authors.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the name of the copyright holder nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
#
# Local headers to build against and distribute but not to install
# since they are not part of the package.
#
noinst_HEADERS = \
test_platform.h \
test_lowpan.hpp \
test_util.h \
test_util.hpp \
$(NULL)
#
# Other files we do want to distribute with the package.
#
EXTRA_DIST = \
$(NULL)
if OPENTHREAD_BUILD_TESTS
# C preprocessor option flags that will apply to all compiled objects in this
# makefile.
AM_CPPFLAGS = \
-DOPENTHREAD_FTD=1 \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src \
-I$(top_srcdir)/src/core \
$(NULL)
if OPENTHREAD_ENABLE_NCP
COMMON_LDADD = \
$(top_builddir)/src/ncp/libopenthread-ncp-ftd.a \
$(top_builddir)/src/core/libopenthread-ftd.a \
-lpthread \
$(NULL)
else
COMMON_LDADD = \
$(top_builddir)/src/core/libopenthread-ftd.a \
-lpthread \
$(NULL)
endif # OPENTHREAD_ENABLE_NCP
if OPENTHREAD_ENABLE_BUILTIN_MBEDTLS
AM_CPPFLAGS += \
-I$(top_srcdir)/third_party/mbedtls/repo/include \
$(NULL)
COMMON_LDADD += \
$(top_builddir)/third_party/mbedtls/libmbedcrypto.a \
$(NULL)
endif # OPENTHREAD_ENABLE_BUILTIN_MBEDTLS
# Test applications that should be run when the 'check' target is run.
check_PROGRAMS = \
test-aes \
test-fuzz \
test-hmac-sha256 \
test-lowpan \
test-link-quality \
test-mac-frame \
test-message \
test-message-queue \
test-priority-queue \
test-strlcat \
test-strlcpy \
test-strnlen \
test-timer \
test-toolchain \
$(NULL)
XFAIL_TESTS = \
$(NULL)
if OPENTHREAD_ENABLE_DIAG
check_PROGRAMS += \
test-diag \
$(NULL)
endif # OPENTHREAD_ENABLE_DIAG
if OPENTHREAD_ENABLE_NCP
check_PROGRAMS += \
test-ncp-buffer \
$(NULL)
endif # OPENTHREAD_ENABLE_NCP
if OPENTHREAD_WITH_ADDRESS_SANITIZER
check_PROGRAMS += test-address-sanitizer
XFAIL_TESTS += test-address-sanitizer
test_address_sanitizer_SOURCES = test_address_sanitizer.cpp
endif # OPENTHREAD_WITH_ADDRESS_SANITIZER
# Test applications and scripts that should be built and run when the
# 'check' target is run.
TESTS = \
$(check_PROGRAMS) \
$(NULL)
# The additional environment variables and their values that will be
# made available to all programs and scripts in TESTS.
TESTS_ENVIRONMENT = \
$(NULL)
# Source, compiler, and linker options for test programs.
test_aes_LDADD = $(COMMON_LDADD)
test_aes_SOURCES = test_platform.cpp test_aes.cpp
test_fuzz_LDADD = $(COMMON_LDADD)
test_fuzz_SOURCES = test_platform.cpp test_fuzz.cpp
test_hmac_sha256_LDADD = $(COMMON_LDADD)
test_hmac_sha256_SOURCES = test_platform.cpp test_hmac_sha256.cpp
test_link_quality_LDADD = $(COMMON_LDADD)
test_link_quality_SOURCES = test_platform.cpp test_link_quality.cpp
test_lowpan_LDADD = $(COMMON_LDADD)
test_lowpan_SOURCES = test_platform.cpp test_lowpan.cpp test_util.cpp
test_mac_frame_LDADD = $(COMMON_LDADD)
test_mac_frame_SOURCES = test_platform.cpp test_mac_frame.cpp
test_message_LDADD = $(COMMON_LDADD)
test_message_SOURCES = test_platform.cpp test_message.cpp
test_message_queue_LDADD = $(COMMON_LDADD)
test_message_queue_SOURCES = test_platform.cpp test_message_queue.cpp
test_ncp_buffer_LDADD = $(COMMON_LDADD)
test_ncp_buffer_SOURCES = test_platform.cpp test_ncp_buffer.cpp
test_priority_queue_LDADD = $(COMMON_LDADD)
test_priority_queue_SOURCES = test_platform.cpp test_priority_queue.cpp
test_strlcat_LDADD = $(COMMON_LDADD)
test_strlcat_SOURCES = test_strlcat.c
test_strlcpy_LDADD = $(COMMON_LDADD)
test_strlcpy_SOURCES = test_strlcpy.c
test_strnlen_LDADD = $(COMMON_LDADD)
test_strnlen_SOURCES = test_strnlen.c
test_timer_LDADD = $(COMMON_LDADD)
test_timer_SOURCES = test_platform.cpp test_timer.cpp
test_toolchain_LDADD = $(COMMON_LDADD)
test_toolchain_SOURCES = test_platform.cpp test_toolchain.cpp test_toolchain_c.c
if OPENTHREAD_ENABLE_DIAG
test_diag_LDADD = $(top_builddir)/src/diag/libopenthread-diag.a \
$(top_builddir)/examples/platforms/posix/libopenthread-posix.a \
$(NULL)
test_diag_SOURCES = test_diag.cpp
endif
if OPENTHREAD_BUILD_COVERAGE
CLEANFILES = $(wildcard *.gcda *.gcno)
endif # OPENTHREAD_BUILD_COVERAGE
endif # OPENTHREAD_BUILD_TESTS
include $(abs_top_nlbuild_autotools_dir)/automake/post.am