Commit 251b3625 authored by Bradley C. Kuszmaul's avatar Bradley C. Kuszmaul

Use toku_assert instead of assert. Addresses #354.

git-svn-id: file:///svn/tokudb@2167 c7de825b-a66e-492c-adef-691d508d4ae1
parent 88ae8eaf
...@@ -127,22 +127,24 @@ pma-test benchmark-test brt-test brt-serialize-test brtdump: LDFLAGS+=-lz ...@@ -127,22 +127,24 @@ pma-test benchmark-test brt-test brt-serialize-test brtdump: LDFLAGS+=-lz
BRT_INTERNAL_H_INCLUDES = brt-internal.h cachetable.h fifo.h pma.h brt.h brttypes.h yerror.h ybt.h log.h ../include/db.h kv-pair.h memory.h crc.h BRT_INTERNAL_H_INCLUDES = brt-internal.h cachetable.h fifo.h pma.h brt.h brttypes.h yerror.h ybt.h log.h ../include/db.h kv-pair.h memory.h crc.h
key.o: brttypes.h key.h key.o: brttypes.h key.h
list-test: list-test.o toku_assert.o
pma-test.o: $(BRT_INTERNAL_H_INCLUDES) pma-internal.h pma.h list.h mempool.h pma-test.o: $(BRT_INTERNAL_H_INCLUDES) pma-internal.h pma.h list.h mempool.h
pma-test: pma.o memory.o key.o ybt.o log.o mempool.o fingerprint.o brt-serialize.o fifo.o primes.o toku_assert.o log_code.o roll.o brt.o cachetable.o brt-verify.o pma-test: pma.o memory.o key.o ybt.o log.o mempool.o fingerprint.o brt-serialize.o fifo.o primes.o toku_assert.o log_code.o roll.o brt.o cachetable.o brt-verify.o
pma.o: pma.h yerror.h pma-internal.h memory.h key.h ybt.h brttypes.h log.h ../include/db.h log_header.h pma.o: pma.h yerror.h pma-internal.h memory.h key.h ybt.h brttypes.h log.h ../include/db.h log_header.h
ybt.o: ybt.h brttypes.h ../include/db.h ybt.o: ybt.h brttypes.h ../include/db.h
ybt-test: ybt-test.o ybt.o memory.o ybt-test: ybt-test.o ybt.o memory.o toku_assert.o
ybt-test.o: ybt.h ../include/db.h ybt-test.o: ybt.h ../include/db.h
cachetable.o: cachetable.h hashfun.h memory.h cachetable.o: cachetable.h hashfun.h memory.h
brt-test: ybt.o brt.o fifo.o pma.o memory.o brt-serialize.o cachetable.o ybt.o key.o primes.o toku_assert.o log.o mempool.o brt-verify.o fingerprint.o log_code.o roll.o brt-test: ybt.o brt.o fifo.o pma.o memory.o brt-serialize.o cachetable.o ybt.o key.o primes.o toku_assert.o log.o mempool.o brt-verify.o fingerprint.o log_code.o roll.o
log.o: log_header.h log-internal.h log.h wbuf.h crc.h brttypes.h $(BRT_INTERNAL_H_INCLUDES) log.o: log_header.h log-internal.h log.h wbuf.h crc.h brttypes.h $(BRT_INTERNAL_H_INCLUDES)
logformat: logformat.o toku_assert.o
brt-test.o brt.o: brt.h ../include/db.h fifo.h pma.h brttypes.h cachetable.h memory.h brt-test.o brt.o: brt.h ../include/db.h fifo.h pma.h brttypes.h cachetable.h memory.h
brt-serialize-test.o: $(BRT_INTERNAL_H_INCLUDES) brt-serialize-test.o: $(BRT_INTERNAL_H_INCLUDES)
brt.o: $(BRT_INTERNAL_H_INCLUDES) key.h log_header.h brt.o: $(BRT_INTERNAL_H_INCLUDES) key.h log_header.h
fifo.o: fifo.h brttypes.h fifo.o: fifo.h brttypes.h
memory.o: memory.h memory.o: memory.h
primes.o: primes.h toku_assert.h primes.o: primes.h toku_assert.h
fifo-test: fifo.o memory.o fifo-test: fifo.o memory.o toku_assert.o
brt-serialize.o: $(BRT_INTERNAL_H_INCLUDES) key.h wbuf.h rbuf.h brt-serialize.o: $(BRT_INTERNAL_H_INCLUDES) key.h wbuf.h rbuf.h
brt-bigtest: memory.o ybt.o brt.o pma.o cachetable.o key.o fifo.o brt-serialize.o brt-bigtest: memory.o ybt.o brt.o pma.o cachetable.o key.o fifo.o brt-serialize.o
brt-bigtest.o: brt.h ../include/db.h brt-bigtest.o: brt.h ../include/db.h
...@@ -152,7 +154,7 @@ fingerprint.o: $(BRT_INTERNAL_H_INCLUDES) ...@@ -152,7 +154,7 @@ fingerprint.o: $(BRT_INTERNAL_H_INCLUDES)
toku_assert.o: toku_assert.h toku_assert.o: toku_assert.h
brt-serialize-test: brt-serialize-test.o brt-serialize.o memory.o fifo.o pma.o key.o ybt.o brt.o cachetable.o primes.o toku_assert.o log.o mempool.o brt-verify.o fingerprint.o log_code.o roll.o brt-serialize-test: brt-serialize-test.o brt-serialize.o memory.o fifo.o pma.o key.o ybt.o brt.o cachetable.o primes.o toku_assert.o log.o mempool.o brt-verify.o fingerprint.o log_code.o roll.o
test_toku_malloc_plain_free: memory.o test_toku_malloc_plain_free: memory.o toku_assert.o
cachetable-test.o: cachetable.h memory.h cachetable-test.o: cachetable.h memory.h
...@@ -170,6 +172,9 @@ test-assert: test-assert.o toku_assert.o ...@@ -170,6 +172,9 @@ test-assert: test-assert.o toku_assert.o
brtdump: brtdump.o brt-serialize.o memory.o pma.o key.o fingerprint.o log.o log_code.o roll.o cachetable.o primes.o toku_assert.o brt.o ybt.o fifo.o mempool.o brt-verify.o brtdump: brtdump.o brt-serialize.o memory.o pma.o key.o fingerprint.o log.o log_code.o roll.o cachetable.o primes.o toku_assert.o brt.o ybt.o fifo.o mempool.o brt-verify.o
test_oexcl: test_oexcl.o toku_assert.o
checko2: checko2:
ifeq ($(OPTFLAGS),-O2) ifeq ($(OPTFLAGS),-O2)
@echo OPTFLAGS=$(OPTFLAGS) ok @echo OPTFLAGS=$(OPTFLAGS) ok
...@@ -182,6 +187,7 @@ clean: ...@@ -182,6 +187,7 @@ clean:
rm -rf test_oexcl.c.tmp *.brt rm -rf test_oexcl.c.tmp *.brt
randdb4: LOADLIBES=-ldb randdb4: LOADLIBES=-ldb
randdb4: randdb4.o toku_assert.o
randbrt: brt.o fifo.o cachetable.o memory.o brt-serialize.o randbrt: brt.o fifo.o cachetable.o memory.o brt-serialize.o
# After doing (cd ../src/tests;make test_log5.recover), run these. The files should have no differences. # After doing (cd ../src/tests;make test_log5.recover), run these. The files should have no differences.
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "brt.h" #include "brt.h"
#include "key.h" #include "key.h"
#include "memory.h" #include "memory.h"
#include <assert.h> #include "toku_assert.h"
#include <errno.h> #include <errno.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
......
/* -*- mode: C; c-basic-offset: 4 -*- */ /* -*- mode: C; c-basic-offset: 4 -*- */
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include "assert.h"
#include "brt-internal.h" #include "brt-internal.h"
#include <fcntl.h> #include <fcntl.h>
#include <assert.h>
#include <string.h> #include <string.h>
#include <zlib.h> #include <zlib.h>
#include <arpa/inet.h> #include <arpa/inet.h>
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
#define _XOPEN_SOURCE 500 #define _XOPEN_SOURCE 500
//#include "pma.h" //#include "pma.h"
#include "toku_assert.h"
#include "brt-internal.h" #include "brt-internal.h"
#include "key.h" #include "key.h"
#include "rbuf.h" #include "rbuf.h"
#include "wbuf.h" #include "wbuf.h"
#include <assert.h>
#include <unistd.h> #include <unistd.h>
#include <stdio.h> #include <stdio.h>
#include <arpa/inet.h> #include <arpa/inet.h>
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#include "key.h" #include "key.h"
#include "pma.h" #include "pma.h"
#include "brt-internal.h" #include "brt-internal.h"
#include "memory.h" #include "memory.h"
#include <assert.h> #include "toku_assert.h"
#include <fcntl.h> #include <fcntl.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
......
...@@ -16,8 +16,7 @@ ...@@ -16,8 +16,7 @@
*/ */
#include "brt-internal.h" #include "brt-internal.h"
#include "toku_assert.h"
#include <assert.h>
static void verify_local_fingerprint (BRTNODE node) { static void verify_local_fingerprint (BRTNODE node) {
u_int32_t fp=0; u_int32_t fp=0;
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
*/ */
#include <arpa/inet.h> #include <arpa/inet.h>
#include <assert.h>
#include <errno.h> #include <errno.h>
#include <inttypes.h> #include <inttypes.h>
#include <stdio.h> #include <stdio.h>
...@@ -33,6 +32,7 @@ ...@@ -33,6 +32,7 @@
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include "toku_assert.h"
#include "brt-internal.h" #include "brt-internal.h"
#include "key.h" #include "key.h"
#include "log_header.h" #include "log_header.h"
......
/* Tell me the diff between two brt files. */ /* Tell me the diff between two brt files. */
#include <assert.h>
#include <ctype.h> #include <ctype.h>
#include <fcntl.h> #include <fcntl.h>
#include <inttypes.h> #include <inttypes.h>
#include "toku_assert.h"
#include "key.h" #include "key.h"
#include "brt-internal.h" #include "brt-internal.h"
......
/* -*- mode: C; c-basic-offset: 4 -*- */ /* -*- mode: C; c-basic-offset: 4 -*- */
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include <assert.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include "toku_assert.h"
#include "memory.h" #include "memory.h"
#include "cachetable.h" #include "cachetable.h"
#include "test.h" #include "test.h"
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
#include "memory.h" #include "memory.h"
#include "cachetable.h" #include "cachetable.h"
#include "toku_assert.h"
#include <assert.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
......
...@@ -2,16 +2,17 @@ ...@@ -2,16 +2,17 @@
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include "cachetable.h" #include "cachetable.h"
#include "hashfun.h"
#include "memory.h" #include "memory.h"
#include "primes.h"
#include "toku_assert.h"
#include "yerror.h" #include "yerror.h"
#include <assert.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h> #include <errno.h>
#include <sys/stat.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "hashfun.h" #include <sys/stat.h>
#include "primes.h" #include <unistd.h>
//#define TRACE_CACHETABLE //#define TRACE_CACHETABLE
#ifdef TRACE_CACHETABLE #ifdef TRACE_CACHETABLE
......
#include "fifo.h"
#include "memory.h"
#include "toku_assert.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h>
#include "memory.h"
#include "fifo.h"
int verbose; int verbose;
......
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h>
#include <errno.h> #include <errno.h>
#include "toku_assert.h"
#include "memory.h" #include "memory.h"
#include "fifo.h" #include "fifo.h"
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include <arpa/inet.h> #include <arpa/inet.h>
#include <assert.h>
#include "brt-internal.h" #include "brt-internal.h"
#include "toku_assert.h"
// Calculate the fingerprint for a kvpair // Calculate the fingerprint for a kvpair
static inline u_int32_t toku_calc_more_crc32_kvpair (u_int32_t crc, const void *key, int keylen, const void *val, int vallen) { static inline u_int32_t toku_calc_more_crc32_kvpair (u_int32_t crc, const void *key, int keylen, const void *val, int vallen) {
...@@ -35,6 +35,8 @@ u_int32_t toku_calccrc32_cmd (int type, TXNID xid, const void *key, int keylen, ...@@ -35,6 +35,8 @@ u_int32_t toku_calccrc32_cmd (int type, TXNID xid, const void *key, int keylen,
u_int32_t toku_calccrc32_cmdstruct (BRT_CMD cmd) { u_int32_t toku_calccrc32_cmdstruct (BRT_CMD cmd) {
if (cmd->type <= BRT_DELETE_BOTH) if (cmd->type <= BRT_DELETE_BOTH)
return toku_calccrc32_cmd (cmd->type, cmd->xid, cmd->u.id.key->data, cmd->u.id.key->size, cmd->u.id.val->data, cmd->u.id.val->size); return toku_calccrc32_cmd (cmd->type, cmd->xid, cmd->u.id.key->data, cmd->u.id.key->size, cmd->u.id.val->data, cmd->u.id.val->size);
else else {
assert(0); /* Should not have come here. */ assert(0); /* Should not have come here. */
return 0;
}
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include "brt-internal.h" #include "brt-internal.h"
#include <assert.h> #include "toku_assert.h"
#include <string.h> #include <string.h>
#if 0 #if 0
...@@ -108,4 +108,5 @@ int toku_default_compare_fun (DB *db __attribute__((__unused__)), const DBT *a, ...@@ -108,4 +108,5 @@ int toku_default_compare_fun (DB *db __attribute__((__unused__)), const DBT *a,
int toku_dont_call_this_compare_fun (DB *db __attribute__((__unused__)), const DBT *a __attribute__((__unused__)), const DBT*b __attribute__((__unused__))) { int toku_dont_call_this_compare_fun (DB *db __attribute__((__unused__)), const DBT *a __attribute__((__unused__)), const DBT*b __attribute__((__unused__))) {
assert(0); assert(0);
return 0;
} }
#include "list.h"
#include "toku_assert.h"
#include <memory.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <memory.h>
#include <assert.h>
#include "list.h"
struct testlist { struct testlist {
struct list next; struct list next;
......
#ident "Copyright (c) 2007 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007 Tokutek Inc. All rights reserved."
#include <assert.h> #include "log.h"
#include "toku_assert.h"
#include "yerror.h"
#include <stdio.h> #include <stdio.h>
#include <sys/types.h> #include <sys/types.h>
#include "yerror.h"
#include "log.h"
#define LOGGER_BUF_SIZE (1<<24) #define LOGGER_BUF_SIZE (1<<24)
struct tokulogger { struct tokulogger {
int is_open; int is_open;
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include "log-internal.h" #include "log-internal.h"
#include <sys/stat.h> #include "toku_assert.h"
#include <sys/types.h>
#include <fcntl.h> #include <fcntl.h>
#include <assert.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#define dname "log-test-dir" #define dname "log-test-dir"
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* The struct definitions. * The struct definitions.
* The Latex documentation. * The Latex documentation.
*/ */
#include <assert.h> #include "toku_assert.h"
#include <ctype.h> #include <ctype.h>
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include "memory.h" #include "memory.h"
#include <assert.h> #include "toku_assert.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include <errno.h> #include <errno.h>
......
/* -*- mode: C; c-basic-offset: 4 -*- */ /* -*- mode: C; c-basic-offset: 4 -*- */
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include <stdio.h>
#include <assert.h>
#include "mempool.h" #include "mempool.h"
#include "toku_assert.h"
#include <stdio.h>
void toku_mempool_init(struct mempool *mp, void *base, int size) { void toku_mempool_init(struct mempool *mp, void *base, int size) {
// printf("mempool_init %p %p %d\n", mp, base, size); // printf("mempool_init %p %p %d\n", mp, base, size);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h> #include "toku_assert.h"
#include "memory.h" #include "memory.h"
#include "mempool.h" #include "mempool.h"
......
/* -*- mode: C; c-basic-offset: 4 -*- */
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include "myassert.h"
#include <stdio.h>
#include <stdlib.h>
#ifdef TESTER
void my_assert(int a, const char *f, int l) {
if (!a) { fprintf(stderr, "Assertion failed at %s:%d\n", f, l); abort(); }
}
#endif
#ifndef MYASSERT_H
#define MYASSERT_H
#ident "Copyright (c) 2007 Tokutek Inc. All rights reserved."
#ifndef TESTER
#include <assert.h>
#else
extern void my_assert(int, const char *, int);
#define assert(x) my_assert(x, __FILE__, __LINE__)
#endif
#endif
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
#include "brt-internal.h" #include "brt-internal.h"
#include "key.h" #include "key.h"
#include <assert.h> #include "kv-pair.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <arpa/inet.h>
#include "list.h" #include "list.h"
#include "pma-internal.h" #include "pma-internal.h"
#include "kv-pair.h"
#include "test.h" #include "test.h"
#include "toku_assert.h"
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* we use pma cursors for testing the pma_search function. otherwise, there are no pma cursors */ /* we use pma cursors for testing the pma_search function. otherwise, there are no pma cursors */
#include "pma-cursor.h" #include "pma-cursor.h"
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "key.h" #include "key.h"
#include "memory.h" #include "memory.h"
#include "myassert.h" #include "toku_assert.h"
#include "../include/db.h" #include "../include/db.h"
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
......
...@@ -26,16 +26,16 @@ int toku_get_prime (unsigned int idx) { ...@@ -26,16 +26,16 @@ int toku_get_prime (unsigned int idx) {
primes[i]=j; primes[i]=j;
} }
} }
toku_assert(idx<N_PRIMES); assert(idx<N_PRIMES);
return primes[idx]; return primes[idx];
} }
void toku_test_primes (void) { void toku_test_primes (void) {
toku_assert(toku_get_prime(0)==2); assert(toku_get_prime(0)==2);
toku_assert(toku_get_prime(1)==5); assert(toku_get_prime(1)==5);
toku_assert(toku_get_prime(2)==11); assert(toku_get_prime(2)==11);
toku_assert(toku_get_prime(3)==17); assert(toku_get_prime(3)==17);
toku_assert(toku_get_prime(4)==37); assert(toku_get_prime(4)==37);
toku_assert(toku_get_prime(5)==67); assert(toku_get_prime(5)==67);
toku_assert(toku_get_prime(6)==131); assert(toku_get_prime(6)==131);
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
/* Test random insertions using db4 */ /* Test random insertions using db4 */
#include <assert.h> #include "toku_assert.h"
#include <db.h> #include <db.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/stat.h> #include <sys/stat.h>
......
...@@ -7,15 +7,14 @@ ...@@ -7,15 +7,14 @@
// cd ../src/tests/tmpdir // cd ../src/tests/tmpdir
// ../../../newbrt/recover ../dir.test_log2.c.tdb // ../../../newbrt/recover ../dir.test_log2.c.tdb
#include <assert.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include "log_header.h"
#include "log-internal.h"
#include "cachetable.h" #include "cachetable.h"
#include "key.h" #include "key.h"
#include "log-internal.h"
#include "log_header.h"
#include "toku_assert.h"
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
int main (int argc, char *argv[]) { int main (int argc, char *argv[]) {
const char *dir; const char *dir;
......
...@@ -2,8 +2,11 @@ ...@@ -2,8 +2,11 @@
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
/* Dump the log from stdin to stdout. */ /* Dump the log from stdin to stdout. */
#include "brttypes.h"
#include "log-internal.h"
#include "log_header.h"
#include "toku_assert.h"
#include <arpa/inet.h> #include <arpa/inet.h>
#include <assert.h>
#include <ctype.h> #include <ctype.h>
#include <inttypes.h> #include <inttypes.h>
#include <stdio.h> #include <stdio.h>
...@@ -11,10 +14,6 @@ ...@@ -11,10 +14,6 @@
#include <sys/types.h> #include <sys/types.h>
#include <zlib.h> #include <zlib.h>
#include "brttypes.h"
#include "log-internal.h"
#include "log_header.h"
#if 0 #if 0
static u_int32_t crc=0; static u_int32_t crc=0;
static u_int32_t actual_len=0; static u_int32_t actual_len=0;
......
/* -*- mode: C; c-basic-offset: 4 -*- */
#include "toku_assert.h" #include "toku_assert.h"
#include <signal.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
static void catch_abort (int sig __attribute__((__unused__))) {
exit(1);
}
int main (int argc, const char *argv[]) { int main (int argc, const char *argv[]) {
signal (SIGABRT, catch_abort);
if (argc!=2) { printf("argcount should be 2.\n"); exit(1); } if (argc!=2) { printf("argcount should be 2.\n"); exit(1); }
const char *str=argv[1]; const char *str=argv[1];
toku_assert(strcmp(str,"ok")==0); assert(strcmp(str,"ok")==0);
return 0; return 0;
} }
/* -*- mode: C; c-basic-offset: 4 -*- */ /* -*- mode: C; c-basic-offset: 4 -*- */
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
#include <assert.h> #include "toku_assert.h"
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
#include <stdlib.h> #include <stdlib.h>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
void toku_do_assert(int expr,const char* expr_as_string,const char *function,const char*file,int line) { void toku_do_assert(long expr,const char* expr_as_string,const char *function,const char*file,int line) {
if (expr==0) { if (expr==0) {
fprintf(stderr, "%s:%d %s: Assertion `%s' failed\n", file,line,function,expr_as_string); fprintf(stderr, "%s:%d %s: Assertion `%s' failed\n", file,line,function,expr_as_string);
abort(); abort();
......
#ifndef TOKU_ASSERT_H
#define TOKU_ASSERT_H
/* The problem with assert.h: If NDEBUG is set then it doesn't execute the function, if NDEBUG isn't set then we get a branch that isn't taken. */ /* The problem with assert.h: If NDEBUG is set then it doesn't execute the function, if NDEBUG isn't set then we get a branch that isn't taken. */
/* This version will complain if NDEBUG is set. */ /* This version will complain if NDEBUG is set. */
/* It evaluates the argument and then calls a function toku_do_assert() which takes all the hits for the branches not taken. */ /* It evaluates the argument and then calls a function toku_do_assert() which takes all the hits for the branches not taken. */
...@@ -6,13 +8,11 @@ ...@@ -6,13 +8,11 @@
#error NDEBUG should not be set #error NDEBUG should not be set
#endif #endif
void toku_do_assert(int,const char*/*expr_as_string*/,const char */*fun*/,const char*/*file*/,int/*line*/); void toku_do_assert(long,const char*/*expr_as_string*/,const char */*fun*/,const char*/*file*/,int/*line*/);
#ifndef FAST_ASSERT #ifndef FAST_ASSERT
#define toku_assert(expr) toku_do_assert(expr, #expr, __FUNCTION__, __FILE__, __LINE__) #define assert(expr) toku_do_assert((long)(expr), #expr, __FUNCTION__, __FILE__, __LINE__)
#else #else
#define toku_assert(expr) ({ int __assert_expr = expr; if (__assert_expr==0) toku_do_assert(0, #expr, __FUNCTION__, __FILE__, __LINE__); }) #define assert(expr) ({ long __assert_expr = (int)(expr); if (__assert_expr==0) toku_do_assert(0, #expr, __FUNCTION__, __FILE__, __LINE__); })
#endif
#endif #endif
void dontuseassert (int) __attribute__((deprecated));
#define assert(barf) dontuseassert(barf)
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
#ident "Copyright (c) 2007 Tokutek Inc. All rights reserved." #ident "Copyright (c) 2007 Tokutek Inc. All rights reserved."
#include <assert.h>
#include <string.h>
#include <errno.h>
#include "memory.h" #include "memory.h"
#include "toku_assert.h"
#include <errno.h>
#include <string.h>
//#define CRC_NO //#define CRC_NO
#define CRC_INCR #define CRC_INCR
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "ybt.h" #include "ybt.h"
#include "memory.h" #include "memory.h"
#include <assert.h> #include "toku_assert.h"
#include <string.h> #include <string.h>
static void ybt_test0 (void) { static void ybt_test0 (void) {
......
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