diff options
Diffstat (limited to 'testsuite/server/xfer.exp')
-rw-r--r-- | testsuite/server/xfer.exp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/testsuite/server/xfer.exp b/testsuite/server/xfer.exp new file mode 100644 index 0000000000..6d00b29885 --- /dev/null +++ b/testsuite/server/xfer.exp @@ -0,0 +1,48 @@ +# +# 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 |