svn commit: samba r17650 - in branches/SOC/bnh/expect: .

brad at samba.org brad at samba.org
Mon Aug 21 04:06:50 GMT 2006


Author: brad
Date: 2006-08-21 04:06:50 +0000 (Mon, 21 Aug 2006)
New Revision: 17650

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17650

Log:
Add windows client / samba server test framework.


Added:
   branches/SOC/bnh/expect/wintest_client.exp


Changeset:
Added: branches/SOC/bnh/expect/wintest_client.exp
===================================================================
--- branches/SOC/bnh/expect/wintest_client.exp	2006-08-21 04:05:13 UTC (rev 17649)
+++ branches/SOC/bnh/expect/wintest_client.exp	2006-08-21 04:06:50 UTC (rev 17650)
@@ -0,0 +1,95 @@
+# An expect script to create a temporary file, map a share, copy the file to the share,
+# and compare the contents of the two files.
+# Copyright Brad Henry <brad at samba.org> 2006
+# Released under the GNU GPL v2 or later.
+
+proc run_test { remote_prompt tmp_filename share_drive host_drive buildhost_ip buildhost_share username domain password } {
+
+	# Create the temp file on the windows host and connect to the samba share.
+	set host_tmpfile "$host_drive\\$tmp_filename"
+	set err_str [create_tmp_file $remote_prompt $host_tmpfile]
+	if { $err_str != "OK" } {
+		return $err_str
+	}
+
+	set buildhost_sharepoint "\\\\$buildhost_ip\\$buildhost_share"
+	set err_str [map_share $remote_prompt $share_drive $buildhost_sharepoint $username $domain $password]
+	if { $err_str != "OK" } {
+		return $err_str
+	}
+
+	# Copy the temp file to the share and compare its contents with the original.
+	set share_tmpfile "$share_drive\\$tmp_filename"
+	set xcopy_options ""
+	set err_str [xcopy_file $remote_prompt $host_tmpfile $share_tmpfile $xcopy_options]
+	if { $err_str != "OK" } {
+		return $err_str
+	}
+
+	set err_str [compare_files $remote_prompt $host_tmpfile $share_tmpfile]
+	if { $err_str != "OK" } {
+		return $err_str
+	}
+
+	# Remove files and unmap share.
+	set err_str [delete_file $remote_prompt $share_tmpfile]
+	if { $err_str != "OK" } {
+		return $err_str
+	}
+	set err_str [delete_file $remote_prompt $host_tmpfile]
+	if { $err_str != "OK" } {
+		return $err_str
+	}
+
+	set err_str [unmap_share $remote_prompt $share_drive]
+	if {$err_str != "OK" } {
+		return $err_str
+	}
+
+	return $err_str
+}
+
+# Read parameters.
+set remote_prompt $env(SMBTORTURE_REMOTE_PROMPT)
+set remote_host $env(SMBTORTURE_REMOTE_HOST)
+set username $env(SMBTORTURE_USERNAME)
+set password $env(SMBTORTURE_PASSWORD)
+set timeout $env(SMBTORTURE_EXPECT_TIMEOUT)
+
+set tmp_filename $env(SMBTORTURE_TMP_FILENAME)
+
+set share_drive $env(SMBTORTURE_REMOTE_DRIVE_LETTER)
+set host_drive "%HOMEDRIVE%"
+
+set buildhost_ip $env(SMBTORTURE_LOCAL_IP)
+set buildhost_share $env(SMBTORTURE_LOCAL_SHARE_NAME)
+set buildhost_username $env(SMBTORTURE_LOCAL_USERNAME)
+set buildhost_domain $env(SMBTORTURE_LOCAL_DOMAIN)
+set buildhost_password $env(SMBTORTURE_LOCAL_PASSWORD)
+
+set err_val [spawn $env(SHELL)]
+if {$err_val == 0} {
+	puts stderr "Expect failed while spawning a shell process."
+	exit $err_val
+}
+
+set err_str [telnet_login $remote_prompt $remote_host $username $password]
+if {$err_str != "OK"} {
+	puts stderr "\nFunction telnet_login failed during Samba server testing."
+	puts stderr "Error was: $err_str."
+	exit 1
+}
+
+set err_str [run_test $remote_prompt $tmp_filename $share_drive $host_drive $buildhost_ip $buildhost_share $buildhost_username $buildhost_domain $buildhost_password]
+if {$err_str != "OK"} {
+	puts stderr "\nFunction run_test failed during Samba server testing."
+	puts stderr "Error was: $err_str."
+
+	# Log off from the telnet server.
+	send "exit\r\n"
+	exit 1
+}
+
+# Log off from the telnet server.
+send "exit\r\n"
+exit 0



More information about the samba-cvs mailing list