You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

175 lines
6.8 KiB

# Tests Makefile.am for utun - all tests with new ll_queue library
# Object directories
OBJDIR = $(top_builddir)/.objs/tests
SRC_OBJDIR = $(top_builddir)/.objs/src
TINYCRYPT_OBJDIR = $(top_builddir)/.objs/tinycrypt
# All available tests
check_PROGRAMS = \
test_etcp_crypto \
test_crypto \
test_etcp_two_instances \
test_etcp_simple_traffic \
test_etcp_minimal \
test_etcp_100_packets \
test_pkt_normalizer_etcp \
test_pkt_normalizer_standalone \
test_ll_queue \
test_ecc_encrypt \
test_intensive_memory_pool \
test_memory_pool_and_config \
test_packet_dump \
test_u_async_comprehensive \
test_u_async_performance \
test_debug_categories \
test_config_debug \
bench_timeout_heap \
bench_uasync_timeouts
# Basic includes
AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
# TinyCrypt object files (in .objs directory)
TINYCRYPT_OBJS = \
$(TINYCRYPT_OBJDIR)/aes_encrypt.o \
$(TINYCRYPT_OBJDIR)/aes_decrypt.o \
$(TINYCRYPT_OBJDIR)/ccm_mode.o \
$(TINYCRYPT_OBJDIR)/cmac_mode.o \
$(TINYCRYPT_OBJDIR)/ctr_mode.o \
$(TINYCRYPT_OBJDIR)/ecc.o \
$(TINYCRYPT_OBJDIR)/ecc_dh.o \
$(TINYCRYPT_OBJDIR)/ecc_dsa.o \
$(TINYCRYPT_OBJDIR)/sha256.o \
$(TINYCRYPT_OBJDIR)/ecc_platform_specific.o \
$(TINYCRYPT_OBJDIR)/utils.o
# Secure channel and CRC objects
SECURE_CHANNEL_OBJS = $(SRC_OBJDIR)/secure_channel.o $(SRC_OBJDIR)/crc32.o
# ETCP core objects
ETCP_CORE_OBJS = \
$(SRC_OBJDIR)/etcp.o \
$(SRC_OBJDIR)/etcp_connections.o \
$(SRC_OBJDIR)/etcp_loadbalancer.o \
$(SRC_OBJDIR)/pkt_normalizer.o
# Full ETCP objects
ETCP_FULL_OBJS = \
$(SRC_OBJDIR)/config_parser.o \
$(SRC_OBJDIR)/config_updater.o \
$(SRC_OBJDIR)/route_lib.o \
$(SRC_OBJDIR)/routing.o \
$(SRC_OBJDIR)/tun_if.o \
$(SRC_OBJDIR)/utun_instance.o \
$(ETCP_CORE_OBJS)
# Common libraries
COMMON_LIBS = $(top_builddir)/lib/libuasync.a -lpthread
# Crypto libraries (conditional)
if USE_OPENSSL
CRYPTO_LIBS = -lcrypto
else
CRYPTO_LIBS = $(TINYCRYPT_OBJS)
endif
# Register tests
TESTS = $(check_PROGRAMS)
# Test definitions with standard automake variables
test_etcp_crypto_SOURCES = test_etcp_crypto.c
test_etcp_crypto_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
test_etcp_crypto_LDADD = $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS)
test_crypto_SOURCES = test_crypto.c
test_crypto_CFLAGS = -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source -I$(top_srcdir)/lib
test_crypto_LDADD = $(TINYCRYPT_OBJS) $(COMMON_LIBS)
test_etcp_two_instances_SOURCES = test_etcp_two_instances.c
test_etcp_two_instances_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
test_etcp_two_instances_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS)
test_etcp_simple_traffic_SOURCES = test_etcp_simple_traffic.c
test_etcp_simple_traffic_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
test_etcp_simple_traffic_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS)
test_etcp_minimal_SOURCES = test_etcp_minimal.c
test_etcp_minimal_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
test_etcp_minimal_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS)
test_etcp_100_packets_SOURCES = test_etcp_100_packets.c
test_etcp_100_packets_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
test_etcp_100_packets_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS)
test_pkt_normalizer_etcp_SOURCES = test_pkt_normalizer_etcp.c
test_pkt_normalizer_etcp_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
test_pkt_normalizer_etcp_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS)
test_pkt_normalizer_standalone_SOURCES = test_pkt_normalizer_standalone.c
test_pkt_normalizer_standalone_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source
test_pkt_normalizer_standalone_LDADD = $(SRC_OBJDIR)/pkt_normalizer.o $(SRC_OBJDIR)/route_lib.o $(SRC_OBJDIR)/routing.o $(TINYCRYPT_OBJS) $(COMMON_LIBS)
test_ll_queue_SOURCES = test_ll_queue.c
test_ll_queue_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_ll_queue_LDADD = $(COMMON_LIBS)
test_ecc_encrypt_SOURCES = test_ecc_encrypt.c
test_ecc_encrypt_CFLAGS = -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source -I$(top_srcdir)/lib
test_ecc_encrypt_LDADD = $(SECURE_CHANNEL_OBJS) $(TINYCRYPT_OBJS) $(COMMON_LIBS) -lcrypto
test_intensive_memory_pool_SOURCES = test_intensive_memory_pool.c
test_intensive_memory_pool_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_intensive_memory_pool_LDADD = $(COMMON_LIBS)
test_memory_pool_and_config_SOURCES = test_memory_pool_and_config.c
test_memory_pool_and_config_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_memory_pool_and_config_LDADD = $(COMMON_LIBS)
test_packet_dump_SOURCES = test_packet_dump.c
test_packet_dump_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_packet_dump_LDADD = $(COMMON_LIBS)
test_u_async_comprehensive_SOURCES = test_u_async_comprehensive.c
test_u_async_comprehensive_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_u_async_comprehensive_LDADD = $(COMMON_LIBS)
test_u_async_performance_SOURCES = test_u_async_performance.c
test_u_async_performance_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_u_async_performance_LDADD = $(COMMON_LIBS)
test_debug_categories_SOURCES = test_debug_categories.c
test_debug_categories_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_debug_categories_LDADD = $(COMMON_LIBS)
test_config_debug_SOURCES = test_config_debug.c
test_config_debug_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib
test_config_debug_LDADD = $(SRC_OBJDIR)/config_parser.o $(COMMON_LIBS)
bench_timeout_heap_SOURCES = bench_timeout_heap.c
bench_timeout_heap_CFLAGS = -I$(top_srcdir)/lib
bench_timeout_heap_LDADD = $(COMMON_LIBS)
bench_uasync_timeouts_SOURCES = bench_uasync_timeouts.c
bench_uasync_timeouts_CFLAGS = -I$(top_srcdir)/lib
bench_uasync_timeouts_LDADD = $(COMMON_LIBS)
# After building tests, move their object files to shadow directory
all-local: shadow-test-objects
shadow-test-objects: $(check_PROGRAMS)
@$(MKDIR_P) $(OBJDIR)
@for prog in $(check_PROGRAMS); do \
prog_obj=$${prog}_OBJECTS; \
eval "objs=\"\$$prog_obj\""; \
for obj in $$objs; do \
if test -f "$$obj"; then \
mv -f "$$obj" $(OBJDIR)/ 2>/dev/null || true; \
fi; \
done; \
done
# Clean
clean-local:
-rm -f $(check_PROGRAMS)
-rm -rf $(OBJDIR)