UCLOrengoGroup / cath-tools

Protein structure comparison tools such as SSAP and SNAP
http://cath-tools.readthedocs.io
GNU General Public License v3.0
57 stars 14 forks source link

test failure with 'prove -l -v t': instructions should be changed #62

Closed anadon closed 6 years ago

anadon commented 6 years ago

Hello,

Referring to https://cath-tools.readthedocs.io/en/latest/build/

testing specifies the root directory, but should be perl/. Required modules should also be mentioned (Moose, File::Slurp, Path::Class, Test::Files, MooseX::Types::Combine, MooseX::Types::Path::Class were missing on my system, for instance).

The test suite fails with the following:

 [anadon@doge perl]$ prove -l -v t
t/010.cath-tools-build-test.t .. 
not ok 1 - Can run the build-test executable build-test

#   Failed test 'Can run the build-test executable build-test'
#   at t/010.cath-tools-build-test.t line 15.
not ok 2 - Test that the build-tests all pass

#   Failed test 'Test that the build-tests all pass'
#   at t/010.cath-tools-build-test.t line 18.
Warning: something's wrong at t/010.cath-tools-build-test.t line 20.
1..2
# Looks like you failed 2 tests of 2.
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests 
t/100.secmake.t ................ 
ok 1
1..1
ok
t/200.ssap.t ................... 
ok 1
1..1
ok

Test Summary Report
-------------------
t/010.cath-tools-build-test.t (Wstat: 512 Tests: 2 Failed: 2)
  Failed tests:  1-2
  Non-zero exit status: 2
Files=3, Tests=4,  1 wallclock secs ( 0.02 usr  0.01 sys +  0.42 cusr  0.04 csys =  0.49 CPU)
Result: FAIL
anadon commented 6 years ago

If this is Boost version related, NCBI is in the same process of updating Blast+ for Boost v1.65+. That may or may not be of interest.

anadon commented 6 years ago

There are a few more testing warnings of interest

t/binmode.t ........... sysread() is deprecated on :utf8 handles. This will be a fatal error in Perl 5.30 at /home/anadon/.local/share/.cpan/build/File-Slurp-9999.19-0/blib/lib/File/Slurp.pm line 225.
sysread() is deprecated on :utf8 handles. This will be a fatal error in Perl 5.30 at /home/anadon/.local/share/.cpan/build/File-Slurp-9999.19-0/blib/lib/File/Slurp.pm line 225.
t/binmode.t ........... 1/2 syswrite() is deprecated on :utf8 handles. This will be a fatal error in Perl 5.30 at /home/anadon/.local/share/.cpan/build/File-Slurp-9999.19-0/blib/lib/File/Slurp.pm line 506.
anadon commented 6 years ago

When the additional modules Test::Output MooseX::MarkAsMethods Moo Test::LeakTrace Algorithm::C3 SUPER Module::Refresh DateTime::Format::MySQL Declare::Constraints::Simple Test::Memory::Cycle Data::Visitor List::SomeUtils Specio::Library::Builtins Types::Standard Test::Pod::Coverage MooseX::Role::WithOverloading Mouse Mouse::PurePerl Pod::Coverage Moo::Role MooseX::Getopt are installed, testing fails as follows:

anadon@goodadvicemallard:~/documents/code/cath-tools/perl$ prove -l -v t
t/010.cath-tools-build-test.t .. 
not ok 1 - Can run the build-test executable build-test
#   Failed test 'Can run the build-test executable build-test'
#   at t/010.cath-tools-build-test.t line 15.
not ok 2 - Test that the build-tests all pass
#   Failed test 'Test that the build-tests all pass'
#   at t/010.cath-tools-build-test.t line 18.
Warning: something's wrong at t/010.cath-tools-build-test.t line 20.
1..2
# Looks like you failed 2 tests of 2.
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests 
t/100.secmake.t ................ 
ok 1
1..1
ok
t/200.ssap.t ................... 
ok 1
1..1
ok

Test Summary Report
-------------------
t/010.cath-tools-build-test.t (Wstat: 512 Tests: 2 Failed: 2)
  Failed tests:  1-2
  Non-zero exit status: 2
Files=3, Tests=4,  1 wallclock secs ( 0.02 usr  0.00 sys +  0.57 cusr  0.07 csys =  0.66 CPU)
Result: FAIL

This is on Ubuntu 17.10. Before the aforementioned modules were installed, all run tests passed. The installed modules were for tests which were skipped due to them missing.

sillitoe commented 6 years ago

Thanks. These test were originally here for internal testing before release, but they are documented so the improvements are useful.

Could you try staying in the root directory and running:

CATH_TOOLS_BIN_DIR=/path/to/your/cath-binaries/ prove -l -v perl/t

(ie you're giving prove the path perl/t )

If you can confirm that works okay then I'll change the docs.

anadon commented 6 years ago

It appears to work. But it did not run the entire suite. Should there be documentation to run the full thing? Below is the test result for one of my machines. Once the other is done building and I fix the packaging check function, I'll be able to say with more certainty that it works.

anadon@goodadvicemallard:~/documents/code/cath-tools$ CATH_TOOLS_BIN_DIR=. prove -l -v perl/t
perl/t/010.cath-tools-build-test.t .. Prepending . to PATH for testing...

ok 1 - Can run the build-test executable build-test
ok 2 - Test that the build-tests all pass
Success at perl/t/010.cath-tools-build-test.t line 23.
1..2
ok
perl/t/100.secmake.t ................ 
ok 1
1..1
ok
perl/t/200.ssap.t ................... 
ok 1
1..1
ok
All tests successful.
Files=3, Tests=4, 13 wallclock secs ( 0.02 usr  0.00 sys + 12.70 cusr  0.11 csys = 12.83 CPU)
Result: PASS
anadon commented 6 years ago

Building works, and checks similarly pass on my other machine with the command you suggested.

Something else I'm running into though is that there is no 'install' target. But that is for a new ticket.

tonyelewis commented 6 years ago

Thanks both.