Commit 45b85c4b authored by John Esmet's avatar John Esmet

Refactor this test to be more agreeable with clang

parent 32005e36
...@@ -100,38 +100,36 @@ test_create (void) { ...@@ -100,38 +100,36 @@ test_create (void) {
msg_buffer.destroy(); msg_buffer.destroy();
} }
static char *buildkey(size_t len) {
char *XMALLOC_N(len, k);
memset(k, 0, len);
return k;
}
static char *buildval(size_t len) {
char *XMALLOC_N(len, v);
memset(v, ~len, len);
return v;
}
static void static void
test_enqueue(int n) { test_enqueue(int n) {
int r;
message_buffer msg_buffer;
MSN startmsn = ZERO_MSN; MSN startmsn = ZERO_MSN;
message_buffer msg_buffer;
msg_buffer.create(); msg_buffer.create();
char *thekey = 0; int thekeylen;
char *theval = 0; int thevallen;
// this was a function but icc cant handle it
#define buildkey(len) { \
thekeylen = len+1; \
XREALLOC_N(thekeylen, thekey); \
memset(thekey, len, thekeylen); \
}
#define buildval(len) { \
thevallen = len+2; \
XREALLOC_N(thevallen, theval); \
memset(theval, ~len, thevallen); \
}
for (int i=0; i<n; i++) { for (int i=0; i<n; i++) {
buildkey(i); int thekeylen = i + 1;
buildval(i); int thevallen = i + 2;
char *thekey = buildkey(thekeylen);
char *theval = buildval(thevallen);
XIDS xids; XIDS xids;
if (i==0) if (i == 0) {
xids = xids_get_root_xids(); xids = xids_get_root_xids();
else { } else {
r = xids_create_child(xids_get_root_xids(), &xids, (TXNID)i); int r = xids_create_child(xids_get_root_xids(), &xids, (TXNID)i);
assert(r==0); assert_zero(r);
} }
MSN msn = next_dummymsn(); MSN msn = next_dummymsn();
if (startmsn.msn == ZERO_MSN.msn) if (startmsn.msn == ZERO_MSN.msn)
...@@ -143,6 +141,8 @@ test_enqueue(int n) { ...@@ -143,6 +141,8 @@ test_enqueue(int n) {
}; };
msg_buffer.enqueue(&msg, true, nullptr); msg_buffer.enqueue(&msg, true, nullptr);
xids_destroy(&xids); xids_destroy(&xids);
toku_free(thekey);
toku_free(theval);
} }
struct checkit_fn { struct checkit_fn {
...@@ -153,12 +153,10 @@ test_enqueue(int n) { ...@@ -153,12 +153,10 @@ test_enqueue(int n) {
: startmsn(smsn), verbose(v), i(0) { : startmsn(smsn), verbose(v), i(0) {
} }
int operator()(FT_MSG msg, bool UU(is_fresh)) { int operator()(FT_MSG msg, bool UU(is_fresh)) {
char *thekey = nullptr; int thekeylen = i + 1;
int thekeylen = 0; int thevallen = i + 2;
char *theval = nullptr; char *thekey = buildkey(thekeylen);
int thevallen = 0; char *theval = buildval(thevallen);
buildkey(i);
buildval(i);
MSN msn = msg->msn; MSN msn = msg->msn;
enum ft_msg_type type = ft_msg_get_type(msg); enum ft_msg_type type = ft_msg_get_type(msg);
...@@ -168,18 +166,15 @@ test_enqueue(int n) { ...@@ -168,18 +166,15 @@ test_enqueue(int n) {
assert((int) ft_msg_get_vallen(msg) == thevallen); assert(memcmp(ft_msg_get_val(msg), theval, ft_msg_get_vallen(msg)) == 0); assert((int) ft_msg_get_vallen(msg) == thevallen); assert(memcmp(ft_msg_get_val(msg), theval, ft_msg_get_vallen(msg)) == 0);
assert(i % 256 == (int)type); assert(i % 256 == (int)type);
assert((TXNID)i==xids_get_innermost_xid(ft_msg_get_xids(msg))); assert((TXNID)i==xids_get_innermost_xid(ft_msg_get_xids(msg)));
i += 1;
toku_free(thekey); toku_free(thekey);
toku_free(theval); toku_free(theval);
i += 1;
return 0; return 0;
} }
} checkit(startmsn, verbose); } checkit(startmsn, verbose);
msg_buffer.iterate(checkit); msg_buffer.iterate(checkit);
assert(checkit.i == n); assert(checkit.i == n);
if (thekey) toku_free(thekey);
if (theval) toku_free(theval);
msg_buffer.destroy(); msg_buffer.destroy();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment