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 calls to sqlite3OsRead() and sqlite3OsWrite() to ensure that
offset computations are 64-bit clean.
Check all calls to memory allocation routines to ensure that size
computations are 64-bit clean.
Suggested regular expression for search: /(Re|M)alloc[FORZa-z]*(/
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).
Significant compile-time options are recognized by the
sqlite3_compileoption_used() interface.
Documentation review:
Latest release on the "index.html" page.
Release announcement in "changes.in".
Release accouncement in "news.html".
No unresolved hyperlinks in the documentation build.
Requirements marks are up-to-date in both documentation and source code.
The compile-time options are all up-to-date (compile.html).
Database footprint is up-to-date (features.html).
Test metrics are up-to-date (testing.html).
Check new/changed documentation for spelling and gramatical mistakes.
Compiler warning checks.
Linux GCC -Wall -Wextra (the "tool/warnings.sh" script)
Mac OS X GCC -Wall -Wextra (the "tool/warnings.sh" script)
sh tool/symbols-mingw.sh - no incorrect exports or dependencies
Verify that EXEs and DLLs generated using MSVC contain the correct
version number, product name, description, and copyright as resources.
Tests for platform OpenBSD (x86):
make test
th3make quick.rc
Sqllogictest:
Checked in latest SQLite amalgamation.
No SQLite compiler warnings.
tclsh run-all.tcl - on unix
tclsh run-all.tcl - on windows
Build using the configure/make in main source tree.
Make sure that autoconf has been run to update the configure script.
Verify the correct version numbers have been installed.
Fossil updated to use the latest SQLite.
No SQLite compiler warnings.
Used on active websites with no issues.
fossil all dbstat --db-check
Rebuild and use Firefox with the latest SQLite
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
see-cccrypt.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 OS X.
At least one of the above on Windows.
SEE using configure; make test
Linux
Mac
ZIPVFS tests:
testfixture ../zipvfs/test/zipvfs.test(See test/README.txt in the ZIPVFS source tree for details.)
th3make zipvfs.rc test.rc
th3make zipvfs.rc memdebug.rc
th3make zipvfs.rc quick.rc -valgrind
th3make zipvfs.rc quick.rc
At least one of the above on Linux.
At least one of the above on Mac OS X.
At least one of the above on Windows.
th3make zipvfs-cov.rc - verify full coverage
NX-Devkit testing
Verify that devkit sources are up-to-date with SQLite and ZIPVFS
by running update-src.sh and mkdevkit.tcl in the sbin subdirectory
of the devkit source tree. Record nds_sqlite3.[ch] hashes in the
comment.
Build using: sh mkdevkit.sh; gcc -o nxc.o -c nx_compress.c
Test using: tclsh th3make test.rc nxc.o -DNDS_ENABLE_COMPRESS
Verify failure if run without -DNDS_ENABLE_COMPRESS
Amalgamation autoconf tarball.
Builds.
Works on Linux.
Works on Mac OS X.
Works on Windows MinGW
Works on Windows MSVC
TEA archive builds correctly and runs:
Linux
Mac OS X
Run performance tests comparing the new SQLite release against the
previous release and/or a release from one year ago. Document and
justify any performance decrease.
The Tcl "speed*.test" scripts.
The TH3 speed tests.
The "speedtest1" program.
./speedtest1 --nosync --trace 2 >x.txt; time ./sqlite3 x.db <x.txt >/dev/null
One or more of the above on Linux.
One or more of the above on Windows.
One or more of the above on Mac OS X.
Run make wordcount; bash run-wordcount.bash $OPTIONS with options:
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 OS X
OpenBSD
Windows using native MinGW.
Windows using NMAKE.
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 OS X
Windows (MinGW)
Windows (MSVC)
A database containing WITHOUT ROWID tables.
Build and verify sqldiff
Linux
Mac
Windows
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.