On Thu, Feb 19, 2009 at 8:52 AM, lasitha <lasitha.ranatu...@gmail.com> wrote: > > On Mon, Dec 01, 2008 at 03:51pm, David Chelimsky <dchelim...@gmail.com> > wrote: >>On Sun, Nov 30, 2008 at 4:24 PM, Mikel Lindsaar <raasd...@gmail.com> wrote: >>> [...] >>> mi...@baci.local ~/ruby_programs/mail >>> $ autospec >>> /usr/local/bin/autotest:19:in `load': Is a directory - >>> /usr/local/lib/ruby-trunk/gems/1.9.1/gems/rspec-1.1.11/lib/autotest >>> (Errno::EISDIR) >>> from /usr/local/bin/autotest:19:in `<main>' >>> [...] >>> So load is trying to load autotest the directory instead of autotest the >>> script. >>> Any ideas on how to get it to load the right thing? >> >>I'm not sure how to fix that problem, but before you go much further >>you should know that RSpec does not yet run under 1.9. [...] > > I just ran across this (rspec 1.1.99.7, zentest 3.11.1, ruby 1.9.1-p0) and > thought i'd follow up. > > It appears this is related to rubygems being loaded automatically in ruby > 1.9... Cucumber (and rspec for that matter) contains an 'autotest' directory > under /lib and it appears earlier in the load path than the ZenTest > directories. > > As evidence, running the following gets past the error: > $ ruby --disable-gems `which autotest` > > Of course that would then necessitate activating needed gems manually, which > seems to be counter-productive if 1.9 is encouraging the opposite approach. > > It's not clear to me that this is a rspec or zentest bug - it might just as > easily be a rubygems or ruby deficiency (couldn't 'load' just ignore > directories?).
Sounds like Autotest's discovery process is going to need to be revisited. rspec and rspec-rails each have their own subclasses of Autotest, and the autotest executable decides what specific class to load by combing the load path for "autotest/discover" - so rspec and rspec-rails both need to have autotest directories to make that work. Merb apps do the same. > Unfortunately i'm not experienced enough with any of these libraries to know > where to take this next. > If anyone would point me in a direction, i'd be happy to keep digging. > > In the meantime, here's a hack to $RUBY_HOME/bin/autotest (the one generated > by rubygems): > > @@ -19 +19,2 @@ > -load 'autotest' > +zentest_gem_dir = Gem.source_index.find_name('ZenTest', > version).first.full_gem_path > +load File.join(zentest_gem_dir, 'bin', 'autotest') > > That is very likely the _wrong_ way to calculate zentest_gem_dir... I > googled and poked around but couldn't find any definitive API. Any > enlightenment on that would also be appreciated. For a temp solution this seems reasonable to me. Anybody else have a better idea? > > Cheers, > lasitha > > -- > View this message in context: > http://www.nabble.com/Ruby-1.9---autospec-loadpath-problem-tp20763177p22102148.html > Sent from the rspec-users mailing list archive at Nabble.com. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users