1# An expect script to remove a directory and share which was 2# previously setup for an smbtorture test. 3# Copyright Brad Henry <brad@samba.org> 2006 4# Released under the GNU GPL version 3 or later. 5 6proc remove_test { remote_prompt sharepath sharename hosts_file_path \ 7 backup_hosts_filename } { 8 9 set err_str [delete_share $remote_prompt $sharename] 10 if { $err_str != "OK" } { 11 puts stderr "Error in function delete_share: $err_str." 12 puts stderr "Function remove_test will continue." 13 } 14 15 set err_str [delete_directory $remote_prompt $sharepath] 16 if { $err_str != "OK" } { 17 puts stderr "Error in function delete_directory: $err_str." 18 puts stderr "Function remove_test will continue." 19 } 20 21 # Overwrite the current hosts file with the backup we made during setup. 22 set err_str [delete_hosts_entry $remote_prompt $hosts_file_path \ 23 $backup_hosts_filename] 24 if { $err_str != "OK" } { 25 puts stderr "Error in function delete_hosts_entry: $err_str." 26 puts stderr "Function remove_test will continue." 27 } 28 return $err_str 29} 30 31# read parameters 32set remote_host $env(SMBTORTURE_REMOTE_HOST) 33set remote_prompt $env(SMBTORTURE_REMOTE_PROMPT) 34 35set username $env(SMBTORTURE_USERNAME) 36set password $env(SMBTORTURE_PASSWORD) 37 38set timeout $env(SMBTORTURE_EXPECT_TIMEOUT) 39 40set sharepath $env(SMBTORTURE_REMOTE_SHARE_PATH) 41set sharename $env(SMBTORTURE_REMOTE_SHARE_NAME) 42 43set backup_hosts_filename $env(REMOTE_BACKUP_HOSTS_FILENAME) 44set hosts_file_path $env(REMOTE_HOSTS_FILE_PATH) 45 46set err_val [spawn $env(SHELL)] 47if {$err_val == 0} { 48 puts stderr "Expect failed while spawning a shell process." 49 exit $err_val 50} 51 52set err_str [telnet_login $remote_prompt $remote_host $username $password] 53if {$err_str != "OK"} { 54 puts stderr "\nFunction telnet_login failed during cleanup." 55 puts stderr "Error was: $err_str." 56 exit 1 57} 58 59set err_str [remove_test $remote_prompt $sharepath $sharename \ 60 $hosts_file_path $backup_hosts_filename] 61if {$err_str != "OK"} { 62 puts stderr "\nFunction remove_test failed." 63 puts stderr "Error was: $err_str." 64 # Log off from the telnet server. 65 send "exit\r\n" 66 exit 1 67} 68 69# Log off from the telnet server. 70send "exit\r\n" 71exit 0 72