It tests for data truncation (when a two-letter string is passed for a tinyint(1) field) but there's been some behavior change in the way expressions are processed that makes the test fail: # Failed test at t/db_dependent/Koha/Items.t line 1754. # got: 'Truncated incorrect DECIMAL value: 'AB'' # expected: 'Truncated incorrect DOUBLE value: 'AB'' The fact the expression was tested as a DECIMAL or a DOUBLE first is not really relevant here.
Created attachment 139849 [details] [review] Bug 31473: Fix fragile test about bad OpacHiddenItems conf There's been a behavior change in recent MariaDB that made some cases deal with truncated data in DOUBLE context instead of DECIMAL. Probably this: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-27380 This made the affected test fail consistently on those versions. This trick for checking OpacHiddenItems is correct (as introduced on bug 28125 doesn't really make use of the warning, just prints it in about.pl) so one option was to just check for a warning. I decided to keep the test, but add the optional DECIMAL|DOUBLE check on the qr. This way other eventual changes will make it fail and serve as a warning in case something more relevant changes. To test: 1. Apply this patch 2. Run: $ kshell k$ t/db_dependent/Koha/Items.t => SUCCESS: Tests pass! 3. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Pushed to master for 22.11. Nice work everyone, thanks!
Thanks a lot :D Backport needed down to 21.05.x
Disregarding the backport cascade workflow. Not a problem with this patch. Now test can pass again! Backported: Pushed to 21.05.x branch for 21.05.19
Backported to 22.05.x for 22.05.06
Not backported to oldoldstable (21.05.x). Feel free to ask if it's needed. Nothing to document it seems, marking resolved.
Thanks! Pushed to 21.11 for 21.11.12