In the 3.2.1 release there are a number of test cases that fail because they 'use' modules that immediately attempt to access the database. As most machines won't have MySQL set up to contain the user/password and database required, these fail. My suggestions for fixing this are: * Move these tests into a 'db_dependent' directory so that they aren't run by default. Perhaps add a 'make test_all' rule that includes them. * Have the packages move the iffy ones out of the way (although they will still fail for anyone running 'make test' without the database set up.) * Introduce an environment variable that is set during testing that tells C4::Context (or whatever it is making the DB connection) that failures are OK. This may reduce test coverage however, which we don't want. The tests I've noticed with this problem are: 00-load.t External_BakerTaylor.t Reports_Guided.t Service.t Tags.t UploadedFile.t VirtualShelves_Page.t
I plan to make a patch that solves this the first way, until a better idea comes along.
Created attachment 2821 [details] [review] Proposed patch
This bug is mentioned in: Bug 5477 - Fix test cases that require database access http://lists.koha-community.org/pipermail/koha-patches/2010-December/013209.html
More tests which fail in this manner: t/Auth.t t/Auth_with_cas.t t/BackgroundJob.t t/Record.t t/Serials.t I'm fixing-up and signing off on the Robin's original patch. I'm also changing this to 3.4 and will backport the fix when pushed there. Note: There is already a Serials test in the db_dependent subdir, so I'm renaming Serials.t to Serials_2.t and moving it there as well. The two tests should probably be combined at some point. Also changing severity to major as this is causing a lot of noise from people worried about failed tests.
Pushed, works locally and hudson confirms, marking resolved
In order to build the 3.2.3 packages, I cherry picked the commit from master across on top of the v3.02.03 tag, and it worked fine.