- Compiler warning checks.
- Linux GCC -Wall -Wextra (the tool/warnings.sh script)
- Mac GCC -Wall -Wextra (the tool/warnings.sh script)
- OpenBSD GCC using options -Wall
- Windows MSVC Win32 /W3
- Windows MSVC Win64 /W3
- sh tool/warnings-clang.sh
- Source code change review. "fossil diff --from release --to trunk"
- No stray changes
- 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)
- 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 32-bit x86 Linux
- tclsh th3make test.rc -m32
- tclsh th3make test.rc CC=clang -m32
- tclsh th3make quick.rc -m32
- Tests for platform Linux ARM (BeagleBoard)
- tclsh th3make min.rc
- Tests for platform Android:
- th3make quick.rc
- Other test performed on any available platform:
- th3make test.rc -DSQLITE_THREADSAFE=0
- th3make test.rc -ftrapv
- OPTS=-DSQLITE_SMALL_STACK make sqlite3.c; th3make test.rc -DSQLITE_SMALL_STACK
- th3make test.rc CC=clang -fsanitize=undefined
- th3make quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
- th3make quick.rc -funsigned-char
- th3make quick.rc -fsigned-char
- th3make quick.rc -DSQLITE_TEST_REALLOC_STRESS
- ./configure; make fulltest
- Exported symbol checks: tool/symbols.sh
- No private symbols exported. (This is also checked by releasetest.tcl)
- No undesirable library dependencies
- Firefox recompiled using lastest SQLite.
- No SQLite compiler warnings
- Active use with no issues noted
- Run performance tests comparing the new SQLite release against the 3.8.6 release. Document and justify any performance decrease.
- The speedtest1 program
-
./speedtest1 --nosync --size 25 --trace 2>x.txt
time ./sqlite3 x.db <x.txt >/dev/null - Compute the size of a standard build (gcc -Os -c sqlite3.c) and and record the size change in the comments
- Versus the 3.8.6 release