Ticket #4 (new defect)
Opened 13 months ago
15 tests failures and 1 error after running test.rb
| Reported by: | deveiant | Owned by: | deveiant |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Version: | 0.02 | |
| Keywords: | test failures ubuntu | Cc: |
Description
Ubuntu 7.04
ruby 1.8.5 (2006-08-25) [i486-linux]
WordNet?-3.0
After much heartache I was able to successfully install Ruby WordNet? but some of the tests fail at the end when running 'ruby test.rb'. I am able to load up the library from Linguistics as well as separately using require 'wordnet', but all commands bring back nil values. The pre-packaged test.rb does not let me run - it returns:
./tests/wntestcase.rb:57:in `require': no such file to load -- test/unit/mock (LoadError)
from ./tests/wntestcase.rb:57
from test.rb:15:in `require'
from test.rb:15
from ./utils.rb:665:in `verboseOff'
from test.rb:14
I tried installing the Test::Unit::Mock library but didn't get very far. I checked out the latest source code from SVN using:
svn checkout svn://deveiate.org/Ruby-WordNet/trunk
I was able to run the tests without error using this revision. After successfully converting the WordNet? data files - I ran ruby test.rb and received the following errors:
0 patterns given on the command line
Required 3 files.
Loaded suite WordNet
Started
..FF...FF.E.F...FFFFFFFFF
Finished in 0.787878 seconds.
1) Failure:
test_familiarity_for_testwords_should_all_return_a_fixnum(LexiconTests)
[./tests/lexicon.tests.rb:92:in `test_familiarity_for_testwords_should_all_return_a_fixnum'
./tests/lexicon.tests.rb:88:in `each'
./tests/lexicon.tests.rb:88:in `test_familiarity_for_testwords_should_all_return_a_fixnum'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be an instance of
<Fixnum> but was
<NilClass>.
2) Failure:
test_grep_finds_compound_words(LexiconTests)
[./tests/lexicon.tests.rb:137:in `test_grep_finds_compound_words'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `[]' for nil:NilClass">
---Backtrace---
./lib/wordnet/lexicon.rb:278:in `grep'
./tests/lexicon.tests.rb:138:in `test_grep_finds_compound_words'
./tests/lexicon.tests.rb:137:in `test_grep_finds_compound_words'
./tests/wntestcase.rb:141:in `run'
---------------
3) Failure:
test_lookup_synsets(LexiconTests)
[./tests/lexicon.tests.rb:156:in `test_lookup_synsets'
./tests/lexicon.tests.rb:151:in `each'
./tests/lexicon.tests.rb:151:in `test_lookup_synsets'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be an instance of
<WordNet::Synset> but was
<NilClass>.
4) Failure:
test_morphology_of_dictionary_word_should_return_root_word(LexiconTests)
[./tests/lexicon.tests.rb:104:in `test_morphology_of_dictionary_word_should_return_root_word'
./tests/wntestcase.rb:141:in `run']:
<"angry"> expected but was
<nil>.
5) Error:
test_perl_tests(LexiconTests):
WordNet::LookupError: Failed lookup of synset '00466621%n':No such synset
./lib/wordnet/lexicon.rb:239:in `lookup_synsets_by_key'
./lib/wordnet/lexicon.rb:238:in `each'
./lib/wordnet/lexicon.rb:238:in `lookup_synsets_by_key'
./tests/linguawordnet.tests.rb:17:in `test_perl_tests'
./tests/wntestcase.rb:141:in `run'
6) Failure:
test_reverse_morphology_should_return_inverse(LexiconTests)
[./tests/lexicon.tests.rb:129:in `test_reverse_morphology_should_return_inverse'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be =~
</^angr/>.
7) Failure:
test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin(SynsetTests)
[./tests/synset.tests.rb:208:in `test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
./tests/synset.tests.rb:209:in `test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
./tests/synset.tests.rb:208:in `test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
./tests/wntestcase.rb:141:in `run'
---------------
8) Failure:
test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms(SynsetTests)
[./tests/synset.tests.rb:192:in `test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
./tests/synset.tests.rb:193:in `test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
./tests/synset.tests.rb:192:in `test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
./tests/wntestcase.rb:141:in `run'
---------------
9) Failure:
test_part_of_speech_should_return_the_symbol_part_of_speech(SynsetTests)
[./tests/synset.tests.rb:243:in `test_part_of_speech_should_return_the_symbol_part_of_speech'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `part_of_speech' for nil:NilClass">
---Backtrace---
./tests/synset.tests.rb:243:in `test_part_of_speech_should_return_the_symbol_part_of_speech'
./tests/synset.tests.rb:243:in `test_part_of_speech_should_return_the_symbol_part_of_speech'
./tests/wntestcase.rb:141:in `run'
---------------
10) Failure:
test_pos_should_return_the_synsets_singlechar_part_of_speech(SynsetTests)
[./tests/synset.tests.rb:253:in `test_pos_should_return_the_synsets_singlechar_part_of_speech'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `pos' for nil:NilClass">
---Backtrace---
./tests/synset.tests.rb:253:in `test_pos_should_return_the_synsets_singlechar_part_of_speech'
./tests/synset.tests.rb:253:in `test_pos_should_return_the_synsets_singlechar_part_of_speech'
./tests/wntestcase.rb:141:in `run'
---------------
11) Failure:
test_relations(SynsetTests)
[./tests/synset.tests.rb:108:in `test_relations'
./tests/synset.tests.rb:105:in `each'
./tests/synset.tests.rb:105:in `test_relations'
./tests/wntestcase.rb:141:in `run']:
<#<WordNet::Synset:0xfb7945db0/1 (noun): "" ()>>
of type <WordNet::Synset>
expected to respond_to?<:instance_hyponyms>.
12) Failure:
test_synset_should_respond_to_traverse_method(SynsetTests)
[./tests/synset.tests.rb:138:in `test_synset_should_respond_to_traverse_method'
./tests/wntestcase.rb:141:in `run']:
<nil>
of type <NilClass>
expected to respond_to?<:traverse>.
13) Failure:
test_traversal_break_after_3_should_include_three_sets_plus_origin(SynsetTests)
[./tests/synset.tests.rb:225:in `test_traversal_break_after_3_should_include_three_sets_plus_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
./tests/synset.tests.rb:226:in `test_traversal_break_after_3_should_include_three_sets_plus_origin'
./tests/synset.tests.rb:225:in `test_traversal_break_after_3_should_include_three_sets_plus_origin'
./tests/wntestcase.rb:141:in `run'
---------------
14) Failure:
test_traversal_with_false_second_arg_should_not_include_origin(SynsetTests)
[./tests/synset.tests.rb:172:in `test_traversal_with_false_second_arg_should_not_include_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
./tests/synset.tests.rb:173:in `test_traversal_with_false_second_arg_should_not_include_origin'
./tests/synset.tests.rb:172:in `test_traversal_with_false_second_arg_should_not_include_origin'
./tests/wntestcase.rb:141:in `run'
---------------
15) Failure:
test_traversal_with_true_second_arg_should_include_origin(SynsetTests)
[./tests/synset.tests.rb:149:in `test_traversal_with_true_second_arg_should_include_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
./tests/synset.tests.rb:150:in `test_traversal_with_true_second_arg_should_include_origin'
./tests/synset.tests.rb:149:in `test_traversal_with_true_second_arg_should_include_origin'
./tests/wntestcase.rb:141:in `run'
---------------
25 tests, 116 assertions, 14 failures, 1 errors
---------------
sudo ruby install.rb appears to work - but when using the library in a ruby program nil values are returned.
sudo irb
require 'wordnet'
lex = WordNet::Lexicon::new
lex.lookup_synsets("shoe", WordNet::Noun)
=> nil
I'm not sure what I've done wrong up to this point. Hopefully the information I've provided can show it's something wrong on my end.
For those of you looking for the instructions to get you to the point where you can run the installation tests, I've provided the key steps here for installation on Ubuntu 7.04:
- Download Berkeley DB from Oracle (MUST BE 4.4 or earlier!)
wget http://download.oracle.com/berkeley-db/db-4.4.20.tar.gz
- untar and install per INSTALL file instructions
- Get the ruby bindings for BDB (MUST BE VERSION 0.6.0 - I had core dumps with using any other binding during the convertdb command)
wget ftp://moulon.inra.fr/pub/ruby/bdb-0.6.0.tar.gz
- when compiling the bindings point to the proper headers
ruby extconf.rb --with-db-include=/home/johndoe/db-4.4.20/build_unix make sudo make install svn checkout svn://deveiate.org/Ruby-WordNet/trunk ruby convertdb.rb /home/johndoe/WordNet-3.0/dict/
