s4-torture: move torture_assert_sid_equal() out of ndr headers.
[sfrench/samba-autobuild/.git] / lib / torture / torture.h
index 01947e773db67fff72701c3a7598f33ecd3e4733..2d1ecccb936be88e4880e2a5e35e29d74c40f17c 100644 (file)
@@ -311,6 +311,16 @@ void torture_result(struct torture_context *test,
        } \
        } while(0)
 
+#define torture_assert_strn_equal(torture_ctx,got,expected,len,cmt)\
+       do { const char *__got = (got), *__expected = (expected); \
+       if (strncmp(__got, __expected, len) != 0) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                                          __location__": "#got" %s of len %d did not match "#expected" %s: %s", \
+                                          __got, (int)len, __expected, cmt); \
+               return false; \
+       } \
+       } while(0)
+
 #define torture_assert_str_equal_goto(torture_ctx,got,expected,ret,label,cmt)\
        do { const char *__got = (got), *__expected = (expected); \
        if (strcmp_safe(__got, __expected) != 0) { \
@@ -404,6 +414,27 @@ void torture_result(struct torture_context *test,
        } \
        } while(0)
 
+#define torture_assert_int_not_equal(torture_ctx,got,not_expected,cmt)\
+       do { int __got = (got), __not_expected = (not_expected); \
+       if (__got == __not_expected) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was %d (0x%X), expected a different number: %s", \
+                       __got, __got, cmt); \
+               return false; \
+       } \
+       } while(0)
+
+#define torture_assert_int_not_equal_goto(torture_ctx,got,not_expected,ret,label,cmt)\
+       do { int __got = (got), __not_expected = (not_expected); \
+       if (__got == __not_expected) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was %d (0x%X), expected a different number: %s", \
+                       __got, __got, cmt); \
+               ret = false; \
+               goto label; \
+       } \
+       } while(0)
+
 #define torture_assert_u64_equal(torture_ctx,got,expected,cmt)\
        do { uint64_t __got = (got), __expected = (expected); \
        if (__got != __expected) { \
@@ -416,6 +447,30 @@ void torture_result(struct torture_context *test,
        } \
        } while(0)
 
+#define torture_assert_u64_equal_goto(torture_ctx,got,expected,ret,label,cmt)\
+       do { uint64_t __got = (got), __expected = (expected); \
+       if (__got != __expected) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was %llu (0x%llX), expected %llu (0x%llX): %s", \
+                       (unsigned long long)__got, (unsigned long long)__got, \
+                       (unsigned long long)__expected, (unsigned long long)__expected, \
+                       cmt); \
+               ret = false; \
+               goto label; \
+       } \
+       } while(0)
+
+#define torture_assert_u64_not_equal(torture_ctx,got,not_expected,cmt)\
+       do { uint64_t __got = (got), __not_expected = (not_expected); \
+       if (__got == __not_expected) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was %llu (0x%llX), expected a different number: %s", \
+                       (unsigned long long)__got, (unsigned long long)__got, \
+                       cmt); \
+               return false; \
+       } \
+       } while(0)
+
 #define torture_assert_errno_equal(torture_ctx,expected,cmt)\
        do { int __expected = (expected); \
        if (errno != __expected) { \
@@ -427,7 +482,54 @@ void torture_result(struct torture_context *test,
        } \
        } while(0)
 
+#define torture_assert_guid_equal(torture_ctx,got,expected,cmt)\
+       do { struct GUID __got = (got), __expected = (expected); \
+       if (!GUID_equal(&__got, &__expected)) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was %s, expected %s: %s", \
+                       GUID_string(torture_ctx, &__got), GUID_string(torture_ctx, &__expected), cmt); \
+               return false; \
+       } \
+       } while(0)
+
+#define torture_assert_nttime_equal(torture_ctx,got,expected,cmt) \
+       do { NTTIME __got = got, __expected = expected; \
+       if (!nt_time_equal(&__got, &__expected)) { \
+               torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %s, expected %s: %s", nt_time_string(tctx, __got), nt_time_string(tctx, __expected), cmt); \
+               return false; \
+       }\
+       } while(0)
+
+#define torture_assert_sid_equal(torture_ctx,got,expected,cmt)\
+       do { struct dom_sid *__got = (got), *__expected = (expected); \
+       if (!dom_sid_equal(__got, __expected)) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                                          __location__": "#got" was %s, expected %s: %s", \
+                                          dom_sid_string(torture_ctx, __got), dom_sid_string(torture_ctx, __expected), cmt); \
+               return false; \
+       } \
+       } while(0)
+
+#define torture_assert_not_null(torture_ctx,got,cmt)\
+       do { void *__got = (got); \
+       if (__got == NULL) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was NULL, expected != NULL: %s", \
+                       cmt); \
+               return false; \
+       } \
+       } while(0)
 
+#define torture_assert_not_null_goto(torture_ctx,got,ret,label,cmt)\
+       do { void *__got = (got); \
+       if (__got == NULL) { \
+               torture_result(torture_ctx, TORTURE_FAIL, \
+                       __location__": "#got" was NULL, expected != NULL: %s", \
+                       cmt); \
+               ret = false; \
+               goto label; \
+       } \
+       } while(0)
 
 #define torture_skip(torture_ctx,cmt) do {\
                torture_result(torture_ctx, TORTURE_SKIP, __location__": %s", cmt);\
@@ -488,6 +590,7 @@ unsigned long torture_setting_ulong(struct torture_context *test,
 NTSTATUS torture_temp_dir(struct torture_context *tctx, 
                                   const char *prefix, 
                                   char **tempdir);
+NTSTATUS torture_deltree_outputdir(struct torture_context *tctx);
 
 struct torture_test *torture_tcase_add_simple_test(struct torture_tcase *tcase,
                const char *name,
@@ -506,5 +609,6 @@ struct torture_results *torture_results_init(TALLOC_CTX *mem_ctx, const struct t
 struct torture_context *torture_context_child(struct torture_context *tctx);
 
 extern const struct torture_ui_ops torture_subunit_ui_ops;
+extern const struct torture_ui_ops torture_simple_ui_ops;
 
 #endif /* __TORTURE_UI_H__ */