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 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
Tests for platform Mac OS-X x86:
tclsh releasetest.tcl
tclsh fulltest.tcl fast.rc test.rc
tclsh th3make fast.rc CC=clang
Tests for platform Mac OS-X PPC:
tclsh th3make -Os min.rc
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
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
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
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
th3make test.rc -DSQLITE_MAX_ATTACHED=62
th3make min.rc -Os -DTH3_LOWMEM; valgrind ./th3
valgrind testfixture permutations.test valgrind
Sqllogictest:
Checked in latest SQLite amalgamation
No compiler warnings
run-all.sh with no errors
run-all.bat with no errors
Build using the configure/make in main source tree.
Make sure that autoconf has been run to update the configure script.
Run "make test" to verify that the build works.
Verify the correct version numbers have been installed.
Verify that the --disable-amalgamation option to configure works.
Works on Linux
Works on Mac
Works on OpenBSD
Works on Solaris
Exported symbol checks: tool/symbols.sh
No private symbols exported. (This is also checked by releasetest.tcl)
No undesirable library dependencies
No private symbols exported in MinGW (check using tool/symbols-mingw.sh)
No undesirable library dependencies on MinGW
Fossil updated to use the latest SQLite.
No compiler warnings
Used on active websites with no issues
Firefox recompiled using lastest SQLite.
No SQLite compiler warnings
Active use with no issues noted
CEROD tests in the test/ subdirectory.
SEE tests using TH3:
see.c
see-aes128-ofb.c
see-aes256-ofb.c
see-rc4.c
see-aes128-ccm.c
At least one of the above using test.rc
At least one of the above using memdebug.rc
At least one of the above on Linux
At least one of the above on Mac
At least one of the above on Windows
ZIPVFS tests:
testfixture ../zipvfs/test/zipvfs.test(See test/README.txt in the ZIPVFS source tree for details.)
Verify that the amalgamation builds are byte-for-byte identical on all
workstation platforms.
linux x86
linux x64
mac leopard
mac snow-leopard
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-little, database
64-little to 32-little, WAL
64-little to 32-little, rollback
32-little to 32-big, database
32-little to 32-big, WAL
32-little to 32-big, 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)
and verify correct output.
Tests for the sessions branch with macros SQLITE_ENABLE_SESSION
and SQLITE_ENABLE_PREUPDATE_HOOK
tclsh th3make test.rc (on windows)
tclsh th3make test.rc (on unix)
tclsh th3make cov.rc
tclsh th3make min.rc -norun; valgrind ./th3
make test (on windows)
make test (on unix)
testfixture test/session.test
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