Lee
2009-Mar-10 19:40 UTC
RAILS_ROOT issue - plugin unit tests won''t work under vendor/plugins
Hi, I''m relatively new to Ruby/Rails (and developing on Windows boxes). I''ve inherited a system and am trying to get the unit tests for a plugin running in Windows. Specifically, I have a plugin with some unit tests running under my app''s vendor/plugins dir. When I try and run a specific model unit test I get a failure: ----- c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'': no such file to load -- C:/Documents and Settings/leedoejgi/workspace/Ruby/config/environment (LoadError) ----- It''s looking in C:/Documents and Settings/leedoejgi/workspace/Ruby/ config/environment instead of C:/Documents and Settings/leedoejgi/ workspace/Ruby/myapp/clients/myapp_client/config/environment. The unit test is requiring test_helper in the same directory, which looks like this: ---- $:.reject! { |e| e.include? ''TextMate''} ENV["RAILS_ENV"] = "test" unless defined? RAILS_ROOT RAILS_ROOT = ''../../..'' end require File.expand_path("#{RAILS_ROOT}/config/environment") require ''test_help'' require ''logger'' require ''fileutils'' <snip> ---- If I set an environment variable for RAILS_ROOT in Windows of and make the following changes to test_helper give it the right RAILS_ROOT ---- $:.reject! { |e| e.include? ''TextMate''} ENV["RAILS_ENV"] = "test" # Support for NetBeans testing in Windows with RAILS_ROOT set in environement. if !ENV[''RAILS_ROOT''].empty? RAILS_ROOT = ENV[''RAILS_ROOT''] end unless defined? RAILS_ROOT RAILS_ROOT = ''../../..'' end require File.expand_path("#{RAILS_ROOT}/config/environment") require ''test_help'' require ''logger'' require ''fileutils'' <snip> ---- I now get a different error: ----- c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:499:in `replace'': can''t modify frozen string (TypeError) ----- Can anyone offer me guidance on how to get the unit tests running under Windows? Thanks! Lee --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---