lib/torture: add torture_assert_hresult_{equal,ok} macros.
authorGünther Deschner <gd@samba.org>
Tue, 21 Jul 2015 20:21:46 +0000 (22:21 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 30 Jul 2015 23:55:28 +0000 (01:55 +0200)
Guenther

Signed-off-by: Günther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/torture/torture.h

index 2d99e6570ae06816410d2ef28bed74381f2bda60..356922a295d9de67fe4f6523c7d10b8f7c8156f4 100644 (file)
@@ -293,6 +293,14 @@ void torture_result(struct torture_context *test,
        }\
        } while(0)
 
+#define torture_assert_hresult_equal(torture_ctx, got, expected, cmt) \
+       do { HRESULT __got = got, __expected = expected; \
+       if (!HRES_IS_EQUAL(__got, __expected)) { \
+               torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %s, expected %s: %s", hresult_errstr(__got), hresult_errstr(__expected), cmt); \
+               return false; \
+       } \
+       } while (0)
+
 #define torture_assert_casestr_equal(torture_ctx,got,expected,cmt) \
        do { const char *__got = (got), *__expected = (expected); \
        if (!strequal(__got, __expected)) { \
@@ -563,6 +571,9 @@ void torture_result(struct torture_context *test,
 #define torture_assert_ndr_success(torture_ctx,expr,cmt) \
                torture_assert_ndr_err_equal(torture_ctx,expr,NDR_ERR_SUCCESS,cmt)
 
+#define torture_assert_hresult_ok(torture_ctx,expr,cmt) \
+               torture_assert_hresult_equal(torture_ctx,expr,HRES_ERROR(0), cmt)
+
 /* Getting settings */
 const char *torture_setting_string(struct torture_context *test, \
                                                                   const char *name,