1#!/bin/sh
2#
3# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
4#
5# SPDX-License-Identifier: MPL-2.0
6#
7# This Source Code Form is subject to the terms of the Mozilla Public
8# License, v. 2.0. If a copy of the MPL was not distributed with this
9# file, you can obtain one at https://mozilla.org/MPL/2.0/.
10#
11# See the COPYRIGHT file distributed with this work for additional
12# information regarding copyright ownership.
13
14#
15# Common configuration data for system tests, to be sourced into
16# other shell scripts.
17#
18
19# Find the top of the BIND9 tree.
20TOP=${SYSTEMTESTTOP:=.}/../../..
21
22# Make it absolute so that it continues to work after we cd.
23TOP=`cd $TOP && pwd`
24TOP_SRCDIR="$TOP"
25
26# This is the windows build. This disables certain tests cases
27# and changes some specific behaviors where necessary.
28CYGWIN=1
29
30# Load common values shared between windows and unix/linux.
31. $TOP/bin/tests/system/conf.sh.common
32
33# Visual Studio build configurations are Release and Debug
34VSCONF=${VSCONF:-Debug}
35
36ARPANAME=$TOP/Build/$VSCONF/arpaname@EXEEXT@
37CDS=$TOP/Build/$VSCONF/dnssec-cds@EXEEXT@
38CHECKCONF=$TOP/Build/$VSCONF/named-checkconf@EXEEXT@
39CHECKDS="$PYTHON `cygpath -w $TOP/bin/python/dnssec-checkds.py`"
40CHECKZONE=$TOP/Build/$VSCONF/named-checkzone@EXEEXT@
41COVERAGE="$PYTHON `cygpath -w $TOP/bin/python/dnssec-coverage.py`"
42DDNSCONFGEN=$TOP/Build/$VSCONF/ddns-confgen@EXEEXT@
43DELV=$TOP/Build/$VSCONF/delv@EXEEXT@
44DIG=$TOP/Build/$VSCONF/dig@EXEEXT@
45DNSTAPREAD=$TOP/Build/$VSCONF/dnstap-read@EXEEXT@
46DSFROMKEY=$TOP/Build/$VSCONF/dnssec-dsfromkey@EXEEXT@
47FEATURETEST=$TOP/Build/$VSCONF/feature-test@EXEEXT@
48FSTRM_CAPTURE=@FSTRM_CAPTURE@
49IMPORTKEY=$TOP/Build/$VSCONF/dnssec-importkey@EXEEXT@
50JOURNALPRINT=$TOP/Build/$VSCONF/named-journalprint@EXEEXT@
51KEYFRLAB=$TOP/Build/$VSCONF/dnssec-keyfromlabel@EXEEXT@
52KEYGEN=$TOP/Build/$VSCONF/dnssec-keygen@EXEEXT@
53KEYMGR="$PYTHON `cygpath -w $TOP/bin/python/dnssec-keymgr.py`"
54MDIG=$TOP/Build/$VSCONF/mdig@EXEEXT@
55NAMED=$TOP/Build/$VSCONF/named@EXEEXT@
56NSEC3HASH=$TOP/Build/$VSCONF/nsec3hash@EXEEXT@
57NSLOOKUP=$TOP/Build/$VSCONF/nslookup@EXEEXT@
58NSUPDATE=$TOP/Build/$VSCONF/nsupdate@EXEEXT@
59NZD2NZF=$TOP/Build/$VSCONF/named-nzd2nzf@EXEEXT@
60PK11DEL="$TOP/Build/$VSCONF/pkcs11-destroy@EXEEXT@ -s ${SLOT:-0} -p ${HSMPIN:-1234} -w 0"
61PK11GEN="$TOP/Build/$VSCONF/pkcs11-keygen@EXEEXT@ -q -s ${SLOT:-0} -p ${HSMPIN:-1234}"
62PK11LIST="$TOP/Build/$VSCONF/pkcs11-list@EXEEXT@ -s ${SLOT:-0} -p ${HSMPIN:-1234}"
63REVOKE=$TOP/Build/$VSCONF/dnssec-revoke@EXEEXT@
64RNDC=$TOP/Build/$VSCONF/rndc@EXEEXT@
65RNDCCONFGEN=$TOP/Build/$VSCONF/rndc-confgen@EXEEXT@
66RRCHECKER=$TOP/Build/$VSCONF/named-rrchecker@EXEEXT@
67SETTIME=$TOP/Build/$VSCONF/dnssec-settime@EXEEXT@
68SIGNER=$TOP/Build/$VSCONF/dnssec-signzone@EXEEXT@
69TSIGKEYGEN=$TOP/Build/$VSCONF/tsig-keygen@EXEEXT@
70VERIFY=$TOP/Build/$VSCONF/dnssec-verify@EXEEXT@
71
72# to port WIRETEST=$TOP/Build/$VSCONF/wire_test@EXEEXT@
73WIRETEST=
74
75BIGKEY=$TOP/Build/$VSCONF/bigkey@EXEEXT@
76GENCHECK=$TOP/Build/$VSCONF/gencheck@EXEEXT@
77KEYCREATE=$TOP/Build/$VSCONF/keycreate@EXEEXT@
78KEYDELETE=$TOP/Build/$VSCONF/keydelete@EXEEXT@
79MAKEJOURNAL=$TOP/Build/$VSCONF/makejournal@EXEEXT@
80PIPEQUERIES=$TOP/Build/$VSCONF/pipequeries@EXEEXT@
81RESOLVE=$TOP/Build/$VSCONF/resolve@EXEEXT@
82
83# we don't want a KRB5_CONFIG setting breaking the tests
84KRB5_CONFIG=NUL
85
86#
87# Construct the lists of tests to run
88#
89SEQUENTIAL_WINDOWS=""
90SEQUENTIALDIRS="$SEQUENTIAL_COMMON $SEQUENTIAL_WINDOWS"
91
92PARALLEL_WINDOWS="@CHECKDS@ @COVERAGE@ @DNSTAP@ @KEYMGR@"
93PARALLELDIRS="$PARALLEL_COMMON $PARALLEL_WINDOWS"
94
95SUBDIRS="$SEQUENTIALDIRS $PARALLELDIRS"
96
97# Things that are different on Windows
98KILL="/bin/kill -f"
99DIFF="diff --strip-trailing-cr"
100DOS2UNIX=dos2unix
101# No trailing period
102TP=
103
104# Configure is launched from native environment, but tests are run in Cygwin -
105# so any detection is unreliable.
106SHELL="/bin/bash -o igncr"
107CURL=/usr/bin/curl
108XMLLINT=/usr/bin/xmllint
109PERL=/usr/bin/perl
110
111#
112# PsSuspend is part of PSTools and can be downloaded from
113# https://download.sysinternals.com/files/PSTools.zip
114#
115PSSUSPEND=@PSSUSPEND@
116
117PYTHON=@PYTHON@
118
119#
120# Determine if we support various optional features.
121#
122HAVEXMLSTATS=@XMLSTATS@
123HAVEJSONSTATS=@JSONSTATS@
124HAVEZLIB=@ZLIB@
125NZD=@NZD_TOOLS@
126CRYPTO=@CRYPTO@
127
128# The rest is shared between Windows and Unices
129. $TOP/bin/tests/system/conf.sh.common
130