All significant changes are mentioned in the "changes" log
of the documentation
New code complies with style guidelines
New code complies with design rules
Comments have been updated to reflect code changes
Variables and functions have been renamed to reflect changes
in their use
Check all multiplications, and especially those involving the offset
parameters to sqlite3OsRead() and sqlite3OsWrite() or having operands
pageSize or szPage to make sure that 32x32-bit multiplicates that intend
to yield a 64-bit result do not instead truncate to 32-bits.
Verify that source code contains no tabs and that surplus whitespace has
been removed.
Verify that the list of APIs exposed via the extension header is
up-to-date (sqlite3ext.h)
OMIT, ENABLE, and DISABLE options:
tclsh ../tool/omittest.tcl -skip_run
Tests for platform Linux x86:
tclsh releasetest.tcl
tclsh th3make cov.rc(verify 100% branch test coverage)
tclsh fulltest.tcl fast.rc test.rc
tclsh th3make fast-ex.rc
Tests for platform Linux x86_64:
tclsh th3make cov.rc(verify 100% branch test coverage)
tclsh th3make cov.rc -DHAVE_MALLOC_H -DHAVE_MALLOC_USABLE_SIZE(verify 100% branch test coverage)
tclsh th3make cov.rc -DSQLITE_ENABLE_STAT4(verify 100% branch test coverage)
tclsh releasetest.tcl
tclsh fulltest.tcl fast.rc test.rc
tclsh th3make memdebug.rc
tclsh th3make test-ex.rc
tclsh th3make test.rc CC=clang
tclsh th3make fast.rc CC=clang
./mptester x.db mptest/crash01.test
./mptester x.db mptest/multiwrite01.test
Tests for platform Linux ARM (BeagleBoard)
tclsh th3make min.rc
Tests for platform Mac OS-X x86:
tclsh releasetest.tcl
tclsh fulltest.tcl fast.rc test.rc
tclsh th3make fast.rc CC=clang
./mptester x.db mptest/crash01.test
./mptester x.db mptest/multiwrite01.test
Tests for platform MacOS 10.2 PPC:
tclsh th3make -Os min.rc
Recompile and test Fossil
Verify that Fossil repositories are cross-platform with x86/x64.
Tests for platform Win32/64:
make fulltestonly
th3make test.rc
th3make fast.rc
At least one of the above using MinGW
At least one of the above using MSVC-32
At least one of the above using MSVC-64
At least one of the above on WinRT (x86)
At least one of the above on WinRT (ARM)
At least one of the above on Windows Phone
At least one of the above on Windows Embedded Compact 2013
Verify that EXEs and DLLs generated using MSVC contain the correct
version number, product name, description, and copyright as resources.
th3make msvc.rc test.rc /RTC1
mptester x.db mptest/crash01.test
mptester x.db mptest/multiwrite01.test
Tests for platform Android:
th3make -Os min.rc
Tests for platform OpenBSD x86:
make test
th3make -Os min.rc
Tests for platform Solaris Sparc:
make test
th3make test.rc
th3make fast.rc
Recompile and test Fossil
Verify that Fossil repositories are cross-platform with x86/x64
Other test performed on any available platform:
th3make alignment2.rc test.rc
th3make test.rc -DHAVE_LOCALTIME_R
th3make test.rc -DSQLITE_THREADSAFE=0
th3make test.rc -ftrapv
OPTS=-DSQLITE_SMALL_STACK make sqlite3.c; th3make test.rc -DSQLITE_SMALL_STACK
NX-Devkit compiles and runs "tclsh th3make test.rc nx_compress.o" without error.
Amalgamation autoconf tarball.
Builds
Works on Linux
Works on Mac
TEA archive builds correctly and runs:
Linux
Mac
Run performance tests comparing the new SQLite release against the
previous release and a release from one year ago. Document and
justify any performance decrease.
Run "make wordcount; bash run-wordcount.bash $OPTIONS" with options:
sqlite3.c
sqlite3.c --cachesize 5 --nosync
Compute the size of a standard build (gcc -Os -c sqlite3.c) and
and record the size change in the comments
Versus the previous release
Versus the trunk from 12 months ago
Verify that the amalgamation builds are byte-for-byte identical on all
workstation platforms.
linux
mac
openbsd
windows native mingw
windows nmake
sparc solaris using autoconf
Verify that databases (including FTS3 and RTREE databases),
rollback journals, and WAL files
created by the release candidate are
readable and writeable by historical versions of SQLite (as long
as no unsupported features are used) and vice versa.
Cross-platform tests. Verify the ability of databases, WAL files, and
rollback journals to be copied and used between 32-bit and 64-bit systems
and between big-endian and little-endian systems.
32-big to 64-little, database
32-big to 64-little, WAL
32-big to 64-little, rollback
64-little to 32-big, SEE database
64-little to 32-big, ZIPVFS database
64-little to 32-big, CEROD database
Build and verify correct operation of sqlite3_analyzer on:
Linux
Mac
Sparc Solaris
Win32 (MinGW)
Win32 (MSVC)
A database containing WITHOUT ROWID tables
Tests for the sessions branch with macros SQLITE_ENABLE_SESSION
and SQLITE_ENABLE_PREUPDATE_HOOK
Verify that the sqlite3-all.c build target works and that the resulting
sqlite3-all.c file and its include files (sqlite3-?.c) compile and run
the same as the single-file amalgamation.
System.Data.SQLite builds and checks out using the SQLite core