[Bioperl-l] Test overhaul complete

Chris Fields cjfields at uiuc.edu
Wed Jun 27 07:55:47 EDT 2007

On Jun 27, 2007, at 5:23 AM, Sendu Bala wrote:

> Sendu Bala wrote:
>> Sendu Bala wrote:
>>> In considering updating all the test scripts to [... use]
>>> t/lib/BioperlTest.pm
>> I'm now in the process of converting all test scripts.
> And I've now completed that job (for bioperl-live at least), except  
> for
> t/EUtilities.t since I know Chris is working on it.

The network tests will be much shorter; the bulk will be transferred  
to a new suite for the backend Bio::Tools:EUtilities parser (which  
will test static files in t/data/eutils, so no dynamic changes).

> In addition to converting to Test::More where necessary, I've also  
> made
> all psuedo-TODO blocks real ones. Previously I had advised to use SKIP
> blocks instead since TODO blocks need a Test::Harness upgrade.  
> However I
> think in the next release we ought to make such upgrading compulsory
> (which should be automatic when combined with compulsory usage of
> Module::Build and Test::More in turn: users simply have to update  
> CPAN).

Sounds good to me, but there may be some grumblings out there.

Having specific TODOs are nice b/c we can test them w/o fails.  Handy.

> The conversion to BioperlTest directly led to the discovery and fixing
> of 6 minor bugs, so was certainly not without merit.
> No user or developer needs to have BIOPERLDEBUG permanently set to  
> true
> anymore. To run all tests you just have to answer yes to the BioDBGFF
> and networking questions of 'perl Build.PL'. With './Build test' you
> then get clean, easy-to-read output where it is obvious to see that we
> currently have these issues:
> t/Sopma.t and t/BioGraphics.t still have fails that I mentioned in
> another thread.
> t/protgraph.t, t/blast_pull.t, t/SearchIO.t, t/RestrictionIO.t,
> t/RNA_SearchIO.t, t/PopGen.t, t/Genewise.t, t/Assembly.t and
> t/Annotation.t all have TODO tests. If you know about those  
> modules, now
> would be a great time to implement those TODOs!

The RNA_SearchIO.t is from ERPIN output; there's no easy way to  
generate it beyond having the user supply the info (or having the  
program author change the output).

Will have to look at the others to see what's involved; maybe  
something for the priority list?

> Bio::SeqIO::entrezgene is still generating 'Pseudo-hashes are
> deprecated' warnings.

I ran into this with XML::Simple data structures recently; there was  
an easy way around it via XML::Simple using forcearray().  It has to  
do with attempting to assign data to/from a hash in a specific way  
involving array references (though I can't remember exactly how; I  
slept since then).

> To debug a particular test you could say:
> BIOPERLDEBUG=1 ./Build test --verbose --test_files t/Sopma.t
> I've updated the HOWTO for writing test scripts:
> http://www.bioperl.org/wiki/HOWTO:Writing_BioPerl_Tests

Good work!


More information about the Bioperl-l mailing list