[Bioperl-l] BioPerl Test requirements

Chris Fields cjfields at illinois.edu
Fri Aug 5 20:49:54 UTC 2011


Okay, I tested this out on a branch and then merged into 'master'.  Test::Most is a 'build_requires'; Bio::Root::Test is now just a wrapper for Test::Most methods, with a few extra wrinkles to deal with Test::Warn and a few additional methods.  I also removed extraneous modules in t/lib along with Bio::Root::Test::Warn (that code was merged into Bio::Root::Test to keep all evilness in one contained location).

The nice thing is the transition didn't require changing any tests.  However, this will require some testing across the board to make sure everything's working.  Maybe worth getting the code cleaned up for another quick point release prior to the GSoC mayhem to ensue shortly... :) 

chris

On Aug 1, 2011, at 3:34 PM, Chris Fields wrote:

> Okay, will do.  I'll initially test on a branch and then pull in.  Thanks for the feedback Hilmar and Dave!
> 
> chris
> 
> On Aug 1, 2011, at 3:30 PM, Hilmar Lapp wrote:
> 
>> I think the small burden this change incurs for each developer is well outweighed by the reduced maintenance and installation burden. Go for it.
>> 
>> 	-hilmar
>> 
>> On Aug 1, 2011, at 12:07 AM, Chris Fields wrote:
>> 
>>> All,
>>> 
>>> We are currently using a BioPerl-specific module for running tests called Bio::Root::Test.  It is essentially a wrapper module, re-exporting all the methods for Test::More, Test::Exception, and Test::Warn.  One problem: it currently expects a copy of Test::Warn and Test::Exception in each repository as a fallback.  Another problem: these included modules appear to be triggering dependencies with debian packaging.
>>> 
>>> As an example of one hidden dependency, the included Test::Warn requires Array::Compare, which converted to Moose a few years ago, so you automatically have to install the entire Moose dependency tree, even though Bioperl doesn't require it (not a slam on Moose, you really SHOULD be using Moose these days.  No, really :).
>>> 
>>> Anway, more recent versions of Test::Warn don't have this requirement, but as we package an old version of this module we get stuck with the dependencies until we (manually) update this for each repository.  Ick.
>>> 
>>> I think the best solution is to remove the bioperl-local modules in t/lib and list Test::Most instead as a 'build_requires' in Build.PL, e.g. the module is only necessary for the build phase so is optionally installed.  Test::Most essentially does exactly the same thing as Bio::Root::Test and more; it also includes Test::Deep and Test::Diff (Bio::Root::Test has a few additional methods of use as well).
>>> 
>>> As this will require developers to use Test::Most instead, though, I though it would be worth asking on the list to see if there are any objections.  Any thoughts?
>>> 
>>> 
>>> chris
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>> 
>> -- 
>> ===========================================================
>> : Hilmar Lapp -:- Durham, NC -:- hlapp at drycafe dot net :
>> ===========================================================
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
> 
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l





More information about the Bioperl-l mailing list