1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgamation-testfixture' target to main.mk - to build testfixture via sqlite3.c. (CVS 4354)

FossilOrigin-Name: d119427314d27f291b605073d34826cdb89746c1
This commit is contained in:
danielk1977
2007-08-31 17:42:48 +00:00
parent cc6bb3eaeb
commit e6a58a4e2a
11 changed files with 209 additions and 414 deletions

382
main.mk
View File

@@ -95,6 +95,7 @@ SRC = \
$(TOP)/src/btmutex.c \
$(TOP)/src/btree.c \
$(TOP)/src/btree.h \
$(TOP)/src/btreeInt.h \
$(TOP)/src/build.c \
$(TOP)/src/callback.c \
$(TOP)/src/complete.c \
@@ -113,10 +114,13 @@ SRC = \
$(TOP)/src/mem1.c \
$(TOP)/src/mem2.c \
$(TOP)/src/mutex.c \
$(TOP)/src/mutex.h \
$(TOP)/src/mutex_os2.c \
$(TOP)/src/mutex_unix.c \
$(TOP)/src/mutex_w32.c \
$(TOP)/src/os.c \
$(TOP)/src/os.h \
$(TOP)/src/os_common.h \
$(TOP)/src/os_os2.c \
$(TOP)/src/os_unix.c \
$(TOP)/src/os_win.c \
@@ -132,6 +136,7 @@ SRC = \
$(TOP)/src/sqlite.h.in \
$(TOP)/src/sqlite3ext.h \
$(TOP)/src/sqliteInt.h \
$(TOP)/src/sqliteLimit.h \
$(TOP)/src/table.c \
$(TOP)/src/tclsqlite.c \
$(TOP)/src/tokenize.c \
@@ -199,18 +204,6 @@ SRC += \
# Source code to the test files.
#
TESTSRC = \
$(TOP)/src/btree.c \
$(TOP)/src/date.c \
$(TOP)/src/func.c \
$(TOP)/src/insert.c \
$(TOP)/src/os.c \
$(TOP)/src/os_os2.c \
$(TOP)/src/os_unix.c \
$(TOP)/src/os_win.c \
$(TOP)/src/pager.c \
$(TOP)/src/pragma.c \
$(TOP)/src/printf.c \
$(TOP)/src/select.c \
$(TOP)/src/test1.c \
$(TOP)/src/test2.c \
$(TOP)/src/test3.c \
@@ -230,30 +223,38 @@ TESTSRC = \
$(TOP)/src/test_schema.c \
$(TOP)/src/test_server.c \
$(TOP)/src/test_tclvar.c \
$(TOP)/src/utf.c \
$(TOP)/src/util.c \
$(TOP)/src/vdbe.c \
$(TOP)/src/vdbeaux.c \
$(TOP)/src/where.c
TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c
TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c
TESTSRC2 = \
$(TOP)/src/attach.c $(TOP)/src/btree.c $(TOP)/src/build.c $(TOP)/src/date.c \
$(TOP)/src/expr.c $(TOP)/src/func.c $(TOP)/src/insert.c $(TOP)/src/os.c \
$(TOP)/src/os_os2.c $(TOP)/src/os_unix.c $(TOP)/src/os_win.c \
$(TOP)/src/pager.c $(TOP)/src/pragma.c $(TOP)/src/prepare.c \
$(TOP)/src/printf.c $(TOP)/src/select.c $(TOP)/src/tokenize.c \
$(TOP)/src/utf.c $(TOP)/src/util.c $(TOP)/src/vdbeapi.c $(TOP)/src/vdbeaux.c \
$(TOP)/src/vdbe.c $(TOP)/src/vdbemem.c $(TOP)/src/where.c parse.c
# Header files used by all library source files.
#
HDR = \
$(TOP)/src/btree.h \
$(TOP)/src/btreeInt.h \
$(TOP)/src/hash.h \
keywordhash.h \
$(TOP)/src/mutex.h \
opcodes.h \
$(TOP)/src/os.h \
$(TOP)/src/os_common.h \
$(TOP)/src/pager.h \
parse.h \
sqlite3.h \
$(TOP)/src/sqlite3ext.h \
$(TOP)/src/sqliteInt.h \
$(TOP)/src/sqliteLimit.h \
$(TOP)/src/vdbe.h \
parse.h
$(TOP)/src/vdbeInt.h
# Header files used by extensions
#
@@ -270,12 +271,6 @@ EXTHDR += \
$(TOP)/ext/fts3/fts3_hash.h \
$(TOP)/ext/fts3/fts3_tokenizer.h
# Header files used by the VDBE submodule
#
VDBEHDR = \
$(TOP)/src/vdbeInt.h
# This is the default Makefile target. The objects listed here
# are what get build when you type just "make" with no arguments.
#
@@ -306,9 +301,10 @@ objects: $(LIBOBJ_ORIG)
# all that automatic generation.
#
target_source: $(SRC)
@echo $(SRC)
rm -rf tsrc
mkdir tsrc
cp -f $(SRC) $(TOP)/src/*.h tsrc 2>/dev/null
cp -f $(SRC) tsrc
rm tsrc/sqlite.h.in tsrc/parse.y
sqlite3.c: target_source $(TOP)/tool/mksqlite3c.tcl
@@ -329,113 +325,36 @@ lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c
$(BCC) -o lemon $(TOP)/tool/lemon.c
cp $(TOP)/tool/lempar.c .
# Rules to build individual files
# Rules to build individual *.o files from files in the src directory.
#
alter.o: $(TOP)/src/alter.c $(HDR)
$(TCCX) -c $(TOP)/src/alter.c
%.o: %.c $(HDR)
$(TCCX) -c $<
analyze.o: $(TOP)/src/analyze.c $(HDR)
$(TCCX) -c $(TOP)/src/analyze.c
# Rules to build individual *.o files from generated *.c files. This
# applies to:
#
# parse.o
# opcodes.o
#
%.o: $(TOP)/src/%.c $(HDR)
$(TCCX) -c $<
attach.o: $(TOP)/src/attach.c $(HDR)
$(TCCX) -c $(TOP)/src/attach.c
tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR)
$(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c
auth.o: $(TOP)/src/auth.c $(HDR)
$(TCCX) -c $(TOP)/src/auth.c
btmutex.o: $(TOP)/src/btmutex.c $(HDR) $(TOP)/src/btreeInt.h
$(TCCX) -c $(TOP)/src/btmutex.c
btree.o: $(TOP)/src/btree.c $(HDR) $(TOP)/src/pager.h
$(TCCX) -c $(TOP)/src/btree.c
build.o: $(TOP)/src/build.c $(HDR)
$(TCCX) -c $(TOP)/src/build.c
callback.o: $(TOP)/src/callback.c $(HDR)
$(TCCX) -c $(TOP)/src/callback.c
complete.o: $(TOP)/src/complete.c $(HDR)
$(TCCX) -c $(TOP)/src/complete.c
date.o: $(TOP)/src/date.c $(HDR)
$(TCCX) -c $(TOP)/src/date.c
delete.o: $(TOP)/src/delete.c $(HDR)
$(TCCX) -c $(TOP)/src/delete.c
expr.o: $(TOP)/src/expr.c $(HDR)
$(TCCX) -c $(TOP)/src/expr.c
func.o: $(TOP)/src/func.c $(HDR)
$(TCCX) -c $(TOP)/src/func.c
hash.o: $(TOP)/src/hash.c $(HDR)
$(TCCX) -c $(TOP)/src/hash.c
insert.o: $(TOP)/src/insert.c $(HDR)
$(TCCX) -c $(TOP)/src/insert.c
journal.o: $(TOP)/src/journal.c $(HDR)
$(TCCX) -c $(TOP)/src/journal.c
legacy.o: $(TOP)/src/legacy.c $(HDR)
$(TCCX) -c $(TOP)/src/legacy.c
loadext.o: $(TOP)/src/loadext.c $(HDR)
$(TCCX) -c $(TOP)/src/loadext.c
main.o: $(TOP)/src/main.c $(HDR)
$(TCCX) -c $(TOP)/src/main.c
malloc.o: $(TOP)/src/malloc.c $(HDR)
$(TCCX) -c $(TOP)/src/malloc.c
mem1.o: $(TOP)/src/mem1.c $(HDR)
$(TCCX) -c $(TOP)/src/mem1.c
mem2.o: $(TOP)/src/mem2.c $(HDR)
$(TCCX) -c $(TOP)/src/mem2.c
mutex.o: $(TOP)/src/mutex.c $(HDR)
$(TCCX) -c $(TOP)/src/mutex.c
mutex_os2.o: $(TOP)/src/mutex_os2.c $(HDR)
$(TCCX) -c $(TOP)/src/mutex_os2.c
mutex_unix.o: $(TOP)/src/mutex_unix.c $(HDR)
$(TCCX) -c $(TOP)/src/mutex_unix.c
mutex_w32.o: $(TOP)/src/mutex_w32.c $(HDR)
$(TCCX) -c $(TOP)/src/mutex_w32.c
pager.o: $(TOP)/src/pager.c $(HDR) $(TOP)/src/pager.h
$(TCCX) -c $(TOP)/src/pager.c
opcodes.o: opcodes.c
$(TCCX) -c opcodes.c
# Rules to build opcodes.c and opcodes.h
#
opcodes.c: opcodes.h $(TOP)/mkopcodec.awk
sort -n -b -k 3 opcodes.h | $(NAWK) -f $(TOP)/mkopcodec.awk >opcodes.c
opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk
cat parse.h $(TOP)/src/vdbe.c | $(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h
cat parse.h $(TOP)/src/vdbe.c |$(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h
os.o: $(TOP)/src/os.c $(HDR)
$(TCCX) -c $(TOP)/src/os.c
os_os2.o: $(TOP)/src/os_os2.c $(HDR)
$(TCCX) -c $(TOP)/src/os_os2.c
os_unix.o: $(TOP)/src/os_unix.c $(HDR)
$(TCCX) -c $(TOP)/src/os_unix.c
os_win.o: $(TOP)/src/os_win.c $(HDR)
$(TCCX) -c $(TOP)/src/os_win.c
parse.o: parse.c $(HDR)
$(TCCX) -c parse.c
# Rules to build parse.c and parse.h - the outputs of lemon.
#
parse.h: parse.c
parse.c: $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk
@@ -444,77 +363,16 @@ parse.c: $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk
mv parse.h parse.h.temp
awk -f $(TOP)/addopcodes.awk parse.h.temp >parse.h
pragma.o: $(TOP)/src/pragma.c $(HDR)
$(TCCX) $(TCL_FLAGS) -c $(TOP)/src/pragma.c
prepare.o: $(TOP)/src/prepare.c $(HDR)
$(TCCX) $(TCL_FLAGS) -c $(TOP)/src/prepare.c
printf.o: $(TOP)/src/printf.c $(HDR)
$(TCCX) $(TCL_FLAGS) -c $(TOP)/src/printf.c
random.o: $(TOP)/src/random.c $(HDR)
$(TCCX) -c $(TOP)/src/random.c
select.o: $(TOP)/src/select.c $(HDR)
$(TCCX) -c $(TOP)/src/select.c
sqlite3.h: $(TOP)/src/sqlite.h.in
sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \
-e s/--VERSION-NUMBER--/`cat ${TOP}/VERSION | sed 's/[^0-9]/ /g' | $(NAWK) '{printf "%d%03d%03d",$$1,$$2,$$3}'`/ \
$(TOP)/src/sqlite.h.in >sqlite3.h
table.o: $(TOP)/src/table.c $(HDR)
$(TCCX) -c $(TOP)/src/table.c
tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR)
$(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c
tokenize.o: $(TOP)/src/tokenize.c keywordhash.h $(HDR)
$(TCCX) -c $(TOP)/src/tokenize.c
keywordhash.h: $(TOP)/tool/mkkeywordhash.c
$(BCC) -o mkkeywordhash $(OPTS) $(TOP)/tool/mkkeywordhash.c
./mkkeywordhash >keywordhash.h
trigger.o: $(TOP)/src/trigger.c $(HDR)
$(TCCX) -c $(TOP)/src/trigger.c
update.o: $(TOP)/src/update.c $(HDR)
$(TCCX) -c $(TOP)/src/update.c
utf.o: $(TOP)/src/utf.c $(HDR)
$(TCCX) -c $(TOP)/src/utf.c
util.o: $(TOP)/src/util.c $(HDR)
$(TCCX) -c $(TOP)/src/util.c
vacuum.o: $(TOP)/src/vacuum.c $(HDR)
$(TCCX) -c $(TOP)/src/vacuum.c
vdbe.o: $(TOP)/src/vdbe.c $(VDBEHDR) $(HDR)
$(TCCX) -c $(TOP)/src/vdbe.c
vdbeapi.o: $(TOP)/src/vdbeapi.c $(VDBEHDR) $(HDR)
$(TCCX) -c $(TOP)/src/vdbeapi.c
vdbeaux.o: $(TOP)/src/vdbeaux.c $(VDBEHDR) $(HDR)
$(TCCX) -c $(TOP)/src/vdbeaux.c
vdbeblob.o: $(TOP)/src/vdbeblob.c $(VDBEHDR) $(HDR)
$(TCCX) -c $(TOP)/src/vdbeblob.c
vdbefifo.o: $(TOP)/src/vdbefifo.c $(VDBEHDR) $(HDR)
$(TCCX) -c $(TOP)/src/vdbefifo.c
vdbemem.o: $(TOP)/src/vdbemem.c $(VDBEHDR) $(HDR)
$(TCCX) -c $(TOP)/src/vdbemem.c
vtab.o: $(TOP)/src/vtab.c $(VDBEHDR) $(HDR)
$(TCCX) -c $(TOP)/src/vtab.c
where.o: $(TOP)/src/where.c $(HDR)
$(TCCX) -c $(TOP)/src/where.c
# Rules to build the extension objects.
#
@@ -564,11 +422,21 @@ tclsqlite3: $(TOP)/src/tclsqlite.c libsqlite3.a
$(TCCX) $(TCL_FLAGS) -DTCLSH=1 -o tclsqlite3 \
$(TOP)/src/tclsqlite.c libsqlite3.a $(LIBTCL) $(THREADLIB)
testfixture$(EXE): $(TOP)/src/tclsqlite.c libsqlite3.a $(TESTSRC)
$(TCCX) $(TCL_FLAGS) -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 \
-DSQLITE_SERVER=1 -o testfixture$(EXE) \
-DSQLITE_CORE $(TESTSRC) $(TOP)/src/tclsqlite.c \
libsqlite3.a $(LIBTCL) $(THREADLIB)
# Rules to build the 'testfixture' application.
#
TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
$(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \
$(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \
-o testfixture$(EXE) $(LIBTCL) $(THREADLIB) libsqlite3.a
amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
$(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \
$(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \
-o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
fulltest: testfixture$(EXE) sqlite3$(EXE)
./testfixture$(EXE) $(TOP)/test/all.test
@@ -579,7 +447,7 @@ soaktest: testfixture$(EXE) sqlite3$(EXE)
test: testfixture$(EXE) sqlite3$(EXE)
./testfixture$(EXE) $(TOP)/test/quick.test
sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite3.a $(TESTSRC) \
sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c sqlite3.c $(TESTSRC) \
$(TOP)/tool/spaceanal.tcl
sed \
-e '/^#/d' \
@@ -588,9 +456,11 @@ sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite3.a $(TESTSRC) \
-e 's,^,",' \
-e 's,$$,\\n",' \
$(TOP)/tool/spaceanal.tcl >spaceanal_tcl.h
$(TCCX) $(TCL_FLAGS) -DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_DEBUG=1 -o \
sqlite3_analyzer$(EXE) $(TESTSRC) $(TOP)/src/tclsqlite.c \
libsqlite3.a $(LIBTCL) $(THREADLIB)
$(TCCX) $(TCL_FLAGS) \
-DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_DEBUG=1 -DSQLITE_PRIVATE="" \
$(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \
-o sqlite3_analyzer$(EXE) \
$(LIBTCL) $(THREADLIB)
TEST_EXTENSION = $(SHPREFIX)testloadext.$(SO)
$(TEST_EXTENSION): $(TOP)/src/test_loadext.c
@@ -599,135 +469,23 @@ $(TEST_EXTENSION): $(TOP)/src/test_loadext.c
extensiontest: testfixture$(EXE) $(TEST_EXTENSION)
./testfixture$(EXE) $(TOP)/test/loadext.test
# Rules used to build documentation
#
arch.html: $(TOP)/www/arch.tcl
tclsh $(TOP)/www/arch.tcl >arch.html
%.html: $(TOP)/www/%.tcl docdir last_change common.tcl
tclsh $< > $@
autoinc.html: $(TOP)/www/autoinc.tcl
tclsh $(TOP)/www/autoinc.tcl >autoinc.html
c_interface.html: $(TOP)/www/c_interface.tcl
tclsh $(TOP)/www/c_interface.tcl >c_interface.html
capi3.html: $(TOP)/www/capi3.tcl
tclsh $(TOP)/www/capi3.tcl >capi3.html
capi3ref.html: $(TOP)/www/mkapidoc.tcl sqlite3.h
tclsh $(TOP)/www/mkapidoc.tcl <sqlite3.h >capi3ref.html
changes.html: $(TOP)/www/changes.tcl
tclsh $(TOP)/www/changes.tcl >changes.html
compile.html: $(TOP)/www/compile.tcl
tclsh $(TOP)/www/compile.tcl >compile.html
copyright.html: $(TOP)/www/copyright.tcl
tclsh $(TOP)/www/copyright.tcl >copyright.html
copyright-release.html: $(TOP)/www/copyright-release.html
cp $(TOP)/www/copyright-release.html .
copyright-release.pdf: $(TOP)/www/copyright-release.pdf
cp $(TOP)/www/copyright-release.pdf .
common.tcl: $(TOP)/www/common.tcl
cp $(TOP)/www/common.tcl .
conflict.html: $(TOP)/www/conflict.tcl
tclsh $(TOP)/www/conflict.tcl >conflict.html
datatypes.html: $(TOP)/www/datatypes.tcl
tclsh $(TOP)/www/datatypes.tcl >datatypes.html
datatype3.html: $(TOP)/www/datatype3.tcl
tclsh $(TOP)/www/datatype3.tcl >datatype3.html
different.html: $(TOP)/www/different.tcl
tclsh $(TOP)/www/different.tcl >different.html
docs.html: $(TOP)/www/docs.tcl
tclsh $(TOP)/www/docs.tcl >docs.html
download.html: $(TOP)/www/download.tcl
mkdir -p doc
tclsh $(TOP)/www/download.tcl >download.html
faq.html: $(TOP)/www/faq.tcl
tclsh $(TOP)/www/faq.tcl >faq.html
fileformat.html: $(TOP)/www/fileformat.tcl
tclsh $(TOP)/www/fileformat.tcl >fileformat.html
formatchng.html: $(TOP)/www/formatchng.tcl
tclsh $(TOP)/www/formatchng.tcl >formatchng.html
index.html: $(TOP)/www/index.tcl last_change
tclsh $(TOP)/www/index.tcl >index.html
limits.html: $(TOP)/www/limits.tcl last_change
tclsh $(TOP)/www/limits.tcl >limits.html
lang.html: $(TOP)/www/lang.tcl
lang.html: $(TOP)/www/lang.tcl docdir
tclsh $(TOP)/www/lang.tcl doc >lang.html
pragma.html: $(TOP)/www/pragma.tcl
tclsh $(TOP)/www/pragma.tcl >pragma.html
lockingv3.html: $(TOP)/www/lockingv3.tcl
tclsh $(TOP)/www/lockingv3.tcl >lockingv3.html
sharedcache.html: $(TOP)/www/sharedcache.tcl
tclsh $(TOP)/www/sharedcache.tcl >sharedcache.html
mingw.html: $(TOP)/www/mingw.tcl
tclsh $(TOP)/www/mingw.tcl >mingw.html
nulls.html: $(TOP)/www/nulls.tcl
tclsh $(TOP)/www/nulls.tcl >nulls.html
oldnews.html: $(TOP)/www/oldnews.tcl
tclsh $(TOP)/www/oldnews.tcl >oldnews.html
omitted.html: $(TOP)/www/omitted.tcl
tclsh $(TOP)/www/omitted.tcl >omitted.html
opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c
tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html
optimizer.html: $(TOP)/www/optimizer.tcl
tclsh $(TOP)/www/optimizer.tcl >optimizer.html
optoverview.html: $(TOP)/www/optoverview.tcl
tclsh $(TOP)/www/optoverview.tcl >optoverview.html
quickstart.html: $(TOP)/www/quickstart.tcl
tclsh $(TOP)/www/quickstart.tcl >quickstart.html
speed.html: $(TOP)/www/speed.tcl
tclsh $(TOP)/www/speed.tcl >speed.html
sqlite.html: $(TOP)/www/sqlite.tcl
tclsh $(TOP)/www/sqlite.tcl >sqlite.html
support.html: $(TOP)/www/support.tcl
tclsh $(TOP)/www/support.tcl >support.html
tclsqlite.html: $(TOP)/www/tclsqlite.tcl
tclsh $(TOP)/www/tclsqlite.tcl >tclsqlite.html
vdbe.html: $(TOP)/www/vdbe.tcl
tclsh $(TOP)/www/vdbe.tcl >vdbe.html
version3.html: $(TOP)/www/version3.tcl
tclsh $(TOP)/www/version3.tcl >version3.html
whentouse.html: $(TOP)/www/whentouse.tcl
tclsh $(TOP)/www/whentouse.tcl >whentouse.html
34to35.html: $(TOP)/www/34to35.tcl
tclsh $(TOP)/www/34to35.tcl >34to35.html
capi3ref.html: $(TOP)/www/mkapidoc.tcl sqlite3.h
tclsh $(TOP)/www/mkapidoc.tcl <sqlite3.h >capi3ref.html
%: $(TOP)/www/%
cp $< $@
# Files to be published on the website.
#
@@ -774,8 +532,10 @@ DOC = \
whentouse.html \
34to35.html
doc: common.tcl $(DOC)
docdir:
mkdir -p doc
doc: common.tcl $(DOC) docdir
mv $(DOC) doc
cp $(TOP)/www/*.gif $(TOP)/art/*.gif doc

View File

@@ -1,5 +1,5 @@
C Initial\simplementation\sof\sthe\ssqlite3_file_control()\sinterface.\nCompiles\sand\spasses\sall\shistorical\stests\sbut\sthe\snew\smethod\sis\sitself\nuntested.\s(CVS\s4353)
D 2007-08-31T16:11:36
C Allow\ssqllimits1.test\sto\sbe\srun\sfrom\sa\sregular\sbuild\sof\stestfixture.\sAdd\sthe\s'amalgamation-testfixture'\starget\sto\smain.mk\s-\sto\sbuild\stestfixture\svia\ssqlite3.c.\s(CVS\s4354)
D 2007-08-31T17:42:48
F Makefile.in bfcc303429a5d9dcd552d807ee016c77427418c3
F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -63,7 +63,7 @@ F ext/icu/README.txt 3b130aa66e7a681136f6add198b076a2f90d1e33
F ext/icu/icu.c 61a345d8126686aa3487aa8d2d0f68abd655f7a4
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
F ltmain.sh 56abb507100ed2d4261f6dd1653dec3cf4066387
F main.mk 6c8e14bbe8c52df32a5468e556df258ef563b4f2
F main.mk d29c5113c83ae6f4d9d740bb6f775e6b768027fa
F mkdll.sh 37fa8a7412e51b5ab2bc6d4276135f022a0feffb
F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
F mkextw.sh 1a866b53637dab137191341cc875575a5ca110fb
@@ -90,7 +90,7 @@ F src/complete.c 4cf68fd75d60257524cbe74f87351b9848399131
F src/date.c af235f38f50809abd0a96da3bb3e0cc32be6226e
F src/delete.c 849846d06d29851dde0d9f424a5de5817eb140d1
F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b
F src/expr.c e0e393df864531720b5281c528c6a8d59d530b80
F src/expr.c 95f3674736ff4b3238f7f2d252fbd93aea55e610
F src/func.c 10135a09d37f89b524bfea7c36368699e9c3b89a
F src/hash.c 8fe2fa52bd17869c87748e42cff5b1e7fbf90822
F src/hash.h 3ad3da76bfb954978d227bf495568b0e6da2c19e
@@ -127,16 +127,16 @@ F src/pragma.c 59a5e12ad0972ca2403503c12efb77f208c9a144
F src/prepare.c 1506fd279824b1f4bac97514966d0370101f9a6b
F src/printf.c 81e5db668c211b9b8a9483197d6118b19d76fa74
F src/random.c 4a22746501bf36b0a088c66e38dde5daba6a35da
F src/select.c e5cc50e8d22b2490c4fb47f2ef08a9b43bcb52d9
F src/select.c 4706a6115da1bdc09a2be5991168a6cc2c0df267
F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96
F src/shell.c ac29402b538515fa4697282387be9c1205e6e9eb
F src/sqlite.h.in fa367ce8e8a9b50eb65189788bad12e6240c82bb
F src/sqlite3ext.h a93f59cdee3638dc0c9c086f80df743a4e68c3cb
F src/sqliteInt.h 5dbb7a934a88dfa9893e2627f4821b0464f5edc0
F src/sqliteInt.h adc8a20e80ccf9eef24cc32f241a3427915a136e
F src/sqliteLimit.h 1bcbbdfa856f8b71b561abb31edb864b0eca1d12
F src/table.c 1aeb9eab57b4235db86fe15a35dec76fb445a9c4
F src/tclsqlite.c 8db035768623779c97d0509eb88ecbb49c51abca
F src/test1.c 8b20d1f05777ac480d3caf8d5f79ab7a543513fc
F src/test1.c 8fcfb16cbd589f9bb2a21dd19d7cb8ce8141d726
F src/test2.c 4ab230fbdc0decfa7422f6a052b609ba54f4dfac
F src/test3.c 199a440ba2b38b26251393b609451a3484a15907
F src/test4.c c2c0f5dc907f1346f5d4b65eb5799f11eb9e4071
@@ -148,7 +148,7 @@ F src/test9.c b46c8fe02ac7cca1a7316436d8d38d50c66f4b2f
F src/test_async.c f222bd196b55a2e73b1427400d5aa97841787167
F src/test_autoext.c 855157d97aa28cf84233847548bfacda21807436
F src/test_btree.c c1308ba0b88ab577fa56c9e493a09829dfcded9c
F src/test_config.c 1eb08650f60a5ea652b45fb30781aad2543dd47b
F src/test_config.c 3f50b4060c360d33d069e64ce5684eac43fbf4db
F src/test_hexio.c 82916f918687502658f02533b519c38cb180db6d
F src/test_loadext.c 22065d601a18878e5542191001f0eaa5d77c0ed8
F src/test_malloc.c 35310c5147effb632fd52c1dd872ef82d56faee8
@@ -174,7 +174,7 @@ F src/vtab.c ace9b41a088f6ad55d2e39084d92180a2bee3276
F src/where.c 4687a2a56bc0fe66ad457958ea9f72b6cae17426
F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/all.test 0b2117b4ccbb3dc88a5259d1735a04d20584b92b
F test/all.test 51e7ba4c58f160843ee6891ec9891c749377d3b2
F test/alter.test c2a9402e17a731e5294ef370214bd9f88351d18d
F test/alter2.test 50c3f554b8236d179d72511c0a4f23c5eb7f2af3
F test/alter3.test a6eec8f454be9b6ce73d8d7dc711453675a10ce7
@@ -235,7 +235,7 @@ F test/crash2.test 26d7a4c5520201e5de2c696ea51ab946b59dc0e9
F test/crash3.test 0b09687ae1a3ccbcefdfaeb4b963e26e36255d76
F test/crashtest1.c 09c1c7d728ccf4feb9e481671e29dda5669bbcc2
F test/createtab.test b562aba1a65be49935fc43a04e90766e39231804
F test/date.test 4834d022b2fa5982cafed20938f7523a7475e4cd
F test/date.test b2bd57ff2ab6185b9322306f7b68fa647d63c857
F test/default.test 252298e42a680146b1dd64f563b95bdf088d94fb
F test/delete.test 525a6953bc3978780cae35f3eaf1027cf4ce887d
F test/delete2.test c06be3806ba804bc8c6f134476816080280b40e3
@@ -411,7 +411,7 @@ F test/sort.test 0e4456e729e5a92a625907c63dcdedfbe72c5dc5
F test/speed1.test 22e1b27af0683ed44dcd2f93ed817a9c3e65084a
F test/speed2.test 53177056baf6556dcbdcf032bbdfc41c1aa74ded
F test/speed3.test 55e039b34d505aa442cee415f83c451ae28b3123
F test/sqllimits1.test c74c7cdbb23406c5408d2d9ddbe7da5b5a946c46
F test/sqllimits1.test cd2069518d1a1d7b5406b8f26fc8436aa87268e8
F test/subquery.test ae324ee928c5fb463a3ce08a8860d6e7f1ca5797
F test/subselect.test 974e87f8fc91c5f00dd565316d396a5a6c3106c4
F test/substr.test 9f26cfca74397b26ab217fb838c3d0549eb4bcf3
@@ -568,7 +568,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
P 3434b7a9213f210498f43cb5094a0f3f5c25b957
R e134a1f025d06e94c6b0a8b3051d2ea3
U drh
Z 292d7d222b18b61dd3924bd523487d55
P d3ab3e3911f10b17d0859a34f4f007c790a0cd82
R d2fe57741cd389ef9ecc7e0f4057df24
U danielk1977
Z 5fccbc4c380bea847cb60000a3027db2

View File

@@ -1 +1 @@
d3ab3e3911f10b17d0859a34f4f007c790a0cd82
d119427314d27f291b605073d34826cdb89746c1

View File

@@ -12,7 +12,7 @@
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
** $Id: expr.c,v 1.310 2007/08/29 14:06:23 danielk1977 Exp $
** $Id: expr.c,v 1.311 2007/08/31 17:42:48 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -704,7 +704,7 @@ void sqlite3ExprListCheckLength(
}
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
/* The following three functions, heightOfExpr(), heightOfExprList()
** and heightOfSelect(), are used to determine the maximum height
** of any expression tree referenced by the structure passed as the
@@ -1484,7 +1484,7 @@ int sqlite3ExprResolveNames(
){
int savedHasAgg;
if( pExpr==0 ) return 0;
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
if( (pExpr->nHeight+pNC->pParse->nHeight)>SQLITE_MAX_EXPR_DEPTH ){
sqlite3ErrorMsg(pNC->pParse,
"Expression tree is too large (maximum depth %d)",
@@ -1497,7 +1497,7 @@ int sqlite3ExprResolveNames(
savedHasAgg = pNC->hasAgg;
pNC->hasAgg = 0;
walkExprTree(pExpr, nameResolverStep, pNC);
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
pNC->pParse->nHeight -= pExpr->nHeight;
#endif
if( pNC->nErr>0 ){

View File

@@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle SELECT statements in SQLite.
**
** $Id: select.c,v 1.358 2007/08/30 11:48:32 danielk1977 Exp $
** $Id: select.c,v 1.359 2007/08/31 17:42:48 danielk1977 Exp $
*/
#include "sqliteInt.h"
@@ -3019,7 +3019,7 @@ int sqlite3Select(
}else{
needRestoreContext = 0;
}
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
/* Increment Parse.nHeight by the height of the largest expression
** tree refered to by this, the parent select. The child select
** may contain expression trees of at most
@@ -3031,7 +3031,7 @@ int sqlite3Select(
#endif
sqlite3Select(pParse, pItem->pSelect, SRT_EphemTab,
pItem->iCursor, p, i, &isAgg, 0);
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
pParse->nHeight -= sqlite3SelectExprHeight(p);
#endif
if( needRestoreContext ){

View File

@@ -11,12 +11,50 @@
*************************************************************************
** Internal interface definitions for SQLite.
**
** @(#) $Id: sqliteInt.h,v 1.606 2007/08/30 14:10:30 drh Exp $
** @(#) $Id: sqliteInt.h,v 1.607 2007/08/31 17:42:48 danielk1977 Exp $
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
#include "sqliteLimit.h"
#ifdef SQLITE_TEST
#undef SQLITE_MAX_LENGTH
#undef SQLITE_MAX_COLUMN
#undef SQLITE_MAX_SQL_LENGTH
#undef SQLITE_MAX_EXPR_DEPTH
#undef SQLITE_MAX_COMPOUND_SELECT
#undef SQLITE_MAX_VDBE_OP
#undef SQLITE_MAX_FUNCTION_ARG
#undef SQLITE_MAX_VARIABLE_NUMBER
#undef SQLITE_MAX_PAGE_SIZE
#undef SQLITE_MAX_PAGE_COUNT
#undef SQLITE_MAX_LIKE_PATTERN_LENGTH
#define SQLITE_MAX_LENGTH sqlite3MAX_LENGTH
#define SQLITE_MAX_COLUMN sqlite3MAX_COLUMN
#define SQLITE_MAX_SQL_LENGTH sqlite3MAX_SQL_LENGTH
#define SQLITE_MAX_EXPR_DEPTH sqlite3MAX_EXPR_DEPTH
#define SQLITE_MAX_COMPOUND_SELECT sqlite3MAX_COMPOUND_SELECT
#define SQLITE_MAX_VDBE_OP sqlite3MAX_VDBE_OP
#define SQLITE_MAX_FUNCTION_ARG sqlite3MAX_FUNCTION_ARG
#define SQLITE_MAX_VARIABLE_NUMBER sqlite3MAX_VARIABLE_NUMBER
#define SQLITE_MAX_PAGE_SIZE sqlite3MAX_PAGE_SIZE
#define SQLITE_MAX_PAGE_COUNT sqlite3MAX_PAGE_COUNT
#define SQLITE_MAX_LIKE_PATTERN_LENGTH sqlite3MAX_LIKE_PATTERN_LENGTH
extern int sqlite3MAX_LENGTH;
extern int sqlite3MAX_COLUMN;
extern int sqlite3MAX_SQL_LENGTH;
extern int sqlite3MAX_EXPR_DEPTH;
extern int sqlite3MAX_COMPOUND_SELECT;
extern int sqlite3MAX_VDBE_OP;
extern int sqlite3MAX_FUNCTION_ARG;
extern int sqlite3MAX_VARIABLE_NUMBER;
extern int sqlite3MAX_PAGE_SIZE;
extern int sqlite3MAX_PAGE_COUNT;
extern int sqlite3MAX_LIKE_PATTERN_LENGTH;
#endif
#define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */
#if defined(SQLITE_TCL) || defined(TCLSH)
@@ -973,7 +1011,7 @@ struct Expr {
** right side of "<expr> IN (<select>)" */
Table *pTab; /* Table for OP_Column expressions. */
Schema *pSchema;
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
int nHeight; /* Height of the tree headed by this node */
#endif
};
@@ -1321,7 +1359,7 @@ struct Parse {
u8 declareVtab; /* True if inside sqlite3_declare_vtab() */
Table *pVirtualLock; /* Require virtual table lock on this table */
#endif
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
int nHeight; /* Expression tree height of current sub-select */
#endif
};
@@ -1876,7 +1914,7 @@ CollSeq *sqlite3BinaryCompareCollSeq(Parse *, Expr *, Expr *);
#define sqlite3JournalSize(pVfs) ((pVfs)->szOsFile)
#endif
#if SQLITE_MAX_EXPR_DEPTH>0
#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
void sqlite3ExprSetHeight(Expr *);
int sqlite3SelectExprHeight(Select *);
#else

