diff options
author | Günther Deschner <gd@samba.org> | 2010-03-10 00:06:52 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2010-03-10 00:46:23 +0100 |
commit | 6d10645bcae39f1377c1e3bfd01578519586289d (patch) | |
tree | 986252b41fc745fdab3433aa4ea665c88d07a6cf /source4/torture/rpc | |
parent | f7f67e9e1f678e0256deeca94939bf29e6a04fa4 (diff) | |
download | samba-6d10645bcae39f1377c1e3bfd01578519586289d.tar.gz samba-6d10645bcae39f1377c1e3bfd01578519586289d.tar.bz2 samba-6d10645bcae39f1377c1e3bfd01578519586289d.zip |
s4-smbtorture: add tests for set and delete value in RPC-WINREG.
Guenther
Diffstat (limited to 'source4/torture/rpc')
-rw-r--r-- | source4/torture/rpc/winreg.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/source4/torture/rpc/winreg.c b/source4/torture/rpc/winreg.c index 5f1a66b985..bce3818f3e 100644 --- a/source4/torture/rpc/winreg.c +++ b/source4/torture/rpc/winreg.c @@ -1429,6 +1429,58 @@ static bool test_QueryInfoKey(struct dcerpc_pipe *p, return true; } +static bool test_SetValue(struct dcerpc_pipe *p, + struct torture_context *tctx, + struct policy_handle *handle, + const char *value_name, + enum winreg_Type type, + uint8_t *data, + uint32_t size) +{ + struct winreg_SetValue r; + struct winreg_String name; + + torture_comment(tctx, "Testing SetValue(%s)\n", value_name); + + init_winreg_String(&name, value_name); + + r.in.handle = handle; + r.in.name = name; + r.in.type = type; + r.in.data = data; + r.in.size = size; + + torture_assert_ntstatus_ok(tctx, dcerpc_winreg_SetValue(p, tctx, &r), + "winreg_SetValue failed"); + torture_assert_werr_ok(tctx, r.out.result, + "winreg_SetValue failed"); + + return true; +} + +static bool test_DeleteValue(struct dcerpc_pipe *p, + struct torture_context *tctx, + struct policy_handle *handle, + const char *value_name) +{ + struct winreg_DeleteValue r; + struct winreg_String value; + + torture_comment(tctx, "Testing DeleteValue(%s)\n", value_name); + + init_winreg_String(&value, value_name); + + r.in.handle = handle; + r.in.value = value; + + torture_assert_ntstatus_ok(tctx, dcerpc_winreg_DeleteValue(p, tctx, &r), + "winreg_DeleteValue failed"); + torture_assert_werr_ok(tctx, r.out.result, + "winreg_DeleteValue failed"); + + return true; +} + static bool test_key(struct dcerpc_pipe *p, struct torture_context *tctx, struct policy_handle *handle, int depth, bool test_security); |