about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--test/rails/app-1.2.3/Rakefile7
-rw-r--r--test/rails/app-1.2.3/config/environment.rb1
-rw-r--r--test/rails/app-2.0.2/Rakefile7
-rw-r--r--test/rails/app-2.0.2/config/environment.rb1
-rw-r--r--test/rails/app-2.1.2/.gitignore2
-rw-r--r--test/rails/app-2.1.2/Rakefile7
-rw-r--r--test/rails/app-2.1.2/app/controllers/application.rb2
-rw-r--r--test/rails/app-2.1.2/app/controllers/foo_controller.rb34
-rw-r--r--test/rails/app-2.1.2/app/helpers/application_helper.rb2
-rw-r--r--test/rails/app-2.1.2/config/boot.rb109
-rw-r--r--test/rails/app-2.1.2/config/database.yml12
-rw-r--r--test/rails/app-2.1.2/config/environment.rb15
-rw-r--r--test/rails/app-2.1.2/config/environments/development.rb5
-rw-r--r--test/rails/app-2.1.2/config/environments/production.rb3
-rw-r--r--test/rails/app-2.1.2/config/routes.rb4
-rw-r--r--test/rails/app-2.1.2/db/.gitignore0
-rw-r--r--test/rails/app-2.1.2/public/404.html1
-rw-r--r--test/rails/app-2.1.2/public/500.html1
-rw-r--r--test/rails/app-2.2.2/Rakefile7
-rw-r--r--test/rails/app-2.2.2/config/environment.rb1
-rw-r--r--test/rails/app-2.3.2.1/Rakefile7
-rw-r--r--test/rails/app-2.3.2.1/config/environment.rb3
-rw-r--r--test/rails/test_rails.rb4
23 files changed, 234 insertions, 1 deletions
diff --git a/test/rails/app-1.2.3/Rakefile b/test/rails/app-1.2.3/Rakefile
new file mode 100644
index 0000000..fbebfca
--- /dev/null
+++ b/test/rails/app-1.2.3/Rakefile
@@ -0,0 +1,7 @@
+require(File.join(File.dirname(__FILE__), 'config', 'boot'))
+
+require 'rake'
+require 'rake/testtask'
+require 'rake/rdoctask'
+
+require 'tasks/rails'
diff --git a/test/rails/app-1.2.3/config/environment.rb b/test/rails/app-1.2.3/config/environment.rb
index ddeeba4..2ef6b4a 100644
--- a/test/rails/app-1.2.3/config/environment.rb
+++ b/test/rails/app-1.2.3/config/environment.rb
@@ -7,4 +7,5 @@ require File.join(File.dirname(__FILE__), 'boot')
 
 Rails::Initializer.run do |config|
   config.frameworks -= [ :action_web_service, :action_mailer ]
+  config.action_controller.session_store = :active_record_store
 end
diff --git a/test/rails/app-2.0.2/Rakefile b/test/rails/app-2.0.2/Rakefile
new file mode 100644
index 0000000..fbebfca
--- /dev/null
+++ b/test/rails/app-2.0.2/Rakefile
@@ -0,0 +1,7 @@
+require(File.join(File.dirname(__FILE__), 'config', 'boot'))
+
+require 'rake'
+require 'rake/testtask'
+require 'rake/rdoctask'
+
+require 'tasks/rails'
diff --git a/test/rails/app-2.0.2/config/environment.rb b/test/rails/app-2.0.2/config/environment.rb
index cb90b4b..7c720f6 100644
--- a/test/rails/app-2.0.2/config/environment.rb
+++ b/test/rails/app-2.0.2/config/environment.rb
@@ -7,6 +7,7 @@ require File.join(File.dirname(__FILE__), 'boot')
 
 Rails::Initializer.run do |config|
   config.frameworks -= [ :action_web_service, :action_mailer ]
