SQLite Forum

Limiting the "precision" of floating-point to text conversions in the printf() leads to testsuite failure in version 3.26.0
Login

Limiting the "precision" of floating-point to text conversions in the printf() leads to testsuite failure in version 3.26.0

(1) By Ondrej Dubaj (odubaj) on 2020-06-11 10:59:32 [link] [source]

After applying patch introduced here 

https://www.sqlite.org/src/info/d08d3405878d394e

I am facing testsuite failures in test printf-2.1.2.10 on version 3.26.0. 

Time: pragma5.test 4 ms
! printf-2.1.2.10 expected: [abc: ]
! printf-2.1.2.10 got:      []
Time: printf.test 251 ms

Can you please provide an explanation why this failure is occuring ?

Thank you.

(2.1) By Larry Brasfield (LarryBrasfield) on 2020-06-11 17:43:06 edited from 2.0 in reply to 1 [source]

I see a several strange things here.

  1. The "patch" adds a test where, before, no test existed. And your "got:" result is empty whereas the "expected:" result is not. It makes me wonder, did you also apply the patch to the test suite?

  2. Nothing that should be output by the added test resembles the "expected:" result. Should we expect a change added this May, to a SQLite version much later that the 3.26.0 you are using, to pass the older test suite with one addition? (Maybe, as a general rule, if the change is independent of everything else, such a thing might be expected. But there are many ways for that to go sideways.)

  3. There is too little information in your post to determine if you applied the change correctly. Given the above strangeness, there is reason to think that either you did not or the change to SQLite 3.31.1 (I suppose) does not apply, all by itself, to that much older version.

  4. The associated ticket for the patch referenced, in its title, mentions the same sort of stack overflow problem as is mentioned in the timeline for patches before and after the one you applied. This tends to support the above "does not apply, all by itself" conjecture.

I doubt that this "failure" can be explained without seeing what "applying the patch" actually means here.

(4) By Ondrej Dubaj (odubaj) on 2020-06-19 08:31:00 in reply to 2.1 [link] [source]

We have multiple new patches applied to sqlite 3.26 and we faced no problems. The patch is applied exactly same way as in the mentioned commit. The test file existed previously and was no problem. 

If I understand correctly, there are some additinal changes added this May, which are not in the given commit and neither in version 3.26 ?

(3) By Richard Hipp (drh) on 2020-06-11 17:42:13 in reply to 1 [link] [source]

Why are you patching, rather than just using the latest version of the code?

(5) By Ondrej Dubaj (odubaj) on 2020-06-19 08:33:04 in reply to 3 [link] [source]

This patch is aimed to be applied to RHEL-8. We do not update package releases in RHEL during major release development cycle, as it can cause instability problems.