SQLite 3.8.6.1 Status Board

History    Checklist    Baseline

This is an abbreviated set of tests since:

  • The change from 3.8.6 are very small (see [1]), and
  • Version 3.8.7 is already out and so the use of version 3.8.6.1 is expected to be minimal, and
  • The only anticipated uses of 3.8.6.1 are Linux systems on x86, x64, and ARM.

 
1.   Compiler warning checks. drh ok  *
 
a.   Linux GCC -Wall -Wextra (the tool/warnings.sh script) drh ok  *
b.   Mac GCC -Wall -Wextra (the tool/warnings.sh script) drh ok  *
c.   OpenBSD GCC using options -Wall drh ok  *
d.   Windows MSVC Win32 /W3 drh ok  *
e.   Windows MSVC Win64 /W3 drh ok  *
f.   sh tool/warnings-clang.sh
The usual false-positive on the nVmStep increment.
drh ok  *
 
2.   Source code change review. "fossil diff --from release --to trunk" drh ok  *
 
a.   No stray changes drh ok  *
b.   All significant changes are mentioned in the "changes" log of the documentation drh ok  *
c.   New code complies with style guidelines drh ok  *
d.   New code complies with design rules drh ok  *
e.   Comments have been updated to reflect code changes drh ok  *
f.   Variables and functions have been renamed to reflect changes in their use drh ok  *
g.   Check all calls to sqlite3OsRead() and sqlite3OsWrite() to ensure that offset computations are 64-bit clean. drh ok  *
h.   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]*\(/ drh ok  *
i.   Verify that source code contains no tabs and that surplus whitespace has been removed. drh ok  *
j.   Verify that the list of APIs exposed via the extension header is up-to-date (sqlite3ext.h) drh ok  *
 
3.   Tests for platform Linux x86_64: drh ok  *
 
a.   tclsh th3make cov.rc (verify 100% branch test coverage)
0 errors out of 1385850 tests. 100% coverage.
drh ok  *
b.   tclsh th3make cov.rc -DHAVE_MALLOC_H -DHAVE_MALLOC_USABLE_SIZE (verify 100% branch test coverage)
0 errors out of 1383521 tests. One missed branch in hash.c.
drh ok  *
c.   tclsh th3make cov.rc -DSQLITE_ENABLE_STAT4 (verify 100% branch test coverage)
0 errors out of 1459458 tests. 100% coverage.
drh ok  *
d.   tclsh releasetest.tcl
corruptI-3.2 failing on device_one. This is a test issue that has already been corrected in 3.8.7 - an incompatibility between the test and the SQLITE_ENABLE_OVERSIZE_CELL_CHECK option. All else is OK.
drh ok  *
e.   tclsh fulltest.tcl fast.rc test.rc drh ok  *
f.   tclsh th3make memdebug.rc
0 errors out of 7558599 tests in 33 configurations
drh ok  *
g.   tclsh th3make test-ex.rc
16 errors out of 18081026 tests in 17 configurations. *.hlr10000 gives [3.8.6.1] instead of the expected [3.8.6]. This is a test problem, not a code problem.
drh ok  *
h.   tclsh th3make test.rc CC=clang
0 errors out of 7558418 tests
drh ok  *
i.   tclsh th3make fast.rc CC=clang
0 errors out of 7302372 tests
drh ok  *
j.   ./mptester x.db mptest/crash01.test
0 errors in 94 tests
drh ok  *
k.   ./mptester x.db mptest/multiwrite01.test
0 errors in 76 tests
drh ok  *
 
4.   Tests for 32-bit x86 Linux drh ok  *
 
a.   tclsh th3make test.rc -m32
0 errors out of 7563103 tests
drh ok  *
b.   tclsh th3make test.rc CC=clang -m32
0 errors out of 7563132 tests
drh ok  *
c.   tclsh th3make quick.rc -m32
0 errors out of 1490938 tests
drh ok  *
 
5.   Tests for platform Linux ARM (BeagleBoard) drh ok  *
 
a.   tclsh th3make min.rc
0 errors out of 1389596 tests
drh ok  *
 
6.   Tests for platform Android: dan ok  *
 
a.   th3make quick.rc
./th3: 0 errors out of 1490936 tests in 19 configurations, ./th3: SQLite 3.8.6.1 2014-10-22 03:00:22 cad7f8d697540b31b98fcfbc5cd2173d5007db33
dan ok+  *
 
7.   Other test performed on any available platform: drh ok  *
 
a.   th3make test.rc -DSQLITE_THREADSAFE=0
0 errors out of 7536712 tests
drh ok  *
b.   th3make test.rc -ftrapv
0 errors out of 7558376 tests
drh ok  *
c.   OPTS=-DSQLITE_SMALL_STACK make sqlite3.c; th3make test.rc -DSQLITE_SMALL_STACK
0 errors out of 7571409 tests
drh ok  *
d.   th3make test.rc CC=clang -fsanitize=undefined
0 errors out of 7558415 tests
drh ok  *
e.   th3make quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
0 errors out of 1484228 tests
drh ok  *
f.   th3make quick.rc -funsigned-char
0 errors out of 1484336 tests
drh ok  *
g.   th3make quick.rc -fsigned-char
0 errors out of 1484336 tests
drh ok  *
h.   th3make quick.rc -DSQLITE_TEST_REALLOC_STRESS
0 errors out of 1827658 tests
drh ok  *
i.   ./configure; make fulltest
Problems in the utf16 permutation for analyze9 and the prepare permutation for analyze3 - common with the 3.8.6 release.
drh ok  *
 
8.   Exported symbol checks: tool/symbols.sh drh ok  *
 
a.   No private symbols exported. (This is also checked by releasetest.tcl) drh ok  *
b.   No undesirable library dependencies drh ok  *
 
9.   Firefox recompiled using lastest SQLite. drh ok  *
 
a.   No SQLite compiler warnings drh ok  *
b.   Active use with no issues noted drh ok  *
 
10.   Run performance tests comparing the new SQLite release against the 3.8.6 release. Document and justify any performance decrease. drh ok  *
 
a.   The speedtest1 program
No performance changes to 6 significant places.
drh ok  *
b.   ./speedtest1 --nosync --size 25 --trace 2>x.txt
time ./sqlite3 x.db <x.txt >/dev/null
No prerformance changes to two significant places.
drh ok  *
 
11.   Compute the size of a standard build (gcc -Os -c sqlite3.c) and and record the size change in the comments drh ok  *
 
a.   Versus the 3.8.6 release
From 445264 to 445301 bytes.
drh ok  *