1 ## Copyright (C) 1996-2017 The Squid Software Foundation and contributors
3 ## Squid software is distributed under GPLv2+ license and includes
4 ## contributions from numerous individuals and organizations.
5 ## Please see the COPYING and CONTRIBUTORS files for details.
8 include $(top_srcdir)/src/Common.am
10 ## we need our local files too (but avoid -I. at all costs)
11 AM_CPPFLAGS += -I$(srcdir)
14 $(top_builddir)/src/base/libbase.la \
15 $(top_builddir)/src/globals.o \
16 $(top_builddir)/src/time.o \
17 $(top_builddir)/lib/libmiscutil.la \
21 EXTRA_PROGRAMS = mem_node_test membanger splay tcp-banger2
24 $(srcdir)/squidconf/* \
31 ESI_TESTS = $(ESI_ALL_TESTS)
36 ## Sort by dependencies - test lowest layers first
39 VirtualDeleteOperator \
47 ## Sort by alpha - any build failures are significant.
48 check_PROGRAMS += debug \
58 tcp_banger2_LDADD = $(top_builddir)/lib/libmiscutil.la
60 #do not include stub_libmem.cc here, as it would override libmem.la in
61 # several tests whose purpose is testing libmem itself.
70 DEBUG_SOURCE = test_tools.cc $(STUBS)
71 CLEANFILES += $(STUBS) stub_libmem.cc
73 stub_cbdata.cc: $(top_srcdir)/src/tests/stub_cbdata.cc
74 cp $(top_srcdir)/src/tests/stub_cbdata.cc $@
76 stub_debug.cc: $(top_srcdir)/src/tests/stub_debug.cc
77 cp $(top_srcdir)/src/tests/stub_debug.cc $@
79 stub_MemBuf.cc: $(top_srcdir)/src/tests/stub_MemBuf.cc
80 cp $(top_srcdir)/src/tests/stub_MemBuf.cc $@
82 stub_SBuf.cc: $(top_srcdir)/src/tests/stub_SBuf.cc
83 cp $(top_srcdir)/src/tests/stub_SBuf.cc $@
85 stub_tools.cc: $(top_srcdir)/src/tests/stub_tools.cc
86 cp $(top_srcdir)/src/tests/stub_tools.cc $@
88 stub_fatal.cc: $(top_srcdir)/src/tests/stub_fatal.cc
89 cp $(top_srcdir)/src/tests/stub_fatal.cc $@
91 stub_libmem.cc: $(top_srcdir)/src/tests/stub_libmem.cc STUB.h
92 cp $(top_srcdir)/src/tests/stub_libmem.cc $@
94 STUB.h: $(top_srcdir)/src/tests/STUB.h
95 cp $(top_srcdir)/src/tests/STUB.h $@
97 ## XXX: somewhat broken. Its meant to test our debugs() implementation.
98 ## but it has never been linked to the actual src/debug.cc implementation !!
99 ## all it tests are the stream operators and macro in src/Debug.h
100 debug_SOURCES = debug.cc stub_libmem.cc $(DEBUG_SOURCE)
102 ESIExpressions_SOURCES = ESIExpressions.cc stub_libmem.cc $(DEBUG_SOURCE)
103 ESIExpressions_LDADD = $(top_builddir)/src/esi/Expression.o \
106 mem_node_test_SOURCES = mem_node_test.cc $(DEBUG_SOURCE)
107 mem_node_test_LDADD = \
108 $(top_builddir)/src/mem_node.o \
109 $(top_builddir)/src/mem/libmem.la \
112 mem_hdr_test_SOURCES = mem_hdr_test.cc $(DEBUG_SOURCE)
113 mem_hdr_test_LDADD = \
114 $(top_builddir)/src/stmem.o \
115 $(top_builddir)/src/mem_node.o \
116 $(top_builddir)/src/mem/libmem.la \
119 MemPoolTest_SOURCES = MemPoolTest.cc $(DEBUG_SOURCE)
120 MemPoolTest_LDADD = \
121 $(top_builddir)/src/mem/libmem.la \
124 splay_SOURCES = splay.cc stub_libmem.cc $(DEBUG_SOURCE)
126 syntheticoperators_SOURCES = syntheticoperators.cc stub_libmem.cc $(DEBUG_SOURCE)
128 VirtualDeleteOperator_SOURCES = VirtualDeleteOperator.cc stub_libmem.cc $(DEBUG_SOURCE)
130 ## membanger won't link today. Bitrot..
132 ##CFLAGS = -g -Wall -I../include -I../src
133 ##OBJS = membanger.o hash.o SizeToPool.o
138 ##AR_R = /usr/bin/ar r
140 ##XTRA_LIBS = -lm -lmalloc
144 ##membanger: $(OBJS) $(TARGLIB)
145 ## $(CC) -o membanger $(OBJS) $(LIB)
147 ##$(TARGLIB): $(LIBOBJS)
148 ## $(AR_R) $(TARGLIB) $(LIBOBJS)
150 squid-conf-tests: $(top_builddir)/src/squid.conf.default $(srcdir)/squidconf/*
151 @failed=0; cfglist="$?"; rm -f $@ || $(TRUE); \
152 for cfg in $$cfglist ; do \
153 $(top_builddir)/src/squid -k parse -f $$cfg || \
154 { echo "FAIL: squid.conf test: $$cfg" | \
155 sed s%$(top_builddir)/src/%% | \
156 sed s%$(srcdir)/squidconf/%% ; \
159 if test "$$failed" -eq 0; then \
160 echo "PASS: squid.conf test: $$cfg" | \
161 sed s%$(top_builddir)/src/%% | \
162 sed s%$(srcdir)/squidconf/%% ; \
165 if test "$$failed" -eq 0; then cp $(TRUE) $@ ; fi
167 CLEANFILES += squid-conf-tests