mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
Addresses #1531 Additional porting for windows, to attempt to support bdb tests
git-svn-id: file:///svn/toku/tokudb@10438 c7de825b-a66e-492c-adef-691d508d4ae1
This commit is contained in:
parent
7ccbae3c9f
commit
19665ad1b3
7 changed files with 67 additions and 23 deletions
|
@ -23,9 +23,9 @@ $(OBJS): CFLAGS += -DTOKU_ALLOW_DEPRECATED
|
||||||
#Blank on purpose
|
#Blank on purpose
|
||||||
|
|
||||||
check: $(TARGET)
|
check: $(TARGET)
|
||||||
cd tests; $(MAKE) check
|
cd tests && $(MAKE) check
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(TARGET) $(LIBPORTABILITY)
|
rm -rf $(TARGET) $(LIBPORTABILITY)
|
||||||
cd tests; $(MAKE) clean
|
cd tests && $(MAKE) clean
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# -*- Mode: Makefile -*-
|
||||||
CPPFLAGS = -D_GNU_SOURCE
|
CPPFLAGS = -D_GNU_SOURCE
|
||||||
CPPFLAGS += -I../../toku_include -I..
|
CPPFLAGS += -I../../toku_include -I..
|
||||||
CFLAGS = -Wall -Werror -g -O0
|
CFLAGS = -Wall -Werror -g -O0
|
||||||
|
@ -28,7 +29,8 @@ all: $(TARGETS)
|
||||||
test-gettime: test-gettime.c
|
test-gettime: test-gettime.c
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) -lrt
|
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) -lrt
|
||||||
|
|
||||||
check: $(TARGETS) $(RUNTARGETS)
|
.PHONY: check
|
||||||
|
check: $(TARGETS) $(RUNTARGETS);
|
||||||
|
|
||||||
%.tdbrun: %
|
%.tdbrun: %
|
||||||
ifeq ($(VGRIND),)
|
ifeq ($(VGRIND),)
|
||||||
|
|
|
@ -39,6 +39,14 @@ WINDOWS_DONTRUN_TESTS = \
|
||||||
helgrind3 \
|
helgrind3 \
|
||||||
#\ ends prev line
|
#\ ends prev line
|
||||||
|
|
||||||
|
#BDB Tests that are irrelevant in windows.
|
||||||
|
WINDOWS_BDB_DONTRUN_TESTS = \
|
||||||
|
diskfull \
|
||||||
|
test_groupcommit_count \
|
||||||
|
#\ ends prev line
|
||||||
|
#diskfull: windows bdb is missing db_env_set_func_pwrite and db_env_set_func_write
|
||||||
|
#test_groupcommit_count: windows bdb is missing db_env_set_func_fsync
|
||||||
|
|
||||||
ifeq ($(OS_CHOICE),windows)
|
ifeq ($(OS_CHOICE),windows)
|
||||||
TDB_TESTS = $(patsubst %.c,%.tdb$(BINSUF),$(filter-out $(patsubst %,%.c,$(WINDOWS_DONTRUN_TESTS)),$(SRCS)))
|
TDB_TESTS = $(patsubst %.c,%.tdb$(BINSUF),$(filter-out $(patsubst %,%.c,$(WINDOWS_DONTRUN_TESTS)),$(SRCS)))
|
||||||
else
|
else
|
||||||
|
@ -70,6 +78,10 @@ BDB_DONTRUN_TESTS = \
|
||||||
test_txn_commit8 \
|
test_txn_commit8 \
|
||||||
#\ ends prev line
|
#\ ends prev line
|
||||||
|
|
||||||
|
ifeq ($(OS_CHOICE),windows)
|
||||||
|
BDB_DONTRUN_TESTS+=$(WINDOWS_BDB_DONTRUN_TESTS)
|
||||||
|
endif
|
||||||
|
|
||||||
BDB_TESTS = $(patsubst %.c,%.bdb$(BINSUF),$(filter-out $(patsubst %,%.c,$(BDB_DONTRUN_TESTS)),$(SRCS)))
|
BDB_TESTS = $(patsubst %.c,%.bdb$(BINSUF),$(filter-out $(patsubst %,%.c,$(BDB_DONTRUN_TESTS)),$(SRCS)))
|
||||||
|
|
||||||
TDB_TESTS_THAT_SHOULD_FAIL= \
|
TDB_TESTS_THAT_SHOULD_FAIL= \
|
||||||
|
@ -106,7 +118,7 @@ RUN_TDB_TESTS = $(patsubst %.tdb$(BINSUF),%.tdbrun,$(TDB_TESTS)) $(EXTRA_TDB_TE
|
||||||
RUN_BDB_TESTS = $(patsubst %.bdb$(BINSUF),%.bdbrun,$(BDB_TESTS))
|
RUN_BDB_TESTS = $(patsubst %.bdb$(BINSUF),%.bdbrun,$(BDB_TESTS))
|
||||||
RUN_ALL_TESTS = $(RUN_BDB_TESTS) $(RUN_TDB_TESTS)
|
RUN_ALL_TESTS = $(RUN_BDB_TESTS) $(RUN_TDB_TESTS)
|
||||||
|
|
||||||
MORE_BDB_BINS = test1426.bdb
|
MORE_BDB_BINS = test1426.bdb$(BINSUF)
|
||||||
|
|
||||||
.PHONY: default all check tests check.lin check.tlog check.log tests.lin tests.log tests.tlog
|
.PHONY: default all check tests check.lin check.tlog check.log tests.lin tests.log tests.tlog
|
||||||
|
|
||||||
|
@ -117,7 +129,7 @@ tests: tests.bdb tests.tdb ;
|
||||||
tests.bdb: $(BDB_TESTS) ;
|
tests.bdb: $(BDB_TESTS) ;
|
||||||
check.bdb: $(RUN_BDB_TESTS) ;
|
check.bdb: $(RUN_BDB_TESTS) ;
|
||||||
tests.tdb: $(TDB_TESTS) ;
|
tests.tdb: $(TDB_TESTS) ;
|
||||||
check.tdb: $(RUN_TDB_TESTS) ;
|
check.tdb: $(notdir $(LIBTDB)) $(RUN_TDB_TESTS) ;
|
||||||
|
|
||||||
foo:
|
foo:
|
||||||
echo RUN_TDB_TESTS: $(RUN_TDB_TESTS)
|
echo RUN_TDB_TESTS: $(RUN_TDB_TESTS)
|
||||||
|
@ -139,9 +151,37 @@ $(SHOULD_FAIL): SUMMARIZE_CMD=$(SUMMARIZE_SHOULD_FAIL)
|
||||||
|
|
||||||
TDBVGRIND=$(VGRIND)
|
TDBVGRIND=$(VGRIND)
|
||||||
|
|
||||||
|
ifeq ($(OS_CHOICE),windows)
|
||||||
|
ifdef BDBDIR
|
||||||
|
%.bdb$(BINSUF): INCLUDEDIRS=-I$(BDBDIR)/include
|
||||||
|
%.bdb$(BINSUF): RPATH_DIRS=$(BDBDIR)/lib
|
||||||
|
endif
|
||||||
|
ifeq ($(DEBUG),0)
|
||||||
|
WINDOWS_BDB_LIB_NAME=libdb$(BDBVER).$(SOEXT)
|
||||||
|
$(WINDOWS_BDB_LIB_NAME):
|
||||||
|
cp $(BDBDIR)/bin/$(WINDOWS_BDB_LIB_NAME) $@
|
||||||
|
else
|
||||||
|
WINDOWS_BDB_LIB_NAME=libdb$(BDBVER)d.$(SOEXT)
|
||||||
|
$(WINDOWS_BDB_LIB_NAME):
|
||||||
|
cp $(BDBDIR)/bin/debug/$(WINDOWS_BDB_LIB_NAME) $@
|
||||||
|
endif
|
||||||
|
%.bdb$(BINSUF): DLINK_FILES=$(BDBDIR)/lib/$(WINDOWS_BDB_LIB_NAME)
|
||||||
|
else
|
||||||
|
WINDOWS_BDB_LIB_NAME=
|
||||||
|
#linux
|
||||||
|
ifdef BDBDIR
|
||||||
|
%.bdb$(BINSUF): INCLUDEDIRS=-I$(BDBDIR)/include
|
||||||
|
%.bdb$(BINSUF): RPATH_DIRS=$(BDBDIR)/lib
|
||||||
|
endif
|
||||||
|
%.bdb$(BINSUF): DLINK_FILES=db.$(SOEXT)
|
||||||
|
endif
|
||||||
|
#empty on purpose
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Use -s on the command line to make things quiet.
|
# Use -s on the command line to make things quiet.
|
||||||
# Use -s on the command line to make things quiet.
|
# Use -s on the command line to make things quiet.
|
||||||
%.bdbrun: %.bdb$(BINSUF) $(DEPEND_COMPILE) $(DEPEND_LINK)
|
%.bdbrun: %.bdb$(BINSUF) $(DEPEND_COMPILE) $(DEPEND_LINK) $(WINDOWS_BDB_LIB_NAME)
|
||||||
$(BDBVGRIND) ./$< $(VERBVERBOSE) $(SUMMARIZE_CMD)
|
$(BDBVGRIND) ./$< $(VERBVERBOSE) $(SUMMARIZE_CMD)
|
||||||
%.tdbrun: %.tdb$(BINSUF) $(DEPEND_COMPILE) $(DEPEND_LINK) $(notdir $(LIBTDB))
|
%.tdbrun: %.tdb$(BINSUF) $(DEPEND_COMPILE) $(DEPEND_LINK) $(notdir $(LIBTDB))
|
||||||
$(TDBVGRIND) ./$< $(VERBVERBOSE) $(MAYBEINVERTER) $(SUMMARIZE_CMD)
|
$(TDBVGRIND) ./$< $(VERBVERBOSE) $(MAYBEINVERTER) $(SUMMARIZE_CMD)
|
||||||
|
@ -168,14 +208,7 @@ all.recover: $(patsubst %,test_log%.recover,$(TLRECOVER)) ;
|
||||||
#DISABLE standard tdbrun for recover tests.
|
#DISABLE standard tdbrun for recover tests.
|
||||||
$(patsubst %,test_log%.tdbrun,$(TLRECOVER)): ;
|
$(patsubst %,test_log%.tdbrun,$(TLRECOVER)): ;
|
||||||
|
|
||||||
#TODO: PORT
|
%.bdb$(BINSUF): CFLAGS+= -DENVDIR=\"dir.$<.bdb\" -DUSE_BDB -DIS_TDB=0 -DTOKU_ALLOW_DEPRECATED
|
||||||
ifdef BDBDIR
|
|
||||||
%.bdb$(BINSUF): INCLUDEDIRS=-I$(BDBDIR)/include
|
|
||||||
%.bdb$(BINSUF): RPATH_DIRS=$(BDBDIR)/lib
|
|
||||||
endif
|
|
||||||
%.bdb$(BINSUF): DLINK_FILES=db.$(SOEXT)
|
|
||||||
|
|
||||||
%.bdb$(BINSUF): CFLAGS+= -DENVDIR=\"dir.$<.bdb\" -DUSE_BDB -DIS_TDB=0
|
|
||||||
|
|
||||||
%.bdb$(BINSUF): %.c $(DEPEND_COMPILE) $(DEPEND_LINK)
|
%.bdb$(BINSUF): %.c $(DEPEND_COMPILE) $(DEPEND_LINK)
|
||||||
$(CC) $< $(BIN_FROM_C_FLAGS) $(LINK_MUST_BE_LAST)
|
$(CC) $< $(BIN_FROM_C_FLAGS) $(LINK_MUST_BE_LAST)
|
||||||
|
@ -288,7 +321,7 @@ test_db_assoc3.tdbrun: test_db_assoc3.tdb$(BINSUF)
|
||||||
$(VGRIND) ./$< --seed=2 --count=100000 --more $(VERBVERBOSE) $(SUMMARIZE_CMD)
|
$(VGRIND) ./$< --seed=2 --count=100000 --more $(VERBVERBOSE) $(SUMMARIZE_CMD)
|
||||||
|
|
||||||
# Give up on VGRIND for bdbrun
|
# Give up on VGRIND for bdbrun
|
||||||
test_db_assoc3.bdbrun: test_db_assoc3.bdb$(BINSUF)
|
test_db_assoc3.bdbrun: test_db_assoc3.bdb$(BINSUF) $(WINDOWS_BDB_LIB_NAME)
|
||||||
./$< --seed=2 --count=100000 $(VERBVERBOSE) && \
|
./$< --seed=2 --count=100000 $(VERBVERBOSE) && \
|
||||||
./$< --seed=2 --count=100000 --more $(VERBVERBOSE) $(SUMMARIZE_CMD)
|
./$< --seed=2 --count=100000 --more $(VERBVERBOSE) $(SUMMARIZE_CMD)
|
||||||
|
|
||||||
|
|
|
@ -114,14 +114,21 @@ typedef enum __toku_bool { FALSE=0, TRUE=1} BOOL;
|
||||||
#define CLOSE_TRACE_FILE(x) ((void)0)
|
#define CLOSE_TRACE_FILE(x) ((void)0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <memory.h>
|
||||||
int test_main (int argc, const char *argv[]);
|
int test_main (int argc, const char *argv[]);
|
||||||
int
|
int
|
||||||
main(int argc, const char *argv[]) {
|
main(int argc, const char *argv[]) {
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
int r;
|
||||||
|
#if IS_TDB && (defined(_WIN32) || defined(_WIN64))
|
||||||
toku_ydb_init();
|
toku_ydb_init();
|
||||||
#endif
|
#endif
|
||||||
int r = test_main(argc, argv);
|
#if !IS_TDB
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
r = db_env_set_func_malloc(toku_malloc); assert(r==0);
|
||||||
|
r = db_env_set_func_free(toku_free); assert(r==0);
|
||||||
|
r = db_env_set_func_realloc(toku_realloc); assert(r==0);
|
||||||
|
#endif
|
||||||
|
r = test_main(argc, argv);
|
||||||
|
#if IS_TDB && (defined(_WIN32) || defined(_WIN64))
|
||||||
toku_ydb_destroy();
|
toku_ydb_destroy();
|
||||||
#endif
|
#endif
|
||||||
return r;
|
return r;
|
||||||
|
|
|
@ -75,9 +75,9 @@ test_truncate_with_cursors (int n) {
|
||||||
r = db->truncate(db, 0, &row_count, 0);
|
r = db->truncate(db, 0, &row_count, 0);
|
||||||
#ifdef USE_BDB
|
#ifdef USE_BDB
|
||||||
// It looks like for 4.6 there's no error code, even though the documentation says "it is an error to truncate with open cursors".
|
// It looks like for 4.6 there's no error code, even though the documentation says "it is an error to truncate with open cursors".
|
||||||
// For 4.3 the error code is EINVAL
|
// For 4.3 and 4.7 the error code is EINVAL
|
||||||
// I don't know where the boundary really is: Is it an error in 4.5 or 4.4?
|
// I don't know where the boundary really is: Is it an error in 4.5 or 4.4?
|
||||||
if (DB_VERSION_MAJOR==4 && DB_VERSION_MINOR>=4) {
|
if (DB_VERSION_MAJOR==4 && DB_VERSION_MINOR>=4 && DB_VERSION_MINOR < 7) {
|
||||||
assert(r == 0 && test_errors);
|
assert(r == 0 && test_errors);
|
||||||
} else {
|
} else {
|
||||||
assert(r == EINVAL && test_errors);
|
assert(r == EINVAL && test_errors);
|
||||||
|
|
|
@ -109,10 +109,8 @@ test_txn_abort (int n, int which_guys_to_abort) {
|
||||||
|
|
||||||
int
|
int
|
||||||
test_main(int argc, const char *argv[]) {
|
test_main(int argc, const char *argv[]) {
|
||||||
|
#if IS_TDB // This test is inappropriate for BDB. It requires finer grained locking that BDB supports.
|
||||||
int i,j;
|
int i,j;
|
||||||
if (!IS_TDB) {
|
|
||||||
return 0; // This test is inappropriate for BDB. It requires finer grained locking that BDB supports.
|
|
||||||
}
|
|
||||||
for (i = 1; i < argc; i++) {
|
for (i = 1; i < argc; i++) {
|
||||||
const char *arg = argv[i];
|
const char *arg = argv[i];
|
||||||
if (strcmp(arg, "-v") == 0 || strcmp(arg, "--verbose") == 0) {
|
if (strcmp(arg, "-v") == 0 || strcmp(arg, "--verbose") == 0) {
|
||||||
|
@ -126,5 +124,6 @@ test_main(int argc, const char *argv[]) {
|
||||||
for (i=1; i<100; i*=2)
|
for (i=1; i<100; i*=2)
|
||||||
test_txn_abort(i, j);
|
test_txn_abort(i, j);
|
||||||
if (verbose>0) printf("OK\n");
|
if (verbose>0) printf("OK\n");
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -192,6 +192,9 @@ ifeq ($(CC),icc)
|
||||||
#Cygwin
|
#Cygwin
|
||||||
ICC_NOWARN=-Qdiag-disable:
|
ICC_NOWARN=-Qdiag-disable:
|
||||||
SKIP_WARNING += $(ICC_NOWARN)869 # Don't complain about unused variables (since we defined __attribute__ to be nothing.)
|
SKIP_WARNING += $(ICC_NOWARN)869 # Don't complain about unused variables (since we defined __attribute__ to be nothing.)
|
||||||
|
SKIP_WARNING += $(ICC_NOWARN)11000 # Disable message about multi-file optimization
|
||||||
|
SKIP_WARNING += $(ICC_NOWARN)11000 # Disable message about single-file optimization
|
||||||
|
SKIP_WARNING += $(ICC_NOWARN)11005 # Disable message about creating object file
|
||||||
else
|
else
|
||||||
#Linux
|
#Linux
|
||||||
ICC_NOWARN=-diag-disable #Need the space
|
ICC_NOWARN=-diag-disable #Need the space
|
||||||
|
|
Loading…
Add table
Reference in a new issue