xref: /freebsd/crypto/openssh/.github/run_test.sh (revision 0fdf8fae8b569bf9fff3b5171e669dcd7cf9c79e)
1#!/bin/sh
2
3. .github/configs $1
4
5[ -z "${SUDO}" ] || ${SUDO} mkdir -p /var/empty
6
7set -ex
8
9# If we want to test hostbased auth, set up the host for it.
10if [ ! -z "$SUDO" ] && [ ! -z "$TEST_SSH_HOSTBASED_AUTH" ]; then
11    sshconf=/usr/local/etc
12    $SUDO mkdir -p "${sshconf}"
13    hostname | $SUDO tee $sshconf/shosts.equiv >/dev/null
14    echo "EnableSSHKeysign yes" | $SUDO tee $sshconf/ssh_config >/dev/null
15    $SUDO mkdir -p $sshconf
16    $SUDO cp -p /etc/ssh/ssh_host*key* $sshconf
17    $SUDO make install
18    for key in $sshconf/ssh_host*key*.pub; do
19        echo `hostname` `cat $key` | \
20            $SUDO tee -a $sshconf/ssh_known_hosts >/dev/null
21    done
22fi
23
24output_failed_logs() {
25    for i in regress/failed*.log; do
26        if [ -f "$i" ]; then
27            echo -------------------------------------------------------------------------
28            echo LOGFILE $i
29            cat $i
30            echo -------------------------------------------------------------------------
31        fi
32    done
33}
34trap output_failed_logs 0
35
36if [ -z "${LTESTS}" ]; then
37    make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}"
38else
39    make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
40fi
41
42if [ ! -z "${SSHD_CONFOPTS}" ]; then
43    echo "rerunning t-exec with TEST_SSH_SSHD_CONFOPTS='${SSHD_CONFOPTS}'"
44    if [ -z "${LTESTS}" ]; then
45        make t-exec SKIP_LTESTS="${SKIP_LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
46    else
47        make t-exec SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}" TEST_SSH_SSHD_CONFOPTS="${SSHD_CONFOPTS}"
48    fi
49fi
50