diff options
Diffstat (limited to 'testsuite/lib/smbclient.exp')
-rw-r--r-- | testsuite/lib/smbclient.exp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/testsuite/lib/smbclient.exp b/testsuite/lib/smbclient.exp new file mode 100644 index 0000000000..dc55d72139 --- /dev/null +++ b/testsuite/lib/smbclient.exp @@ -0,0 +1,54 @@ +# +# Utilities for driving smbclient +# + +# Variables + +set smb_prompt "smb: \\\\>" + +# Spawn smbclient and wait for a prompt + +proc spawn_smbclient { args } { + set result 0 + global smb_prompt + global spawn_id + + # Spawn smbclient + + spawn smbclient [lindex $args 0] [lindex $args 1] [lindex $args 2] \ + [lindex $args 3] [lindex $args 4] [lindex $args 5] \ + [lindex $args 6] + + # Wait for prompt + + expect { + $smb_prompt { set result 1 } + timeout { perror "timed out spawning smbclient" } + eof { perror "end of file spawning smbclient" } + } + + return $result +} + +# Run a command and wait for a prompt + +proc do_smbclient { args } { + set action [lindex $args 0] + set description [lindex $args 1] + global smb_prompt + + # Send command + + verbose $action + + send $action + + expect { + $smb_prompt {} + timeout { perror "timed out $description"; return -1} + eof { perror "end of file $description"; return -1 } + } + + verbose $expect_out(buffer) + return $expect_out(buffer) +} |