#
# Test file transfer
#

# Initialisation

load_lib util-defs.exp
load_lib smbclient.exp
load_lib env-single.exp

set timeout 60

# Spawn a connection

if {![spawn_smbclient //$server/$share -U $user]} {
    perror "error spawning smbclient"
    return -1
}

# Create a big file, store it and fetch it again

foreach { op } { "!dd if=/dev/urandom of=/tmp/file bs=1048576 count=1\r" \
	"lcd /tmp\r" "put file\r" "get file /tmp/file2\r" } {

    set action "doing $op"
    set output [do_smbclient $op $action]

    if {[regexp "ERR" $output]} {
	error $action
	puts $output
	return -1
    }
}

# Compare the two files

set output [util_start "diff" "/tmp/file /tmp/file2" ""]

if {[regexp "differ" $output]} {
    fail "xfertest"
    puts $output
} else {
    pass "xfertest"
}

# Clean up temporary files

file delete /tmp/file /tmp/file2