I’m switching all my fulltext searching over to ferret using the
acts_as_ferret plugin on windows (for development, will be deployed on
linux).
In my tests I have a setup method as follows to ensure the index is
reset for each test:
def setup
Item.rebuild_index
end
This works fine for the initial few tests but then suddenly fails for
the last few tests when it seems to be failing to delete a file.
Loaded suite E:/rails/thatsprogress/test/unit/item_test
Started
…EEEE
Finished in 8.922 seconds.
- Error:
test_search_for_count(ItemTest):
Errno::EACCES: Permission denied -
E:/rails/thatsprogress/config/…/index/test/Item/_j.cfs
…
Full trace included later.
It consistantly does it at this point, and looks like something is
stopping _j.cfs from being deleted.
Any ideas on what’s going on and how to stop it?
Thanks in advance.
Full trace is as follows:
Loaded suite E:/rails/thatsprogress/test/unit/item_test
Started
…EEEE
Finished in 8.922 seconds.
- Error:
test_search_for_count(ItemTest):
Errno::EACCES: Permission denied -
E:/rails/thatsprogress/config/…/index/test/Item/_j.cfs
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:105:in
`delete’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:105:in
`refresh’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:104:in
`each’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:123:in
`each’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:123:in
`each’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:104:in
`refresh’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:101:in
`synchronize’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:101:in
`refresh’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:74:in
`new’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:68:in
`synchronize’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:68:in
`new’
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/index/index.rb:133:in
`initialize’
E:/rails/thatsprogress/config/…/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:223:in
`new’
E:/rails/thatsprogress/config/…/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:223:in
rebuild_index' E:/rails/thatsprogress/test/unit/item_test.rb:15:in
setup_without_fixtures’
E:/rails/thatsprogress/config/…/vendor/rails/activerecord/lib/active_record/fixtures.rb:554:in
`setup’
E:/rails/thatsprogress/config/…/vendor/rails/activerecord/lib/active_record/fixtures.rb:552:in
`setup’
–
R.Livsey