(cherry picked from commita23b305e6b) (cherry picked from commitb9e6b124aa) (cherry picked from commit9448c4fd21) (cherry picked from commit8f139956ba)
130 lines
4.1 KiB
Makefile
130 lines
4.1 KiB
Makefile
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
|
#
|
|
# Permission to use, copy, modify, and/or distribute this software for any
|
|
# purpose with or without fee is hereby granted, provided that the above
|
|
# copyright notice and this permission notice appear in all copies.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
|
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
|
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
# PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
|
|
VERSION=@BIND9_VERSION@
|
|
|
|
@BIND9_MAKE_INCLUDES@
|
|
|
|
SUBDIRS = dlzexternal lwresd rsabigexponent tkey
|
|
CINCLUDES = ${ISC_INCLUDES} ${DNS_INCLUDES}
|
|
|
|
CDEFINES = @USE_GSSAPI@
|
|
CWARNINGS =
|
|
|
|
DNSLIBS =
|
|
ISCLIBS = ../../../lib/isc/libisc.@A@
|
|
|
|
DNSDEPLIBS =
|
|
ISCDEPLIBS =
|
|
|
|
DEPLIBS =
|
|
|
|
LIBS = @LIBS@
|
|
|
|
OBJS = feature-test.@O@
|
|
SRCS = feature-test.c
|
|
|
|
TARGETS = feature-test@EXEEXT@
|
|
|
|
@BIND9_MAKE_RULES@
|
|
|
|
subdirs: ${TARGETS}
|
|
|
|
feature-test@EXEEXT@: feature-test.@O@
|
|
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ feature-test.@O@ ${ISCLIBS} ${LIBS}
|
|
|
|
# Running the scripts below is bypassed when a separate build directory is
|
|
# used.
|
|
|
|
# Define the tests that can be run in parallel. This should be identical to
|
|
# the definition of PARALLELDIRS in conf.sh. Note: long-running tests
|
|
# are scheduled first to get more benefit from parallelism.
|
|
PARALLEL = dnssec acl additional addzone allow-query autosign \
|
|
builtin cacheclean chain checkconf checknames \
|
|
checkzone @CHECKDS@ @COVERAGE@ database \
|
|
digdelv dlv dlz dlzexternal dns64 \
|
|
emptyzones fetchlimit filter-aaaa \
|
|
formerr forward glue inline integrity ixfr \
|
|
legacy limits logfileconfig masterfile masterformat \
|
|
metadata notify nslookup nsupdate pending reclimit \
|
|
redirect resolver rndc rootkeysentinel rpz rrl \
|
|
rrsetorder rsabigexponent runtime smartsign sortlist \
|
|
spf staticstub stub \
|
|
tsig tsiggss unknown upforwd verify views wildcard \
|
|
xfer xferquota zero zonechecks
|
|
|
|
# Produce intermediate makefile that assigns unique port numbers to each
|
|
# parallel test. The start port number of 5,000 is arbitrary - it must just
|
|
# be greater than the highest privileged port, 1024.
|
|
#
|
|
# Test names need to be sanitized because Solaris make does not like
|
|
# underscores in target names and requires explicit differentiation
|
|
# between a target name and a directory name (.PHONY is not supported).
|
|
|
|
.PHONY: parallel.mk
|
|
|
|
parallel.mk:
|
|
@PARALLEL_SANITIZED=`echo $(PARALLEL) | sed "s|\([^ ][^ ]*\)|test-\1|g;" | tr _ -` ; \
|
|
echo ".PHONY: $$PARALLEL_SANITIZED" > $@ ; \
|
|
echo "" >> $@ ; \
|
|
echo "check_interfaces:" >> $@ ; \
|
|
echo " @${PERL} testsock.pl > /dev/null 2>&1 || { \\" >> $@ ; \
|
|
echo " echo \"I:NOTE: System tests were skipped because they require that the\"; \\" >> $@ ; \
|
|
echo " echo \"I: IP addresses 10.53.0.1 through 10.53.0.8 be configured\"; \\" >> $@ ; \
|
|
echo " echo \"I: as alias addresses on the loopback interface. Please run\"; \\" >> $@ ; \
|
|
echo " echo \"I: \"bin/tests/system/ifconfig.sh up\" as root to configure them.\"; \\" >> $@ ; \
|
|
echo " exit 1; \\" >> $@ ; \
|
|
echo " }" >> $@ ; \
|
|
echo "" >> $@ ; \
|
|
echo "test check: $$PARALLEL_SANITIZED" >> $@ ; \
|
|
port=$${STARTPORT:-5000} ; \
|
|
for directory in $(PARALLEL) ; do \
|
|
echo "" >> $@ ; \
|
|
echo "test-`echo $$directory | tr _ -`: check_interfaces" >> $@ ; \
|
|
echo " @$(SHELL) ./run.sh -r -p $$port $$directory 2>&1 | tee $$directory/test.output" >> $@ ; \
|
|
port=`expr $$port + 100` ; \
|
|
done
|
|
|
|
# Targets to run the tests.
|
|
|
|
test: parallel.mk subdirs
|
|
@$(MAKE) -f parallel.mk check
|
|
@$(SHELL) ./runsequential.sh -r
|
|
@$(SHELL) ./testsummary.sh
|
|
|
|
check: test
|
|
|
|
testclean clean distclean::
|
|
if test -f ./cleanall.sh; then $(SHELL) ./cleanall.sh; fi
|
|
rm -f systests.output
|
|
rm -f random.data
|
|
rm -f parallel.mk
|
|
|
|
clean distclean::
|
|
rm -f ${TARGETS}
|
|
rm -f ${OBJS}
|
|
|
|
distclean::
|
|
rm -f conf.sh
|
|
|
|
installdirs:
|
|
|
|
install::
|
|
|
|
uninstall::
|