On 9/22/06, Alex Young <[EMAIL PROTECTED]> wrote: > Hi all, > > I've got a slight problem with using Ferret in unit tests. In order to > create as little cross-contamination between test suites as possible, > some of my tests are creating a fresh index per test case, and then > calling Index#close and deleting the containing dir during the teardown. > The problem comes when GC.start kicks in after the deleting the directory: > > IOError: IO Error occured at <except.c>:79 in xraise > Error occured in fs_store.c:146 - fs_clear_locks > clearing locks in persistence_path/00000000001: <No such file > or directory> > > The persistence_path/ directory is the one that was File.rm_r'd. How > can I stop this from happening? Is it a bug, or have I messed something > up? This worked with 0.9.5, but doesn't now that I've updated to > 0.10.6. Any clues? > > -- > Alex >
Hi Alex, This is a bug which I'm fixing right now. If you open any FSDirectories then you must close them too before you rm_f the index dir. Unfortunately FSDirectory#close doesn't currently work and the Index class doesn't call it either so try 0.10.7 when I release it. Cheers, Dave _______________________________________________ Ferret-talk mailing list [email protected] http://rubyforge.org/mailman/listinfo/ferret-talk

