Hi Tom Thanks for pointing me to Test::mysqld. You're right - it's exactly what I need! I'll give it a try here and then move it into AutoDB.
You also correctly surmised that both Babel and AutoDB assume it's okay for their tests to scribble on a db called 'test'. Test::mysqld is a much better solution. Thanks again, Nat On Jul 27, 2013, at 9:50 AM, Tom Molesworth wrote: > Hi Nat, > > On 27/07/13 16:40, Nathan (Nat) Goodman wrote: >> Hi Chris >> >> I'm guessing you made some change because I saw some test reports from you >> reporting FAIL and UNKNOWN. I've decided to take a different tack. >> >> To reiterate what I'm trying to do: The module in question, Data::Babel, >> relies heavily on MySQL, and the tests require the ability to create and >> drop MySQL databases, tables, etc. The distribution includes a check for >> these capabilities. I'm trying to find a clean way to communicate to the >> installation driver that the required capabilities are not available. This >> is very common. If I simply generate a FAIL under these conditions, the >> module will accumulate a large pile of FAIL reports which I deem to be >> undesirable. > > It seems like this would be an ideal candidate for test_requires => { > 'Test::mysqld' => 0 }, since if that installs successfully then the mysql > basics have already been tested for you. It would also avoid polluting any > existing mysql databases (I'm not entirely clear on how > Data::Babel/Class::AutoDB select and use a database but a quick glance at > tests seems to indicate it's a db called 'test' on the localhost mysql > server?). > > cheers, > > Tom >