# Tests Makefile.am for utun - all tests with new ll_queue library # All available tests with new ll_queue library check_PROGRAMS = test_etcp_crypto$(EXEEXT) \ test_crypto$(EXEEXT) \ test_etcp_two_instances$(EXEEXT) \ test_etcp_simple_traffic$(EXEEXT) \ test_etcp_minimal$(EXEEXT) \ test_etcp_100_packets$(EXEEXT) \ test_pkt_normalizer_etcp$(EXEEXT) \ test_pkt_normalizer_standalone$(EXEEXT) \ test_ll_queue$(EXEEXT) \ test_ecc_encrypt$(EXEEXT) \ test_intensive_memory_pool$(EXEEXT) \ test_memory_pool_and_config$(EXEEXT) \ test_packet_dump$(EXEEXT) \ test_u_async_comprehensive$(EXEEXT) \ test_u_async_performance$(EXEEXT) \ test_debug_categories$(EXEEXT) \ test_config_debug$(EXEEXT) \ bench_timeout_heap$(EXEEXT) \ bench_uasync_timeouts$(EXEEXT) # 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 source files TINYCRYPT_SRCS = \ $(top_srcdir)/tinycrypt/lib/source/aes_encrypt.c \ $(top_srcdir)/tinycrypt/lib/source/aes_decrypt.c \ $(top_srcdir)/tinycrypt/lib/source/ccm_mode.c \ $(top_srcdir)/tinycrypt/lib/source/cmac_mode.c \ $(top_srcdir)/tinycrypt/lib/source/ctr_mode.c \ $(top_srcdir)/tinycrypt/lib/source/ecc.c \ $(top_srcdir)/tinycrypt/lib/source/ecc_dh.c \ $(top_srcdir)/tinycrypt/lib/source/ecc_dsa.c \ $(top_srcdir)/tinycrypt/lib/source/sha256.c \ $(top_srcdir)/tinycrypt/lib/source/ecc_platform_specific.c \ $(top_srcdir)/tinycrypt/lib/source/utils.c # TinyCrypt object files (used when not using OpenSSL) TINYCRYPT_OBJS = \ $(top_builddir)/tinycrypt/lib/source/utun-aes_encrypt.o \ $(top_builddir)/tinycrypt/lib/source/utun-aes_decrypt.o \ $(top_builddir)/tinycrypt/lib/source/utun-ccm_mode.o \ $(top_builddir)/tinycrypt/lib/source/utun-cmac_mode.o \ $(top_builddir)/tinycrypt/lib/source/utun-ctr_mode.o \ $(top_builddir)/tinycrypt/lib/source/utun-ecc.o \ $(top_builddir)/tinycrypt/lib/source/utun-ecc_dh.o \ $(top_builddir)/tinycrypt/lib/source/utun-ecc_dsa.o \ $(top_builddir)/tinycrypt/lib/source/utun-sha256.o \ $(top_builddir)/tinycrypt/lib/source/utun-ecc_platform_specific.o \ $(top_builddir)/tinycrypt/lib/source/utun-utils.o # Secure channel and CRC objects (always needed) SECURE_CHANNEL_OBJS = $(top_builddir)/src/utun-secure_channel.o $(top_builddir)/src/utun-crc32.o # ETCP core objects (always needed) ETCP_CORE_OBJS = \ $(top_builddir)/src/utun-etcp.o \ $(top_builddir)/src/utun-etcp_connections.o \ $(top_builddir)/src/utun-etcp_loadbalancer.o \ $(top_builddir)/src/utun-pkt_normalizer.o # Full ETCP objects (with config, routing, etc.) ETCP_FULL_OBJS = \ $(top_builddir)/src/utun-config_parser.o \ $(top_builddir)/src/utun-config_updater.o \ $(top_builddir)/src/utun-routing.o \ $(top_builddir)/src/utun-tun_if.o \ $(top_builddir)/src/utun-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 # ETCP crypto test 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) # ETCP two instances test 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) # ETCP simple traffic test 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) # ETCP minimal test 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_CORE_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) # ETCP 100 packets test 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) # Packet normalizer ETCP test 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) # Standalone pkt_normalizer test with mock ETCP loopback 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 = $(top_builddir)/src/utun-pkt_normalizer.o $(TINYCRYPT_OBJS) $(COMMON_LIBS) # Basic crypto test (TinyCrypt only - no secure_channel) 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) # Working ll_queue test for xxx=0 architecture 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) # ECC encryption test (uses TinyCrypt directly, needs tinycrypt objects) 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 # Intensive memory pool test 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) # Memory pool and config test 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) # Packet dump test 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) # UASYNC comprehensive test 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) # UASYNC performance test 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) # Debug categories test 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) # Config debug test test_config_debug_SOURCES = test_config_debug.c test_config_debug_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib test_config_debug_LDADD = $(top_builddir)/src/utun-config_parser.o $(COMMON_LIBS) # Timeout heap benchmark bench_timeout_heap_SOURCES = bench_timeout_heap.c bench_timeout_heap_CFLAGS = -I$(top_srcdir)/lib bench_timeout_heap_LDADD = $(COMMON_LIBS) # uasync zero timeout benchmark bench_uasync_timeouts_SOURCES = bench_uasync_timeouts.c bench_uasync_timeouts_CFLAGS = -I$(top_srcdir)/lib bench_uasync_timeouts_LDADD = $(COMMON_LIBS) # Register tests TESTS = $(check_PROGRAMS) # Build rules for TinyCrypt objects (needed for test_crypto even with OpenSSL) $(top_builddir)/tinycrypt/lib/source/utun-aes_encrypt.o: $(top_srcdir)/tinycrypt/lib/source/aes_encrypt.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-aes_decrypt.o: $(top_srcdir)/tinycrypt/lib/source/aes_decrypt.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-ccm_mode.o: $(top_srcdir)/tinycrypt/lib/source/ccm_mode.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-cmac_mode.o: $(top_srcdir)/tinycrypt/lib/source/cmac_mode.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-ctr_mode.o: $(top_srcdir)/tinycrypt/lib/source/ctr_mode.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-ecc.o: $(top_srcdir)/tinycrypt/lib/source/ecc.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-ecc_dh.o: $(top_srcdir)/tinycrypt/lib/source/ecc_dh.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-ecc_dsa.o: $(top_srcdir)/tinycrypt/lib/source/ecc_dsa.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-sha256.o: $(top_srcdir)/tinycrypt/lib/source/sha256.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-ecc_platform_specific.o: $(top_srcdir)/tinycrypt/lib/source/ecc_platform_specific.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $< $(top_builddir)/tinycrypt/lib/source/utun-utils.o: $(top_srcdir)/tinycrypt/lib/source/utils.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $@ $<