Bug 40978 - t/db_dependent/Budgets.t fails on Debian 13 due to warnings
Summary: t/db_dependent/Budgets.t fails on Debian 13 due to warnings
Status: Needs Signoff
Alias: None
Product: Koha
Classification: Unclassified
Component: Architecture, internals, and plumbing (show other bugs)
Version: Main
Hardware: All All
: P5 - low minor
Assignee: Jonathan Druart
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-09 02:19 UTC by Victor Grousset/tuxayo
Modified: 2025-10-10 09:16 UTC (History)
2 users (show)

See Also:
GIT URL:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments
Bug 40978: Remove warnings from Budgets.t (1.12 KB, patch)
2025-10-10 09:16 UTC, Jonathan Druart
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Grousset/tuxayo 2025-10-09 02:19:45 UTC
Test plan
1. KOHA_IMAGE=main-bookworm ktd up
2. prove t/db_dependent/Budgets.t
3. pass
4. KOHA_IMAGE=main-trixie ktd up
5. prove t/db_dependent/Budgets.t
#   Failed test 'no warnings'
#   at /usr/share/perl/5.40/Test/Builder.pm line 193.
# There were 30 warning(s)
#     Previous test 65 'total ordered price is 20'
#     Use of uninitialized value $row[0] in hash element at /usr/lib/x86_64-linux-gnu/perl5/5.40/DBI.pm line 2122.
#  at /usr/lib/x86_64-linux-gnu/perl5/5.40/DBI.pm line 2122.
#       DBD::_::st::fetchall_hashref(DBI::st=HASH(0x557454dac660), "budget_id") called at /usr/lib/x86_64-linux-gnu/perl5/5.40/DBD/mysql.pm line 866
#       DBD::mysql::st::__ANON__(DBI::st=HASH(0x557454dac660), "budget_id") called at /usr/lib/x86_64-linux-gnu/perl5/5.40/DBI.pm line 1684
#       DBD::_::db::selectall_hashref(DBI::db=HASH(0x557454733ab0), "\x{a}            SELECT shipmentcost_budgetid as budget_id,\x{a}     "..., "budget_id") called at /kohadevbox/koha/C4/Budgets.pm line 750
#       C4::Budgets::GetBudgetHierarchy(36) called at /kohadevbox/koha/C4/Budgets.pm line 1442
#       C4::Budgets::CloneBudgetPeriod(HASH(0x557454dc9ca0)) called at t/db_dependent/Budgets.t line 598
# 

etc

Maybe you need to apply bug 40680 if there are other warnings interfering. Or just ignore them and focus on the "Use of uninitialized value" ones.

Severity = major because it makes the CI fail and hides issues even if not as much as Bug 40680. Maybe critical, I don't know.
Comment 1 Jonathan Druart 2025-10-10 09:16:12 UTC
Created attachment 187719 [details] [review]
Bug 40978: Remove warnings from Budgets.t

If no shipment_budget is set then undef is set as key of the hashref
which generates a warning:
  Use of uninitialized value $row[0] in hash element at /usr/lib/x86_64-linux-gnu/perl5/5.40/DBI.pm line 2122.

Later we only access the hashref by budget_id, so this change seems
safe.