Skip to content

Commit

Permalink
Allow tests to run with newer rubygems - require 'thread'
Browse files Browse the repository at this point in the history
  • Loading branch information
Harold Giménez committed Apr 2, 2011
1 parent 09b08ac commit f05c093
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
3 changes: 2 additions & 1 deletion features/step_definitions/rails_application_steps.rb
Expand Up @@ -18,12 +18,13 @@
load Gem.bin_path('rails', 'rails', '#{version_string}')
RUBY

@terminal.run(%{ruby -rubygems -e "#{load_rails.strip!}" #{rails_create_command} rails_root})
@terminal.run(%{ruby -rrubygems -rthread -e "#{load_rails.strip!}" #{rails_create_command} rails_root})
if rails_root_exists?
@terminal.echo("Generated a Rails #{version_string} application")
else
raise "Unable to generate a Rails application:\n#{@terminal.output}"
end
require_thread
end

When /^I run the hoptoad generator with "([^\"]*)"$/ do |generator_args|
Expand Down
22 changes: 17 additions & 5 deletions features/support/rails.rb
Expand Up @@ -56,23 +56,34 @@ def environment_path
File.join(RAILS_ROOT, 'config', 'environment.rb')
end

def rakefile_path
File.join(RAILS_ROOT, 'Rakefile')
end

def bundle_gem(gem_name)
File.open(gemfile_path, 'a') do |file|
file.puts("gem '#{gem_name}'")
end
end

def config_gem(gem_name)
run = "Rails::Initializer.run do |config|"
insert = " config.gem '#{gem_name}'"
run = "Rails::Initializer.run do |config|"
insert = " config.gem '#{gem_name}'"
content = File.read(environment_path)
content = "require 'thread'\n#{content}"
if content.sub!(run, "#{run}\n#{insert}")
File.open(environment_path, 'wb') { |file| file.write(content) }
else
raise "Couldn't find #{run.inspect} in #{environment_path}"
end
end

def require_thread
content = File.read(rakefile_path)
content = "require 'thread'\n#{content}"
File.open(rakefile_path, 'wb') { |file| file.write(content) }
end

def perform_request(uri, environment = 'production')
if rails3?
request_script = <<-SCRIPT
Expand All @@ -89,7 +100,8 @@ def perform_request(uri, environment = 'production')
SCRIPT
File.open(File.join(RAILS_ROOT, 'request.rb'), 'w') { |file| file.write(request_script) }
@terminal.cd(RAILS_ROOT)
@terminal.run("./script/rails runner -e #{environment} request.rb")
debugger
@terminal.run("ruby -rthread ./script/rails runner -e #{environment} request.rb")
elsif rails_uses_rack?
request_script = <<-SCRIPT
require 'config/environment'
Expand All @@ -110,7 +122,7 @@ def perform_request(uri, environment = 'production')
SCRIPT
File.open(File.join(RAILS_ROOT, 'request.rb'), 'w') { |file| file.write(request_script) }
@terminal.cd(RAILS_ROOT)
@terminal.run("./script/runner -e #{environment} request.rb")
@terminal.run("ruby -rthread ./script/runner -e #{environment} request.rb")
else
uri = URI.parse(uri)
request_script = <<-SCRIPT
Expand Down Expand Up @@ -139,7 +151,7 @@ def initialize(*args)
SCRIPT
File.open(File.join(RAILS_ROOT, 'request.rb'), 'w') { |file| file.write(request_script) }
@terminal.cd(RAILS_ROOT)
@terminal.run("./script/runner -e #{environment} request.rb")
@terminal.run("ruby -rthread ./script/runner -e #{environment} request.rb")
end
end
end
Expand Down
1 change: 1 addition & 0 deletions test/helper.rb
Expand Up @@ -12,6 +12,7 @@
$LOAD_PATH << File.join(File.dirname(__FILE__), *%w[.. vendor ginger lib])
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), "..", "lib"))

require 'thread'
require 'shoulda'
require 'mocha'

Expand Down

0 comments on commit f05c093

Please sign in to comment.