From 3b9b6d0b8e7f798023c9d109c490449d528fde80 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:59:48 +0200 Subject: Adding upstream version 1:9.18.19. Signed-off-by: Daniel Baumann --- bin/tests/system/runall.sh | 99 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100755 bin/tests/system/runall.sh (limited to 'bin/tests/system/runall.sh') diff --git a/bin/tests/system/runall.sh b/bin/tests/system/runall.sh new file mode 100755 index 0000000..bbd072e --- /dev/null +++ b/bin/tests/system/runall.sh @@ -0,0 +1,99 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +# Run all the system tests. +# +# Usage: +# runall.sh [-c] [-n] [numprocesses] +# +# -c Force colored output. +# +# -n Noclean. Keep all output files produced by all tests. These +# can later be removed by running "cleanall.sh". +# +# numprocess Number of concurrent processes to use when running the tests. +# The default is one, which causes the tests to run sequentially. + +. ./conf.sh + +usage="Usage: ./runall.sh [-c] [-n] [numprocesses]" + +# Preserve values of environment variables which are already set. + +SYSTEMTEST_FORCE_COLOR=${SYSTEMTEST_FORCE_COLOR:-0} +SYSTEMTEST_NO_CLEAN=${SYSTEMTEST_NO_CLEAN:-0} + +# Handle command line switches if present. + +while getopts "cn-" flag; do + case "$flag" in + c) SYSTEMTEST_FORCE_COLOR=1 ;; + n) SYSTEMTEST_NO_CLEAN=1 ;; + -) break;; + *) exit 1;; + esac +done +export NOCLEAN +shift $((OPTIND-1)) + +# Obtain number of processes to use. + +if [ $# -eq 0 ]; then + numproc=1 +elif [ $# -eq 1 ]; then + if [ "$1" -ne "$1" ] 2>&1; then + # Value passed is not numeric + echo "$usage" >&2 + exit 1 + fi + numproc=$1 +else + echo "$usage" >&2 + exit 1 +fi + +# Run the tests. + +export SYSTEMTEST_FORCE_COLOR +export SYSTEMTEST_NO_CLEAN + +status=0 + +if [ "$NOPARALLEL" = "" ]; then + # use "make" to run tests in parallel. + make -j "$numproc" check + status=$? +else + # the NOPARALLEL environment variable indicates that tests must be + # run sequentially. + $PERL testsock.pl || { + cat <<-EOF + I:NOTE: System tests were skipped because they require the + I: test IP addresses 10.53.0.* to be configured as alias + I: addresses on the loopback interface. Please run + I: "bin/tests/system/ifconfig.sh up" as root to configure them. + EOF + exit 1 + } + ( + status=0 + for testdir in $SUBDIRS; do + $SHELL legacy.run.sh -r "$testdir" || status=1 + done + echo "$status" > systests.status + ) 2>&1 | tee "systests.output" + read -r status < systests.status + rm systests.status +fi + +exit "$status" -- cgit v1.2.3