+  config.action_controller.session_store = :active_record_store
   config.action_controller.session = {
     :session_key => "_unicorn_rails_test.#{rand}",
     :secret => "#{rand}#{rand}#{rand}#{rand}",
diff --git a/test/rails/app-2.1.2/.gitignore b/test/rails/app-2.1.2/.gitignore
new file mode 100644
index 0000000..f451f91
--- /dev/null
+++ b/test/rails/app-2.1.2/.gitignore
@@ -0,0 +1,2 @@
+/tmp
+/vendor
diff --git a/test/rails/app-2.1.2/Rakefile b/test/rails/app-2.1.2/Rakefile
new file mode 100644
index 0000000..fbebfca
--- /dev/null
+++ b/test/rails/app-2.1.2/Rakefile
@@ -0,0 +1,7 @@
+require(File.join(File.dirname(__FILE__), 'config', 'boot'))
+
+require 'rake'
+require 'rake/testtask'
+require 'rake/rdoctask'
+
+require 'tasks/rails'
diff --git a/test/rails/app-2.1.2/app/controllers/application.rb b/test/rails/app-2.1.2/app/controllers/application.rb
new file mode 100644
index 0000000..09705d1
--- /dev/null
+++ b/test/rails/app-2.1.2/app/controllers/application.rb
@@ -0,0 +1,2 @@
+class ApplicationController < ActionController::Base
+end
diff --git a/test/rails/app-2.1.2/app/controllers/foo_controller.rb b/test/rails/app-2.1.2/app/controllers/foo_controller.rb
new file mode 100644
index 0000000..8d877d1
--- /dev/null
+++ b/test/rails/app-2.1.2/app/controllers/foo_controller.rb
@@ -0,0 +1,34 @@
+require 'digest/sha1'
+class FooController < ApplicationController
+  def index
+    render :text => "FOO\n"
+  end
+
+  def xcookie
+    cookies["foo"] = "cookie #$$"
+    render :text => ""
+  end
+
+  def xnotice
+    flash[:notice] = "session #$$"
+    render :text => ""
+  end
+
+  def xpost
+    if request.post?
+      digest = Digest::SHA1.new
+      out = "params: #{params.inspect}\n"
+      if file = params[:file]
+        loop do
+          buf = file.read(4096) or break
+          digest.update(buf)
+        end
+        out << "sha1: #{digest.to_s}\n"
+      end
+      headers['content-type'] = 'text/plain'
+      render :text => out
+    else
+      render :status => 403, :text => "need post\n"
+    end
+  end
+end
diff --git a/test/rails/app-2.1.2/app/helpers/application_helper.rb b/test/rails/app-2.1.2/app/helpers/application_helper.rb
new file mode 100644
index 0000000..de6be79
--- /dev/null
+++ b/test/rails/app-2.1.2/app/helpers/application_helper.rb
@@ -0,0 +1,2 @@
+module ApplicationHelper
+end
diff --git a/test/rails/app-2.1.2/config/boot.rb b/test/rails/app-2.1.2/config/boot.rb
new file mode 100644
index 0000000..0a51688
--- /dev/null
+++ b/test/rails/app-2.1.2/config/boot.rb
@@ -0,0 +1,109 @@
+# Don't change this file!
+# Configure your app in config/environment.rb and config/environments/*.rb
+
+RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
+
+module Rails
+  class << self
+    def boot!
+      unless booted?
+        preinitialize
+        pick_boot.run
+      end
+    end
+
+    def booted?
+      defined? Rails::Initializer
+    end
+
+    def pick_boot
+      (vendor_rails? ? VendorBoot : GemBoot).new
+    end
+
+    def vendor_rails?
+      File.exist?("#{RAILS_ROOT}/vendor/rails")
+    end
+
+    def preinitialize
+      load(preinitializer_path) if File.exist?(preinitializer_path)
+    end
+
+    def preinitializer_path
+      "#{RAILS_ROOT}/config/preinitializer.rb"
+    end
+  end
+
+  class Boot
+    def run
+      load_initializer
+      Rails::Initializer.run(:set_load_path)
+    end
+  end
+
+  class VendorBoot < Boot
+    def load_initializer
+      require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
+      Rails::Initializer.run(:install_gem_spec_stubs)
+    end
+  end
+
+  class GemBoot < Boot
+    def load_initializer
+      self.class.load_rubygems
+      load_rails_gem
+      require 'initializer'
+    end
+
+    def load_rails_gem
+      if version = self.class.gem_version
+        gem 'rails', version
+      else
+        gem 'rails'
+      end
+    rescue Gem::LoadError => load_error
+      $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
+      exit 1
+    end
+
+    class << self
+      def rubygems_version
+        Gem::RubyGemsVersion rescue nil
+      end
+
+      def gem_version
+        if defined? RAILS_GEM_VERSION
+          RAILS_GEM_VERSION
+        elsif ENV.include?('RAILS_GEM_VERSION')
+          ENV['RAILS_GEM_VERSION']
+        else
+          parse_gem_version(read_environment_rb)
+        end
+      end
+
+      def load_rubygems
+        require 'rubygems'
+        min_version = '1.3.1'
+        unless rubygems_version >= min_version
+          $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
+          exit 1
+        end
+
+      rescue LoadError
+        $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
+        exit 1
+      end
+
+      def parse_gem_version(text)
+        $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
+      end
+
+      private
+        def read_environment_rb
+          File.read("#{RAILS_ROOT}/config/environment.rb")
+        end
+    end
+  end
+end
+
+# All that for this:
+Rails.boot!
diff --git a/test/rails/app-2.1.2/config/database.yml b/test/rails/app-2.1.2/config/database.yml
new file mode 100644
index 0000000..9f77843
--- /dev/null
+++ b/test/rails/app-2.1.2/config/database.yml
@@ -0,0 +1,12 @@
+development:
+  adapter: sqlite3
+  database: db/development.sqlite3
+  timeout: 5000
+test:
+  adapter: sqlite3
+  database: db/test.sqlite3
+  timeout: 5000
+production:
+  adapter: sqlite3
+  database: db/production.sqlite3
+  timeout: 5000
diff --git a/test/rails/app-2.1.2/config/environment.rb b/test/rails/app-2.1.2/config/environment.rb
new file mode 100644
index 0000000..7c720f6
--- /dev/null
+++ b/test/rails/app-2.1.2/config/environment.rb
@@ -0,0 +1,15 @@
+unless defined? RAILS_GEM_VERSION
+  RAILS_GEM_VERSION = ENV['UNICORN_RAILS_VERSION']
+end
+
+# Bootstrap the Rails environment, frameworks, and default configuration
+require File.join(File.dirname(__FILE__), 'boot')
+
+Rails::Initializer.run do |config|
+  config.frameworks -= [ :action_web_service, :action_mailer ]
+  config.action_controller.session_store = :active_record_store
+  config.action_controller.session = {
+    :session_key => "_unicorn_rails_test.#{rand}",
+    :secret => "#{rand}#{rand}#{rand}#{rand}",
+  }
+end
diff --git a/test/rails/app-2.1.2/config/environments/development.rb b/test/rails/app-2.1.2/config/environments/development.rb
new file mode 100644
index 0000000..7f49032
--- /dev/null
+++ b/test/rails/app-2.1.2/config/environments/development.rb
@@ -0,0 +1,5 @@
+config.cache_classes = false
+config.whiny_nils = true
+config.action_controller.consider_all_requests_local = true
+config.action_controller.perform_caching = false
+config.action_view.debug_rjs = true
diff --git a/test/rails/app-2.1.2/config/environments/production.rb b/test/rails/app-2.1.2/config/environments/production.rb
new file mode 100644
index 0000000..c4059e3
--- /dev/null
+++ b/test/rails/app-2.1.2/config/environments/production.rb
@@ -0,0 +1,3 @@
+config.cache_classes = true
+config.action_controller.consider_all_requests_local = false
+config.action_controller.perform_caching             = true
diff --git a/test/rails/app-2.1.2/config/routes.rb b/test/rails/app-2.1.2/config/routes.rb
new file mode 100644
index 0000000..774028f
--- /dev/null
+++ b/test/rails/app-2.1.2/config/routes.rb
@@ -0,0 +1,4 @@
+ActionController::Routing::Routes.draw do |map|
+  map.connect ':controller/:action/:id.:format'
+  map.connect ':controller/:action/:id'
+end
diff --git a/test/rails/app-2.1.2/db/.gitignore b/test/rails/app-2.1.2/db/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/rails/app-2.1.2/db/.gitignore
diff --git a/test/rails/app-2.1.2/public/404.html b/test/rails/app-2.1.2/public/404.html
new file mode 100644
index 0000000..44d986c
--- /dev/null
+++ b/test/rails/app-2.1.2/public/404.html
@@ -0,0 +1 @@
+404 Not Found
diff --git a/test/rails/app-2.1.2/public/500.html b/test/rails/app-2.1.2/public/500.html
new file mode 100644
index 0000000..e534a49
--- /dev/null
+++ b/test/rails/app-2.1.2/public/500.html
@@ -0,0 +1 @@
+500 Internal Server Error
diff --git a/test/rails/app-2.2.2/Rakefile b/test/rails/app-2.2.2/Rakefile
new file mode 100644
index 0000000..fbebfca
--- /dev/null
+++ b/test/rails/app-2.2.2/Rakefile
@@ -0,0 +1,7 @@
+require(File.join(File.dirname(__FILE__), 'config', 'boot'))
+
+require 'rake'
+require 'rake/testtask'
+require 'rake/rdoctask'
+
+require 'tasks/rails'
diff --git a/test/rails/app-2.2.2/config/environment.rb b/test/rails/app-2.2.2/config/environment.rb
index cb90b4b..7c720f6 100644
--- a/test/rails/app-2.2.2/config/environment.rb
+++ b/test/rails/app-2.2.2/config/environment.rb
@@ -7,6 +7,7 @@ require File.join(File.dirname(__FILE__), 'boot')
 
 Rails::Initializer.run do |config|
   config.frameworks -= [ :action_web_service, :action_mailer ]
+  config.action_controller.session_store = :active_record_store
   config.action_controller.session = {
     :session_key => "_unicorn_rails_test.#{rand}",
     :secret => "#{rand}#{rand}#{rand}#{rand}",
diff --git a/test/rails/app-2.3.2.1/Rakefile b/test/rails/app-2.3.2.1/Rakefile
new file mode 100644
index 0000000..fbebfca
--- /dev/null
+++ b/test/rails/app-2.3.2.1/Rakefile
@@ -0,0 +1,7 @@
+require(File.join(File.dirname(__FILE__), 'config', 'boot'))
+
+require 'rake'
+require 'rake/testtask'
+require 'rake/rdoctask'
+
+require 'tasks/rails'
diff --git a/test/rails/app-2.3.2.1/config/environment.rb b/test/rails/app-2.3.2.1/config/environment.rb
index 18f03f8..17abdb7 100644
--- a/test/rails/app-2.3.2.1/config/environment.rb
+++ b/test/rails/app-2.3.2.1/config/environment.rb
@@ -6,7 +6,8 @@ end
 require File.join(File.dirname(__FILE__), 'boot')
 
 Rails::Initializer.run do |config|
-  config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
+  config.frameworks -= [ :active_resource, :action_mailer ]
+  config.action_controller.session_store = :active_record_store
   config.action_controller.session = {
     :session_key => "_unicorn_rails_test.#{rand}",
     :secret => "#{rand}#{rand}#{rand}#{rand}",
diff --git a/test/rails/test_rails.rb b/test/rails/test_rails.rb
index 67d6892..f6bc67e 100644
--- a/test/rails/test_rails.rb
+++ b/test/rails/test_rails.rb
@@ -74,6 +74,10 @@ logger Logger.new('#{COMMON_TMP.path}')
     Dir.chdir("#@tmpdir/vendor/rails") do
       system('git', 'reset', '-q', '--hard', "v#{UNICORN_RAILS_TEST_VERSION}")
     end
+
+    assert(system('rake', 'db:sessions:create'))
+    assert(system('rake', 'db:migrate'))
+
     @addr = ENV['UNICORN_TEST_ADDR'] || '127.0.0.1'
     @port = unused_port(@addr)
     @start_pid = $$