On Tue, 2006-10-31 at 15:38 +1100, Andrew Perry wrote:
> (responding to essentially the entire thread)
>  
>         I would strongly prefer a separate directory tree of files to
>         prevent 
>         clutter.  I've seen many projects take this approach where the
>         tests
>         are dislocated from the main tree and very much prefer the
>         isolation.
>         This is what I've done with the current function/system
>         tests.  If the
>         separation ever causes the tests to get out of sync with the
>         main
>         tree, then these will instantly cause a failure of the test
>         suite and
>         hence synchronisation between different directory trees won't
>         be an
>         issue.
>         
> 
> I've been following the Biopython project for a few years, and in my
> mind this project is a reasonable example of how unit tests in python
> can be used.
> 
> The Biopython tests are organised like:
> 
> Tests/test_Fred.py
> 
> with all tests in one directory, separate from the modules that are
> being tested, and using the naming scheme that Gary suggests.

The problem here is the namespace, in that several modules within relax
have the same name (eg. the module model_free.py is found in prompt/ and
specific_fns/). For this reason any dedicated unit-test directory would
have to mirror the sub-directory structure of the main code-base. The
simplicity and lack of clutter which seems to be the principle
attraction of the isolated test directory is thus lost.

> 
> They also hold any data required for input/comparison for the tests in
> subdirectories under the Tests directory, named module-wise like: 
> 
> Tests/Fred/fred_input_data_001.dat
> Tests/Fred/fred_input_data_002.dat

This seems a better option than a single dedicated data directory within
the unit-test directory - the single data directory would also have to
mirror the code sub-directory structure.

Chris

> 
> Biopython doesn't seem to have much in the way of the higher level
> system/regression-style tests, due to the nature of that project being
> a mostly a collection of small modules, as far as I can tell they
> don't require testing of higher level 'protocols' which such as relax
> uses.
> 
> As far as running the test suite (ie parsing directories for
> test_Fred.py files and running them) .. here's a link to the Biopython
> code that does just that (clean-room warning: link is to BSD-ish
> licensed code :) ): 
> 
> http://cvs.biopython.org/cgi-bin/viewcvs/viewcvs.cgi/biopython/Tests/run_tests.py?rev=1.7&cvsroot=biopython&content-type=ext/vnd.viewcvs-markup
> 
> It even uses the unittestgui with the all-important 'green line', that
> goes red if any test fails :)
> 
> So, if I understand correctly, the plan is to have the test_suite with
> something like:
> 
> test_suite/unit_tests    (for the real module-wise unit tests, using
> Pythons unittest module) 
> 
> and 
> 
> test_suite/system_tests   (which is closer to what is in the current
> test_suite, and could be at the same high level as  the users scripts
> in sample_scripts. Eventually the existing tests can be modified to
> use the unittest framework for verifying 'correctness' of operation). 
> 
> Cheers,
> 
> Andrew
> _______________________________________________
> relax (http://nmr-relax.com)
> 
> This is the relax-devel mailing list
> [email protected]
> 
> To unsubscribe from this list, get a password
> reminder, or change your subscription options,
> visit the list information page at
> https://mail.gna.org/listinfo/relax-devel


_______________________________________________
relax (http://nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to