1f2ae17edSMatt Barden#!/usr/bin/ksh 2f2ae17edSMatt Barden 3f2ae17edSMatt Barden# 4f2ae17edSMatt Barden# This file and its contents are supplied under the terms of the 5f2ae17edSMatt Barden# Common Development and Distribution License ("CDDL"), version 1.0. 6f2ae17edSMatt Barden# You may only use this file in accordance with the terms of version 7f2ae17edSMatt Barden# 1.0 of the CDDL. 8f2ae17edSMatt Barden# 9f2ae17edSMatt Barden# A full copy of the text of the CDDL should have accompanied this 10f2ae17edSMatt Barden# source. A copy of the CDDL is also available via the Internet at 11f2ae17edSMatt Barden# http://www.illumos.org/license/CDDL. 12f2ae17edSMatt Barden# 13f2ae17edSMatt Barden 14f2ae17edSMatt Barden# 15f2ae17edSMatt Barden# Copyright 2021 Tintri by DDN, Inc. All rights reserved. 16f2ae17edSMatt Barden# 17f2ae17edSMatt Barden 18f2ae17edSMatt Bardenexport SMBSRV_TESTS="/opt/smbsrv-tests" 19f2ae17edSMatt Bardenexport SMBTOR="/usr/bin/smbtorture" 20f2ae17edSMatt Barden 21f2ae17edSMatt Bardenrunsmbtor=$SMBSRV_TESTS/bin/run_smbtorture 22f2ae17edSMatt Bardenexcl_file=$SMBSRV_TESTS/include/smbtor-excl-smb2.txt 23f2ae17edSMatt Barden 24f2ae17edSMatt Bardencfgfile=${CFGFILE:-$SMBSRV_TESTS/include/default.cfg} 25f2ae17edSMatt Bardenoutdir=${OUTDIR:-/var/tmp/test_results/smbsrv-tests} 26f2ae17edSMatt Barden 27f2ae17edSMatt Bardenfunction fail 28f2ae17edSMatt Barden{ 29f2ae17edSMatt Barden echo $1 30f2ae17edSMatt Barden exit ${2:-1} 31f2ae17edSMatt Barden} 32f2ae17edSMatt Barden 33f2ae17edSMatt Bardenwhile getopts c:o:t: c; do 34f2ae17edSMatt Barden case $c in 35f2ae17edSMatt Barden 'c') 36f2ae17edSMatt Barden cfgfile=$OPTARG 37f2ae17edSMatt Barden [[ -f $cfgfile ]] || fail "Cannot read file: $cfgfile" 38f2ae17edSMatt Barden ;; 39f2ae17edSMatt Barden 'o') 40f2ae17edSMatt Barden outdir=$OPTARG 41f2ae17edSMatt Barden ;; 42f2ae17edSMatt Barden 't') 43f2ae17edSMatt Barden timeout="-t $OPTARG" 44f2ae17edSMatt Barden ;; 45f2ae17edSMatt Barden esac 46f2ae17edSMatt Bardendone 47f2ae17edSMatt Bardenshift $((OPTIND - 1)) 48f2ae17edSMatt Barden 49f2ae17edSMatt Barden. $cfgfile 50f2ae17edSMatt Barden 51f2ae17edSMatt Bardenexport PATH="$(dirname $SMBTOR):$PATH" 52f2ae17edSMatt Barden 53f2ae17edSMatt Bardenmkdir -p $outdir 54*1b38ec66SMatt Bardencd $outdir || fail "Could not cd to $outdir" 55f2ae17edSMatt Barden 56f2ae17edSMatt Bardentstamp=$(date +'%Y%m%dT%H%M%S') 57f2ae17edSMatt Bardenlogfile=$outdir/smbtor-smb2-${tstamp}.log 58f2ae17edSMatt Bardenoutfile=$outdir/smbtor-smb2-${tstamp}.summary 59f2ae17edSMatt Barden 60f2ae17edSMatt Bardenif [[ -z "$timeout" && -n "$TIMEOUT" ]]; then 61f2ae17edSMatt Barden timeout="-t $TIMEOUT" 62f2ae17edSMatt Bardenfi 63f2ae17edSMatt Barden 64f2ae17edSMatt Barden# Non-option args taken as list of match patterns 65f2ae17edSMatt Bardenif [ -z "$1" ] ; then 66f2ae17edSMatt Barden match="-m smb2" 67f2ae17edSMatt Bardenfi 68f2ae17edSMatt Bardenfor m 69f2ae17edSMatt Bardendo 70f2ae17edSMatt Barden match="$match -m $m" 71f2ae17edSMatt Bardendone 72f2ae17edSMatt Barden 73f2ae17edSMatt Barden# Make sure we can connect, otherwise we'll report every test as failing. 74f2ae17edSMatt Barden$SMBTOR -U "$SMBT_USER%${SMBT_PASS}" //$SMBT_HOST/$SMBT_SHARE smb2.dir.find \ 75f2ae17edSMatt Barden > /dev/null 2>&1 || \ 76f2ae17edSMatt Barden fail "Cannot connect to //$SMBT_HOST/$SMBT_SHARE" 77f2ae17edSMatt Barden 78f2ae17edSMatt Bardenecho "Running smbtorture/smb2 tests with //$SMBT_HOST/$SMBT_SHARE" 79f2ae17edSMatt Barden$runsmbtor $match -e $excl_file -o $logfile $timeout \ 80f2ae17edSMatt Barden "$SMBT_HOST" "$SMBT_SHARE" "$SMBT_USER" "${SMBT_PASS}" | 81f2ae17edSMatt Barden tee $outfile 82f2ae17edSMatt Barden 83f2ae17edSMatt Bardenexit 0 84