summaryrefslogtreecommitdiff
path: root/source4/lib/registry/tests/diff.c
diff options
context:
space:
mode:
authorWilco Baan Hofman <wilco@synlap.(none)>2008-04-15 19:57:29 +0200
committerWilco Baan Hofman <wilco@synlap.(none)>2008-04-15 19:57:29 +0200
commit5e687d79533684949deb9bd9bc86f88eab4ae310 (patch)
tree8da94d0a96250cc3d05566e9d71ee258acd0babc /source4/lib/registry/tests/diff.c
parent0b8d2b3cb779463a1e24039300ac2669862f9b64 (diff)
downloadsamba-5e687d79533684949deb9bd9bc86f88eab4ae310.tar.gz
samba-5e687d79533684949deb9bd9bc86f88eab4ae310.tar.bz2
samba-5e687d79533684949deb9bd9bc86f88eab4ae310.zip
Fix PReg write support.
Add tests for patch files (.REG and PReg). (This used to be commit 497977c36c621a4820be51cbcb7b78eac1e292b7)
Diffstat (limited to 'source4/lib/registry/tests/diff.c')
-rw-r--r--source4/lib/registry/tests/diff.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/source4/lib/registry/tests/diff.c b/source4/lib/registry/tests/diff.c
index da62342124..4bd868ea51 100644
--- a/source4/lib/registry/tests/diff.c
+++ b/source4/lib/registry/tests/diff.c
@@ -24,6 +24,7 @@
#include "lib/registry/registry.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/winreg.h"
+#include "param/param.h"
struct diff_tcase_data {
struct registry_context *r1_ctx;
@@ -56,13 +57,12 @@ static bool test_generate_diff(struct torture_context *tctx, void *tcase_data)
static bool test_diff_load(struct torture_context *tctx, void *tcase_data)
{
struct diff_tcase_data *td = tcase_data;
- struct smb_iconv_convenience *iconv_convenience;
+ struct smb_iconv_convenience *ic;
struct reg_diff_callbacks *callbacks;
void *data;
WERROR error;
- iconv_convenience = smb_iconv_convenience_init(tctx, "CP850", "UTF-8", 1);
-
+ ic = lp_iconv_convenience(tctx->lp_ctx);
error = reg_diff_load(td->filename, iconv_convenience, callbacks, data);
torture_assert_werr_ok(tctx, error, "reg_diff_load");
@@ -244,13 +244,16 @@ static bool diff_setup_tcase(struct torture_context *tctx, void **data)
static bool diff_setup_preg_tcase (struct torture_context *tctx, void **data)
{
struct diff_tcase_data *td;
+ struct smb_iconv_convenience *ic;
WERROR error;
diff_setup_tcase(tctx, data);
td = *data;
-
+
+ ic = lp_iconv_convenience(tctx->lp_ctx);
+
td->filename = talloc_asprintf(tctx, "%s/test.pol", td->tempdir);
- error = reg_preg_diff_save(tctx, td->filename, &td->callbacks, &td->callback_data);
+ error = reg_preg_diff_save(tctx, td->filename, ic, &td->callbacks, &td->callback_data);
torture_assert_werr_ok(tctx, error, "reg_preg_diff_save");
return true;
@@ -259,16 +262,16 @@ static bool diff_setup_preg_tcase (struct torture_context *tctx, void **data)
static bool diff_setup_dotreg_tcase (struct torture_context *tctx, void **data)
{
struct diff_tcase_data *td;
- struct smb_iconv_convenience *iconv_convenience;
+ struct smb_iconv_convenience *ic;
WERROR error;
diff_setup_tcase(tctx, data);
td = *data;
- iconv_convenience = smb_iconv_convenience_init(tctx, "CP850", "UTF-8", 1);
+ ic = lp_iconv_convenience(tctx->lp_ctx);
td->filename = talloc_asprintf(tctx, "%s/test.reg", td->tempdir);
- error = reg_dotreg_diff_save(tctx, td->filename, iconv_convenience, &td->callbacks, &td->callback_data);
+ error = reg_dotreg_diff_save(tctx, td->filename, ic, &td->callbacks, &td->callback_data);
torture_assert_werr_ok(tctx, error, "reg_dotreg_diff_save");
return true;