SQLite Forum

Test failures in version 3.37.0 on i586
Login

Test failures in version 3.37.0 on i586

(1) By Reinhard Max (reimax) on 2021-11-30 13:29:51 [link] [source]

When compiling SQLite 3.37.0 on openSUSE Tumbleweed for i586 I get failures in several (all?) of the atof1 tests.

The long list of failures starts like this:

[  334s] IN:    bef36344ef3f3f6a -1.84896188811229292129657830745515e-05
[  334s] QUOTE:                  -1.84896188811229258419e-05
[  334s] OUT:   bef36344ef3f3f69 -1.84896188811229258248339940573501e-05
[  334s] ! atof1-1.2.2 expected: [1]
[  334s] ! atof1-1.2.2 got:      [0]
[  334s] 
[  334s] IN:    370b1e73243300de 1.52006940670369362760254840771605e-43
[  334s] QUOTE:                  1.52006940670369417034e-43
[  334s] OUT:   370b1e73243300e1 1.52006940670369422501201508238565e-43
[  334s] ! atof1-1.11.2 expected: [1]
[  334s] ! atof1-1.11.2 got:      [0]

A full build log is available here.

This does not happen with version 3.36.0 under otherwise identical conditions and it does not happen with 3.37.0 in Tumbleweed on any other architecture, but some other architectures have different and probably unrelated failures that I will report in a separate thread.

(2) By Arfrever Frehtes Taifersar Arahesis (Arfrever) on 2021-12-14 18:06:50 in reply to 1 [source]

File test/atof1.test was not changed in this year (2021), so unfortunately these problems look like problems inside SQLite library and not just wrong expectations in test suite...

(3) By Reinhard Max (reimax) on 2021-12-21 17:51:28 in reply to 2 [link] [source]

I bisected it down to commit 54604869861cc586 and found that the failure only happens when the newly added rtreedoc3.test gets run before atof1.test in the same test run.

So, when running the tests manually, the first one of these succeeds and the second one fails:

./testfixture test/permutations.test veryquick atof1.test
./testfixture test/permutations.test veryquick rtreedoc3.test atof1.test
I tried to compare the state of the Tcl interpreter (info vars, info commands, content of all SQLITE* variables, tcl_precision) when sourcing atof1.test in both situations, but couldn't find any difference to far.