From 3fc105b106c1ebf0ab097b9cf150dc211be01d92 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 26 Jun 2006 19:23:21 +0000 Subject: r16524: Fix double evaluation. (This used to be commit 93f7adfb140d9e77120dd197d05a8fdd50e768bd) --- source4/torture/local/socket.c | 4 ++-- source4/torture/ui.h | 31 ++++++++++++++++++++----------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/source4/torture/local/socket.c b/source4/torture/local/socket.c index 10dfd75ece..70baae712d 100644 --- a/source4/torture/local/socket.c +++ b/source4/torture/local/socket.c @@ -54,7 +54,7 @@ static BOOL test_udp(struct torture_context *test, const void *data) torture_assert(test, localhost, "Localhost not found"); status = socket_listen(sock1, localhost, 0, 0); - torture_assert_ntstatus_ok(test, status, "listen on socket 1") + torture_assert_ntstatus_ok(test, status, "listen on socket 1"); srv_addr = socket_get_my_addr(sock1, test); if (srv_addr == NULL || strcmp(srv_addr->addr, iface_best_ip("127.0.0.1")) != 0) { @@ -164,7 +164,7 @@ static BOOL test_tcp(struct torture_context *test, const void *data) torture_comment(test, "server port is %d", srv_addr->port); status = socket_connect_ev(sock2, NULL, srv_addr, 0, ev); - torture_assert_ntstatus_ok(test, status, "connect() on socket 2") + torture_assert_ntstatus_ok(test, status, "connect() on socket 2"); status = socket_accept(sock1, &sock3); torture_assert_ntstatus_ok(test, status, "accept() on socket 1"); diff --git a/source4/torture/ui.h b/source4/torture/ui.h index 96dccbd5a0..0cf7f3fa22 100644 --- a/source4/torture/ui.h +++ b/source4/torture/ui.h @@ -125,32 +125,41 @@ BOOL torture_run_test(struct torture_context *context, } #define torture_assert_werr_equal(ctx,got,expected,string) \ - if (!W_ERROR_EQUAL(got, expected)) { \ + do { WERROR __got = got, __expected = expected; \ + if (!W_ERROR_EQUAL(__got, __expected)) { \ torture_fail(ctx, "%s:%d (%s): got %s, expected %s", __FILE__, \ - __LINE__, string, win_errstr(got), win_errstr(expected)); \ + __LINE__, string, win_errstr(__got), win_errstr(__expected)); \ return False; \ - } + } \ + } while (0) #define torture_assert_ntstatus_equal(ctx,got,expected,string) \ - if (!NT_STATUS_EQUAL(got, expected)) { \ + do { NTSTATUS __got = got, __expected = expected; \ + if (!NT_STATUS_EQUAL(__got, __expected)) { \ torture_fail(ctx, "%s:%d (%s): got %s, expected %s", __FILE__, \ - __LINE__, string, nt_errstr(got), nt_errstr(expected)); \ + __LINE__, string, nt_errstr(__got), nt_errstr(__expected)); \ return False; \ - } + }\ + } while(0) + #define torture_assert_casestr_equal(ctx,got,expected,string) \ - if (strcasecmp(got, expected) != 0) { \ + do { const char *__got = got, __expected = expected; \ + if (strcasecmp(__got, __expected) != 0) { \ torture_fail(ctx, "%s:%d (%s): got %s, expected %s", __FILE__, \ __LINE__, string, got, expected); \ return False; \ - } + } \ + } while(0) #define torture_assert_str_equal(ctx,got,expected,string) \ - if (strcmp(got, expected) != 0) { \ + do { const char *__got = got, __expected = expected; \ + if (strcmp(__got, __expected) != 0) { \ torture_fail(ctx, "%s:%d (%s): got %s, expected %s", __FILE__, \ - __LINE__, string, got, expected); \ + __LINE__, string, __got, __expected); \ return False; \ - } + } \ + } while(0) /* Convenience macros */ -- cgit