View File

@@ -13,7 +13,7 @@
** is not included in the SQLite library. It is used for automated
** testing of the SQLite library.
**
** $Id: test1.c,v 1.271 2007/08/23 02:47:53 drh Exp $
** $Id: test1.c,v 1.272 2007/08/31 17:42:48 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "tcl.h"
@@ -4353,7 +4353,6 @@ int Sqlitetest1_Init(Tcl_Interp *interp){
};
static int bitmask_size = sizeof(Bitmask)*8;
int i;
extern int sqlite3_where_trace;
extern int sqlite3_sync_count, sqlite3_fullsync_count;
extern int sqlite3_opentemp_count;
extern int sqlite3_like_count;
@@ -4369,6 +4368,7 @@ int Sqlitetest1_Init(Tcl_Interp *interp){
extern int sqlite3_os_type;
#endif
#ifdef SQLITE_DEBUG
extern int sqlite3_where_trace;
extern int sqlite3_os_trace;
extern int sqlite3_vdbe_addop_trace;
#endif

View File

@@ -16,8 +16,23 @@
** The focus of this file is providing the TCL testing layer
** access to compile-time constants.
**
** $Id: test_config.c,v 1.13 2007/08/29 17:59:42 drh Exp $
** $Id: test_config.c,v 1.14 2007/08/31 17:42:48 danielk1977 Exp $
*/
#include "sqliteLimit.h"
int sqlite3MAX_LENGTH = SQLITE_MAX_LENGTH;
int sqlite3MAX_COLUMN = SQLITE_MAX_COLUMN;
int sqlite3MAX_SQL_LENGTH = SQLITE_MAX_SQL_LENGTH;
int sqlite3MAX_EXPR_DEPTH = SQLITE_MAX_EXPR_DEPTH;
int sqlite3MAX_COMPOUND_SELECT = SQLITE_MAX_COMPOUND_SELECT;
int sqlite3MAX_VDBE_OP = SQLITE_MAX_VDBE_OP;
int sqlite3MAX_FUNCTION_ARG = SQLITE_MAX_FUNCTION_ARG;
int sqlite3MAX_VARIABLE_NUMBER = SQLITE_MAX_VARIABLE_NUMBER;
int sqlite3MAX_PAGE_SIZE = SQLITE_MAX_PAGE_SIZE;
int sqlite3MAX_PAGE_COUNT = SQLITE_MAX_PAGE_COUNT;
int sqlite3MAX_LIKE_PATTERN_LENGTH = SQLITE_MAX_LIKE_PATTERN_LENGTH;
#include "sqliteInt.h"
#include "tcl.h"
#include <stdlib.h>
@@ -393,41 +408,21 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double",
Tcl_SetVar2(interp, "sqlite_options", "vtab", "1", TCL_GLOBAL_ONLY);
#endif
{
static int sqlite_max_length = SQLITE_MAX_LENGTH;
Tcl_LinkVar(interp, "SQLITE_MAX_LENGTH",
(char*)&sqlite_max_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_column = SQLITE_MAX_COLUMN;
Tcl_LinkVar(interp, "SQLITE_MAX_COLUMN",
(char*)&sqlite_max_column, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_sql_length = SQLITE_MAX_SQL_LENGTH;
Tcl_LinkVar(interp, "SQLITE_MAX_SQL_LENGTH",
(char*)&sqlite_max_sql_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_expr_depth = SQLITE_MAX_EXPR_DEPTH;
Tcl_LinkVar(interp, "SQLITE_MAX_EXPR_DEPTH",
(char*)&sqlite_max_expr_depth, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_compound_select = SQLITE_MAX_COMPOUND_SELECT;
Tcl_LinkVar(interp, "SQLITE_MAX_COMPOUND_SELECT",
(char*)&sqlite_max_compound_select, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_vdbe_op = SQLITE_MAX_VDBE_OP;
Tcl_LinkVar(interp, "SQLITE_MAX_VDBE_OP",
(char*)&sqlite_max_vdbe_op, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_function_arg = SQLITE_MAX_FUNCTION_ARG;
Tcl_LinkVar(interp, "SQLITE_MAX_FUNCTION_ARG",
(char*)&sqlite_max_function_arg, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
#define LINKVAR(x) \
Tcl_LinkVar(interp, "SQLITE_" #x, (char *)&(sqlite3 ## x), TCL_LINK_INT)
LINKVAR( MAX_LENGTH );
LINKVAR( MAX_COLUMN );
LINKVAR( MAX_SQL_LENGTH );
LINKVAR( MAX_EXPR_DEPTH );
LINKVAR( MAX_COMPOUND_SELECT );
LINKVAR( MAX_VDBE_OP );
LINKVAR( MAX_FUNCTION_ARG );
LINKVAR( MAX_VARIABLE_NUMBER );
LINKVAR( MAX_PAGE_SIZE );
LINKVAR( MAX_PAGE_COUNT );
LINKVAR( MAX_LIKE_PATTERN_LENGTH );
{
static int sqlite_default_temp_cache_size = SQLITE_DEFAULT_TEMP_CACHE_SIZE;
Tcl_LinkVar(interp, "SQLITE_DEFAULT_TEMP_CACHE_SIZE",
@@ -439,26 +434,11 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double",
Tcl_LinkVar(interp, "SQLITE_DEFAULT_CACHE_SIZE",
(char*)&sqlite_default_cache_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_variable_number = SQLITE_MAX_VARIABLE_NUMBER;
Tcl_LinkVar(interp, "SQLITE_MAX_VARIABLE_NUMBER",
(char*)&sqlite_max_variable_number, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_default_page_size = SQLITE_DEFAULT_PAGE_SIZE;
Tcl_LinkVar(interp, "SQLITE_DEFAULT_PAGE_SIZE",
(char*)&sqlite_default_page_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_page_size = SQLITE_MAX_PAGE_SIZE;
Tcl_LinkVar(interp, "SQLITE_MAX_PAGE_SIZE",
(char*)&sqlite_max_page_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_page_count = SQLITE_MAX_PAGE_COUNT;
Tcl_LinkVar(interp, "SQLITE_MAX_PAGE_COUNT",
(char*)&sqlite_max_page_count, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int temp_store = TEMP_STORE;
Tcl_LinkVar(interp, "TEMP_STORE",
@@ -469,11 +449,6 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double",
Tcl_LinkVar(interp, "SQLITE_DEFAULT_FILE_FORMAT",
(char*)&sqlite_default_file_format, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_like_pattern = SQLITE_MAX_LIKE_PATTERN_LENGTH;
Tcl_LinkVar(interp, "SQLITE_MAX_LIKE_PATTERN_LENGTH",
(char*)&sqlite_max_like_pattern, TCL_LINK_INT|TCL_LINK_READ_ONLY);
}
{
static int sqlite_max_attached = SQLITE_MAX_ATTACHED;
Tcl_LinkVar(interp, "SQLITE_MAX_ATTACHED",

View File

@@ -10,7 +10,7 @@
#***********************************************************************
# This file runs all tests.
#
# $Id: all.test,v 1.46 2007/08/23 02:47:53 drh Exp $
# $Id: all.test,v 1.47 2007/08/31 17:42:48 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -52,20 +52,19 @@ set argv {}
#
set LeakList {}
set EXCLUDE {
all.test
async.test
crash.test
crash2.test
autovacuum_crash.test
quick.test
malloc.test
misuse.test
memleak.test
sqllimits1.test
fuzz.test
soak.test
}
set EXCLUDE {}
lappend EXCLUDE all.test ;# This file
lappend EXCLUDE async.test
lappend EXCLUDE crash.test ;# Run seperately later.
lappend EXCLUDE crash2.test ;# Run seperately later.
lappend EXCLUDE autovacuum_crash.test ;# Run seperately later.
lappend EXCLUDE quick.test ;# Alternate test driver script
lappend EXCLUDE malloc.test ;# Run seperately later.
lappend EXCLUDE misuse.test ;# Run seperately later.
lappend EXCLUDE memleak.test ;# Alternate test driver script
lappend EXCLUDE sqllimits1.test ;# Default values use too much memory
lappend EXCLUDE fuzz.test
lappend EXCLUDE soak.test ;# Takes a very long time (default 1 hr)
# Files to include in the test. If this list is empty then everything
# that is not in the EXCLUDE list is run.

View File

@@ -11,7 +11,7 @@
# This file implements regression tests for SQLite library. The
# focus of this file is testing date and time functions.
#
# $Id: date.test,v 1.22 2007/05/04 13:15:57 drh Exp $
# $Id: date.test,v 1.23 2007/08/31 17:42:48 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -234,6 +234,13 @@ if {$tzoffset==4} {
set sqlite_current_time 0
}
# These two are a bit of a scam. They are added to ensure that 100% of
# the date.c file is covered by testing, even when the time-zone
# is not -0400 (the condition for running of the block of tests above).
#
datetest 6.19 {datetime('2039-07-01 12:00:00','localtime',null)} NULL
datetest 6.20 {datetime('2039-07-01 12:00:00','utc',null)} NULL
# Date-time functions that contain NULL arguments return a NULL
# result.
#

View File

@@ -12,7 +12,7 @@
# This file contains tests to verify that the limits defined in
# sqlite source file limits.h are enforced.
#
# $Id: sqllimits1.test,v 1.10 2007/06/07 19:08:34 drh Exp $
# $Id: sqllimits1.test,v 1.11 2007/08/31 17:42:48 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -35,8 +35,21 @@ source $testdir/tester.tcl
#
# sqllimits-5.*: SQLITE_MAX_EXPR_DEPTH (sqlite todo)
# sqllimits-6.*: SQLITE_MAX_VDBE_OP (sqlite todo)
# sqllimits-12.*: SQLITE_MAX_PAGE_COUNT (sqlite todo)
#
set SQLITE_MAX_LENGTH 1000000
set SQLITE_MAX_COLUMN
set SQLITE_MAX_SQL_LENGTH 100000
set SQLITE_MAX_EXPR_DEPTH 1000
set SQLITE_MAX_COMPOUND_SELECT 5
set SQLITE_MAX_VDBE_OP
set SQLITE_MAX_FUNCTION_ARG
set SQLITE_MAX_VARIABLE_NUMBER
set SQLITE_MAX_PAGE_SIZE
set SQLITE_MAX_PAGE_COUNT
set SQLITE_MAX_LIKE_PATTERN_LENGTH 1000
#--------------------------------------------------------------------
# Test cases sqllimits-1.* test that the SQLITE_MAX_LENGTH limit
# is enforced.
@@ -70,7 +83,7 @@ do_test sqllimits-1.5 {
do_test sqllimits-1.6 {
catchsql { SELECT zeroblob(-1) }
} {0 {}}
} {0 {{}}}
do_test sqllimits-1.9 {
set ::str [string repeat A 65537]
@@ -350,6 +363,9 @@ do_test sqllimits-1.7.2 {
# TODO
do_test sqllimits-1.8.1 {
set max $::SQLITE_MAX_ATTACHED
for {set i 0} {$i < ($max)} {incr i} {
file delete -force test${i}.db test${i}.db-journal
}
for {set i 0} {$i < ($max)} {incr i} {
execsql "ATTACH 'test${i}.db' AS aux${i}"
}