[BioRuby] Installing & testing BioRuby on Windows

Naohisa Goto ngoto at gen-info.osaka-u.ac.jp
Mon Nov 21 08:09:13 UTC 2011


Hi Peter,

Sorry very late.

On my Windows 7 (32-bit, Business or Enterprise) machines, 
with Ruby 1.9.3-p0 downloaded from rubyinstaller.org, the 1), 2), and 3)
"Errno::EACCES: Permission denied" cannot be reproduced.
Instead, failure occur due to the change of command-line escaping in
Ruby 1.9, which would be the same as 9) and 10).

The "Errno::EACCESS" might occurr when using other shell than cmd.exe
e.g. Cygwin's Bash, execution prohibition by security software, or by
access controll on NTFS.

For 9) and 10): In Windows, command-line escaping is treated by each
software, and no "general" escaping way exists. This means the test is
bad for Windows. With Ruby 1.8.x, current BioRuby uses its internal
command-line string builder, but with Ruby 1.9.x, it uses Ruby's.

6), 7), and 8) may be due to text mode that is default file reading mode
when Ruby on windows and that  may break things when reading binary
files.

11) may be the problem of removing a file before closing, as you said.

Thanks,

Naohisa Goto
ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org

>   1) Error:
> test_call_command(Bio::FuncTestCommandCall):
> Errno::EACCES: Permission denied - C:/repositories/bioruby/test/data/command/ech
> oarg2.bat
>     C:/repositories/bioruby/lib/bio/command.rb:243:in `popen'
>     C:/repositories/bioruby/lib/bio/command.rb:243:in `call_command_popen'
>     C:/repositories/bioruby/lib/bio/command.rb:198:in `call_command'
>     C:/repositories/bioruby/test/functional/bio/test_command.rb:40:in `test_call
> _command'


