diff options
Diffstat (limited to 'railties/test/application/load_test.rb')
-rw-r--r-- | railties/test/application/load_test.rb | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/railties/test/application/load_test.rb b/railties/test/application/load_test.rb index f2041d54c2..079aa09460 100644 --- a/railties/test/application/load_test.rb +++ b/railties/test/application/load_test.rb @@ -1,17 +1,32 @@ require "isolation/abstract_unit" -require "rails" -require 'action_dispatch' +# require "rails" +# require 'action_dispatch' module ApplicationTests class LoadTest < Test::Unit::TestCase include ActiveSupport::Testing::Isolation def rackup - ActionDispatch::Utils.parse_config("#{app_path}/config.ru") + config = "#{app_path}/config.ru" + # Copied from ActionDispatch::Utils.parse_config + # ActionDispatch is not necessarily available at this point. + require 'rack' + if config =~ /\.ru$/ + cfgfile = ::File.read(config) + if cfgfile[/^#\\(.*)/] + opts.parse! $1.split(/\s+/) + end + inner_app = eval "Rack::Builder.new {( " + cfgfile + "\n )}.to_app", + nil, config + else + require config + inner_app = Object.const_get(::File.basename(config, '.rb').capitalize) + end end def setup build_app + boot_rails end test "rails app is present" do |