From b409d4120f9ae451f93a2322267c0f346531d9f3 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 26 Aug 2007 15:16:40 +0000 Subject: r24667: Finally merge the registry improvements that Wilco Baan Hofman and I have been working on for at least half a year now. Contains the following improvements: * proper layering (finally!) for the registry library. Distinction is now made between 'real' backends (local, remote, wine, etc) and the low-level hive backends (regf, creg, ldb, ...) that are only used by the local registry backend * tests for all important hive and registry operations * re-enable RPC-WINREG tests (still needs more work though, as some return values aren't checked yet) * write support for REGF files * dir backend now supports setting/reading values, creating keys * support for storing security descriptors * remove CREG backend as it was incomplete, didn't match the data model and wasn't used at all anyway * support for parsing ADM files as used by the policy editor (see lib/policy) * support for parsing PREG files (format used by .POL files) * new streaming interface for registry diffs (improves speed and memory usage for regdiff/regpatch significantly) ... and fixes a large number of bugs in the registry code (This used to be commit 7a1eec6358bc863dfc671c542b7185d3e39d7b5a) --- source4/torture/ui.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'source4/torture/ui.h') diff --git a/source4/torture/ui.h b/source4/torture/ui.h index 4dd5e45300..c3b0092d48 100644 --- a/source4/torture/ui.h +++ b/source4/torture/ui.h @@ -165,6 +165,13 @@ struct torture_tcase *torture_suite_add_simple_tcase( bool (*run) (struct torture_context *test, const void *test_data), const void *data); +/* Convenience function that adds a test which only + * gets the test case data */ +struct torture_test *torture_tcase_add_simple_test( + struct torture_tcase *tcase, + const char *name, + bool (*run) (struct torture_context *test, const void *tcase_data)); + /* Convenience wrapper that adds a test that doesn't need any * testcase data */ struct torture_tcase *torture_suite_add_simple_test( @@ -258,6 +265,20 @@ void torture_result(struct torture_context *test, talloc_free(__got); \ } while(0) +#define torture_assert_file_contains(torture_ctx,filename,expected,cmt)\ + do { const char *__got, *__expected = (expected); \ + size_t __size; \ + __got = file_load(filename, *size, torture_ctx); \ + if (strcmp_safe(__got, __expected) != 0) { \ + torture_result(torture_ctx, TORTURE_FAIL, \ + __location__": %s contained:\n%sExpected: %s%s\n", \ + __got, __expected, cmt); \ + talloc_free(__got); \ + return false; \ + } \ + talloc_free(__got); \ + } while(0) + #define torture_assert_int_equal(torture_ctx,got,expected,cmt)\ do { int __got = (got), __expected = (expected); \ if (__got != __expected) { \ -- cgit