svn commit: samba r8196 - in branches/SAMBA_4_0/testprogs/ejs: .

tridge at samba.org tridge at samba.org
Thu Jul 7 07:43:45 GMT 2005


Author: tridge
Date: 2005-07-07 07:43:45 +0000 (Thu, 07 Jul 2005)
New Revision: 8196

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

Log:
- added testing of the EchoData interface in the echo test script

- add asserts on all calls for correct results

Modified:
   branches/SAMBA_4_0/testprogs/ejs/echo.js


Changeset:
Modified: branches/SAMBA_4_0/testprogs/ejs/echo.js
===================================================================
--- branches/SAMBA_4_0/testprogs/ejs/echo.js	2005-07-07 07:42:47 UTC (rev 8195)
+++ branches/SAMBA_4_0/testprogs/ejs/echo.js	2005-07-07 07:43:45 UTC (rev 8196)
@@ -5,34 +5,98 @@
 function irpcObj()
 {
 	var o = new Object();
-	o.in = new Object();
+	o.input = new Object();
 	return o;
 }
 
-function test_AddOne(binding)
+/*
+  generate a ramp as an integer array
+ */
+function ramp_array(N)
 {
-	var status;
-	var conn = new Object();
-	var io = irpcObj();
+	var a = new Array(N);
+	for (i=0;i<N;i++) {
+		a[i] = i+1;
+	}
+	return a;
+}
 
-	status = rpc_connect(conn, binding, "rpcecho");
+
+/*
+  check that a status result is OK
+*/
+function check_status_ok(status)
+{
 	if (status.is_ok != true) {
-	   print("Failed to connect to " + binding + " - " + status.errstr + "\n");
-	   return;
+		printVars(status);
 	}
+	assert(status.is_ok == true);
+}
 
+/*
+  check that two arrays are equal
+*/
+function check_array_equal(a1, a2)
+{
+	assert(a1.length == a2.length);
+	for (i=0; i<a1.length; i++) {
+		assert(a1[i] == a2[i]);
+	}
+}
+
+/*
+  test the echo_AddOne interface
+*/
+function test_AddOne(conn)
+{
+	var status;
+	var io = irpcObj();
+
+	print("Testing echo_AddOne\n");
+
 	for (i=0;i<10;i++) {
-		io.in.in_data = i;
+		io.input.in_data = i;
 		status = dcerpc_echo_AddOne(conn, io);
-		print("AddOne(" + i + ")=" + io.out.out_data + "\n");
+		check_status_ok(status);
+		assert(io.output.out_data == i + 1);
 	}
 }
 
+/*
+  test the echo_EchoData interface
+*/
+function test_EchoData(conn)
+{
+	var status;
+	var io = irpcObj();
+
+	print("Testing echo_EchoData\n");
+
+	for (i=0; i<30; i=i+5) {
+		io.input.len = i;
+		io.input.in_data = ramp_array(i);
+		status = dcerpc_echo_EchoData(conn, io);
+		check_status_ok(status);
+		check_array_equal(io.input.in_data, io.output.out_data);
+	}
+}
+
 if (ARGV.length == 0) {
    print("Usage: echo.js <RPCBINDING>\n");
    exit(0);
 }
 
 var binding = ARGV[0];
+var conn = new Object();
 
-test_AddOne(binding);
+print("Connecting to " + binding + "\n");
+status = rpc_connect(conn, binding, "rpcecho");
+if (status.is_ok != true) {
+   print("Failed to connect to " + binding + " - " + status.errstr + "\n");
+   return;
+}
+
+test_AddOne(conn);
+test_EchoData(conn);
+
+print("All OK\n");



More information about the samba-cvs mailing list