xref: /illumos-gate/usr/src/test/smbsrv-tests/tests/smbtorture/runst-smb2.ksh (revision 1b38ec66a3ea040587c1b346f8c010a3b37c8080)
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