summaryrefslogtreecommitdiff
path: root/source4/torture/rpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-04 23:27:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:08:17 -0500
commit7588a01cb6d387440d778e3bd77225b287cf48bc (patch)
tree9b69ed4a4847d6a28ceaa4568ae034f3eba434db /source4/torture/rpc
parent8448dd6ea0c706e0d5ec5d8773939aa188b62904 (diff)
downloadsamba-7588a01cb6d387440d778e3bd77225b287cf48bc.tar.gz
samba-7588a01cb6d387440d778e3bd77225b287cf48bc.tar.bz2
samba-7588a01cb6d387440d778e3bd77225b287cf48bc.zip
r4520: added a enum test function to the echo pipe
(This used to be commit f9e0aa1ab1faac039893db241819907c9c4bb510)
Diffstat (limited to 'source4/torture/rpc')
-rw-r--r--source4/torture/rpc/echo.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/source4/torture/rpc/echo.c b/source4/torture/rpc/echo.c
index c141d4be9c..5db438afd0 100644
--- a/source4/torture/rpc/echo.c
+++ b/source4/torture/rpc/echo.c
@@ -262,6 +262,41 @@ static BOOL test_sleep(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
}
#endif
+
+/*
+ test enum handling
+*/
+static BOOL test_enum(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
+{
+ NTSTATUS status;
+ struct echo_TestEnum r;
+ BOOL ret = True;
+ enum echo_Enum1 v = ECHO_ENUM1;
+ struct echo_Enum2 e2;
+ union echo_Enum3 e3;
+
+ r.in.foo1 = &v;
+ r.in.foo2 = &e2;
+ r.in.foo3 = &e3;
+ r.out.foo1 = &v;
+ r.out.foo2 = &e2;
+ r.out.foo3 = &e3;
+
+ e2.e1 = 76;
+ e2.e2 = ECHO_ENUM1_32;
+ e3.e1 = ECHO_ENUM2;
+
+ printf("\nTesting TestEnum\n");
+ status = dcerpc_echo_TestEnum(p, mem_ctx, &r);
+ if (!NT_STATUS_IS_OK(status)) {
+ printf("TestEnum failed - %s\n", nt_errstr(status));
+ ret = False;
+ }
+
+ return ret;
+}
+
+
BOOL torture_rpc_echo(void)
{
NTSTATUS status;
@@ -303,6 +338,10 @@ BOOL torture_rpc_echo(void)
ret = False;
}
+ if (!test_enum(p, mem_ctx)) {
+ ret = False;
+ }
+
/*
if (!test_sleep(p, mem_ctx)) {
ret = False;