1 # An expect script to setup a directory and share
for an smbtorture test.
2 # Copyright Brad Henry
<brad@samba.org
> 2006
3 # Released under the GNU GPL version
3 or later.
5 proc setup_test
{ remote_prompt sharepath sharename username local_hostname \
6 local_ip hosts_file_path backup_hosts_filename
} {
8 #
If creating the directory fails
, remove
, then
9 # re
-create the directory.
10 set err_str
[create_directory $remote_prompt $sharepath
]
11 if { $err_str
!= "OK" } {
12 if { $err_str
!= "Directory already exists" } {
13 puts stderr
"\nUnexpected error occured in setup_test.\n"
14 puts stderr
"Function create_directory returned $err_str."
16 puts stdout
"\nDirectory $sharepath exists."
18 puts stdout
"Re-creating directory $sharepath."
20 set err_str
[delete_directory $remote_prompt $sharepath
]
21 if { $err_str
!= "OK" } {
24 set err_str
[create_directory $remote_prompt $sharepath
]
25 if { $err_str
!= "OK" } {
30 #
If creating the share fails
, remove
, then
31 # re
-create the share.
32 set err_str
[create_share $remote_prompt $username $sharepath \
34 if { $err_str
!= "OK" } {
35 if { $err_str
!= "The name has already been shared" } {
36 puts stderr
"\nUnexpected error occured in setup_test."
37 puts stderr
"Function create_share returned $err_str."
39 puts stdout
"\nShare $sharename exists."
41 puts stdout
"Re-creating share $sharename."
43 set err_str
[delete_share $remote_prompt $sharename
]
44 if { $err_str
!= "OK" } {
47 set err_str
[create_share $remote_prompt $username $sharepath \
49 if { $err_str
!= "OK" } {
54 # Add a hosts file entry
on the windows machine
for the smbtorture host.
55 set err_str
[create_hosts_entry $remote_prompt $hosts_file_path \
56 $local_hostname $local_ip $backup_hosts_filename
]
61 set remote_host $env
(SMBTORTURE_REMOTE_HOST
)
62 set remote_prompt $env
(SMBTORTURE_REMOTE_PROMPT
)
64 set username $env
(SMBTORTURE_USERNAME
)
65 set password $env
(SMBTORTURE_PASSWORD
)
67 set timeout $env
(SMBTORTURE_EXPECT_TIMEOUT
)
69 set sharepath $env
(SMBTORTURE_REMOTE_SHARE_PATH
)
70 set sharename $env
(SMBTORTURE_REMOTE_SHARE_NAME
)
72 set local_hostname $env
(SMBTORTURE_LOCAL_HOSTNAME
)
73 set local_ip $env
(SMBTORTURE_LOCAL_IP
)
75 set backup_hosts_filename $env
(REMOTE_BACKUP_HOSTS_FILENAME
)
76 set hosts_file_path $env
(REMOTE_HOSTS_FILE_PATH
)
78 set err_val
[spawn $env
(SHELL)]
80 puts stderr
"Expect failed while spawning a shell process."
84 set err_str
[telnet_login $remote_prompt $remote_host $username $password
]
85 if {$err_str
!= "OK"} {
86 puts stderr
"\nFunction telnet_login failed during setup."
87 puts stderr
"Error was: $err_str."
91 set err_str
[setup_test $remote_prompt $sharepath $sharename $username \
92 $local_hostname $local_ip $hosts_file_path \
93 $backup_hosts_filename
]
94 if {$err_str
!= "OK"} {
95 puts stderr
"\nFunction setup_test failed during setup."
96 puts stderr
"Error was: $err_str."
97 #
Log off from the telnet server.
102 #
Log off from the telnet server.