summaryrefslogtreecommitdiff
path: root/source3/script/tests/test_smbclient_posix_large.sh
blob: 0aee7afcc031d17e89621a76c1b260878f6c738e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/sh

if [ $# -lt 1 ]; then
cat <<EOF
Usage: test_smbclient_posix_large.sh ccache smbclient3 server prefix <smbclient args>
EOF
exit 1;
fi

KRB5CCNAME=$1
export KRB5CCNAME
SMBCLIENT3=$2
SERVER=$3
PREFIX=$4
shift 4
ADDARGS="$*"

# Test that a noninteractive smbclient does not prompt
test_large_write_read()
{

    cat > $PREFIX/largefile-script <<EOF
posix
put $PREFIX/largefile largefile
get largefile $PREFIX/largefile2
rm largefile
quit
EOF

    cmd='$SMBCLIENT3 //$SERVER/xcopy_share $ADDARGS < $PREFIX/largefile-script 2>&1'
    eval echo "$cmd"
    out=`eval $cmd`

    if [ $? != 0 ] ; then
	echo "$out"
	echo "command failed"
	false
	return
    fi

    echo "$out" | grep "getting file" >/dev/null 2>&1

    if [ $? = 0 ] ; then
	true
    else
	echo did not get success message
	false
    fi
}

rm -f $PREFIX/largefile
dd if=/dev/zero of=$PREFIX/largefile skip=$((20*1024*1024)) count=1 bs=1

incdir=`dirname $0`/../../../testprogs/blackbox
. $incdir/subunit.sh

testit "smbclient large posix write read" test_large_write_read || failed=`expr $failed + 1`

testit "cmp of read and written files" cmp $PREFIX/largefile $PREFIX/largefile2 || failed=`expr $failed + 1`
rm -f $PREFIX/largefile2

testok $0 $failed