> On Mon, Nov 7, 2011 at 11:26 AM, Peter Cock <p.j.a.cock at googlemail.com> wrote:
> > Hi all,
> >
> > Again I thought it would be useful to write down what I did to get
> > BioRuby running on my Windows XP 32 bit machine (which will
> > be a buildslave).
> > ...
> > After that there were 4 failures and 7 errors, which I will cover in the
> > next email.
> 
> Full details at end of email, here is my attempt to summarise and guess
> what is wrong:
> 
> Errors (1), (2) and (3) are permission failures in testing calling commands.
> My guess is this is something about the batch file being used,
> 
> C:\repositories\bioruby>test/data/command/echoarg2.bat Hello
> test: missing argument after `Hello'
> 
> C:\repositories\bioruby>test/data/command/echoarg2.bat Hello World
> test: Hello: binary operator expected
> 
> 
> Errors (4) and (5) may be transient network problems with efetch?
> 
> 
> Errors (6), (7) and (8) are all from Bio::TestAbif about
> NoMethodError: undefined method `match' for nil:NilClass
> 
> 
> Errors (9) and (10) look like a path name escape test being too
> strict and/or unaware of cross platform path separators.
> 
> 
> Error (11) looks like it could be an error removing a file - note you
> can't do this on Windows if there is an open handle to the file
> 
> 
> If any of these are specific to my Windows setup, with some guidance we
> can try to work out what is different.
> 
> Peter
> 
> ---------------------------------------------------------
> 
> C:\repositories\bioruby>ruby test/runner.rb
> C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will
>  be deprecated in the future, use String#encode instead.
> Run options:
> 
> # Running tests:
> 
> ...................E.EE................................................F......F.
> .......ignored attr: {}arrayType
> ................................................................................
> ..............EEE...............................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ...........................................................................F....
> ....F...........................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ....................................................................E...........
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> ................................................................................
> .................
> 
> Finished tests in 145.575330s, 25.4439 tests/s, 147.2434 assertions/s.
> 
>   1) Error:
> test_call_command(Bio::FuncTestCommandCall):
> Errno::EACCES: Permission denied - C:/repositories/bioruby/test/data/command/ech
> oarg2.bat
>     C:/repositories/bioruby/lib/bio/command.rb:243:in `popen'
>     C:/repositories/bioruby/lib/bio/command.rb:243:in `call_command_popen'
>     C:/repositories/bioruby/lib/bio/command.rb:198:in `call_command'
>     C:/repositories/bioruby/test/functional/bio/test_command.rb:40:in `test_call
> _command'
> 
>   2) Error:
> test_call_command_open3(Bio::FuncTestCommandCall):
> Errno::EACCES: Permission denied - C:/repositories/bioruby/test/data/command/ech
> oarg2.bat
>     C:/repositories/bioruby/lib/bio/command.rb:343:in `call_command_open3'
>     C:/repositories/bioruby/test/functional/bio/test_command.rb:71:in `test_call
> _command_open3'
>     test/runner.rb:27:in `<main>'
> 
>   3) Error:
> test_call_command_popen(Bio::FuncTestCommandCall):
> Errno::EACCES: Permission denied - C:/repositories/bioruby/test/data/command/ech
> oarg2.bat
>     C:/repositories/bioruby/lib/bio/command.rb:243:in `popen'
>     C:/repositories/bioruby/lib/bio/command.rb:243:in `call_command_popen'
>     C:/repositories/bioruby/test/functional/bio/test_command.rb:48:in `test_call
> _command_popen'
> 
>   4) Failure:
> test_efetch_multiple_xml(Bio::FuncTestPubmed) [C:/repositories/bioruby/test/func
> tional/bio/io/test_pubmed.rb:108]:
> Failed assertion, no message given.
> 
>   5) Failure:
> test_efetch_multiple(Bio::FuncTestPubmedClassMethod) [C:/repositories/bioruby/te
> st/functional/bio/io/test_pubmed.rb:91]:
> <3> expected but was
> <47>.
> 
>   6) Error:
> test_complement(Bio::TestAbif):
> NoMethodError: undefined method `match' for nil:NilClass
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:107:in `get_e
> ntry_data'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:83:in `block
> in get_directory_entries'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:77:in `times'
> 
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:77:in `get_di
> rectory_entries'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:42:in `initia
> lize'
>     C:/repositories/bioruby/test/unit/bio/db/sanger_chromatogram/test_abif.rb:42
> :in `new'
>     C:/repositories/bioruby/test/unit/bio/db/sanger_chromatogram/test_abif.rb:42
> :in `setup'
> 
>   7) Error:
> test_seq(Bio::TestAbif):
> NoMethodError: undefined method `match' for nil:NilClass
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:107:in `get_e
> ntry_data'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:83:in `block
> in get_directory_entries'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:77:in `times'
> 
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:77:in `get_di
> rectory_entries'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:42:in `initia
> lize'
>     C:/repositories/bioruby/test/unit/bio/db/sanger_chromatogram/test_abif.rb:42
> :in `new'
>     C:/repositories/bioruby/test/unit/bio/db/sanger_chromatogram/test_abif.rb:42
> :in `setup'
> 
>   8) Error:
> test_to_biosequence(Bio::TestAbif):
> NoMethodError: undefined method `match' for nil:NilClass
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:107:in `get_e
> ntry_data'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:83:in `block
> in get_directory_entries'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:77:in `times'
> 
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:77:in `get_di
> rectory_entries'
>     C:/repositories/bioruby/lib/bio/db/sanger_chromatogram/abif.rb:42:in `initia
> lize'
>     C:/repositories/bioruby/test/unit/bio/db/sanger_chromatogram/test_abif.rb:42
> :in `new'
>     C:/repositories/bioruby/test/unit/bio/db/sanger_chromatogram/test_abif.rb:42
> :in `setup'
> 
>   9) Failure:
> test_escape_shell(Bio::TestCommand) [C:/repositories/bioruby/test/unit/bio/test_
> command.rb:59]:
> <"bio\\'\\\"r\\ u\\\"b\\\\y123 at 456:789"> expected but was
> <"\"bio'\"\"r u\"\"b\\y123 at 456:789\"">.
> 
>  10) Failure:
> test_make_command_line(Bio::TestCommand) [C:/repositories/bioruby/test/unit/bio/
> test_command.rb:76]:
> <"ruby test.rb atgcatgc bio\\'\\\"r\\ u\\\"b\\\\y123 at 456:789"> expected but was
> <"ruby test.rb atgcatgc \"bio'\"\"r u\"\"b\\y123 at 456:789\"">.
> 
>  11) Error:
> test_simple_xml(Bio::TestPhyloXMLWriter):
> Errno::EACCES: Permission denied - C:/Temp/PhyloXML20111107-1116-m0djng/example_
> tree1.xml
>     C:/repositories/bioruby/lib/bio/command.rb:479:in `remove_entry_secure'
>     C:/repositories/bioruby/lib/bio/command.rb:569:in `block in callback'
>     C:/repositories/bioruby/lib/bio/command.rb:607:in `call'
>     C:/repositories/bioruby/lib/bio/command.rb:607:in `close!'
>     C:/repositories/bioruby/test/unit/bio/db/test_phyloxml_writer.rb:77:in `test
> _passed'
>     C:/repositories/bioruby/test/unit/bio/db/test_phyloxml_writer.rb:105:in `tea
> rdown'
>     test/runner.rb:27:in `<main>'
> 
> 3704 tests, 21435 assertions, 4 failures, 7 errors, 0 skips

Naohisa Goto
ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org




More information about the BioRuby mailing list