diff --git a/features/support/database_cleaner_patches.rb b/features/support/database_cleaner_patches.rb deleted file mode 100644 index 4988e393a..000000000 --- a/features/support/database_cleaner_patches.rb +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (c) 2010-2011, Diaspora Inc. This file is -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. - -# disable_referential_integrity doesn't work when using PostgreSQL -# with a non-root user. -# See http://kopongo.com/2008/7/25/postgres-ri_constrainttrigger-error -module ActiveRecord - module ConnectionAdapters - class PostgreSQLAdapter < AbstractAdapter - def disable_referential_integrity(&block) - transaction { - begin - execute "SET CONSTRAINTS ALL DEFERRED" - yield - ensure - execute "SET CONSTRAINTS ALL IMMEDIATE" - end - } - end - end - end -end - diff --git a/features/support/env.rb b/features/support/env.rb index f96fb26a6..525f8596d 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -45,7 +45,6 @@ DatabaseCleaner.strategy = :truncation DatabaseCleaner.orm = "active_record" Cucumber::Rails::World.use_transactional_fixtures = false -require File.join(File.dirname(__FILE__), "database_cleaner_patches") require File.join(File.dirname(__FILE__), "integration_sessions_controller") require File.join(File.dirname(__FILE__), "poor_mans_webmock") @@ -62,39 +61,3 @@ include HelperMethods Before do Devise.mailer.deliveries = [] end - -After do - if Capybara.current_session.driver.respond_to?(:browser) - Capybara.reset_sessions! - # Capybara.current_session.driver.browser.manage.delete_all_cookies - end -end - -Before('@localserver') do - TestServerFixture.start_if_needed - CapybaraSettings.instance.save - Capybara.current_driver = :selenium - Capybara.run_server = false -end - -After('@localserver') do - CapybaraSettings.instance.restore -end - -# give firefox more time to complete requests -# http://ihswebdesign.com/knowledge-base/fixing-selenium-timeouterror/ -After do |scenario| - if scenario.exception.is_a? Timeout::Error - # restart Selenium driver - Capybara.send(:session_pool).delete_if { |key, value| key =~ /selenium/i } - end -end - -# # https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection -# require File.join(File.dirname(__FILE__), "..", "..", "spec", "support", "deferred_garbage_collection") -# Before do -# DeferredGarbageCollection.start -# end -# After do -# DeferredGarbageCollection.reconsider -# end diff --git a/features/support/server.rb b/features/support/server.rb deleted file mode 100644 index 90b90c728..000000000 --- a/features/support/server.rb +++ /dev/null @@ -1,73 +0,0 @@ - -ENV["RAILS_ENV"] ||= "test" -require File.expand_path(File.dirname(__FILE__) + '/../../config/environment') unless defined?(Rails) - -require 'timeout' -require 'socket' -require 'singleton' - -require 'capybara/rails' -require 'capybara/cucumber' -require 'capybara/session' - -class TestServerFixture -# simple interface to script/server - - def self.is_port_open(host, port, tries) - for i in (1..tries) - begin - Timeout::timeout(2) do - begin - s = TCPSocket.new(host, port) - s.close - return true - rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH - sleep( 2) - end - end - rescue Timeout::Error - return false - end - end - return false - end - - def self.start_if_needed - unless TestServerFixture.is_port_open( "localhost", 3000, 2) - system( "script/server -d") - if TestServerFixture.is_port_open( "localhost", 3000, 30) - puts "script/server started" - else - puts "Error: can't start script/server" - end - end - end - -end - -class CapybaraSettings -# simple save/restore for Capybara - - include Singleton - - def save - begin - @run_server = Capybara.run_server - @driver = Capybara.current_driver - @host = Capybara.app_host - rescue => e - puts "Saving exception: " + e.inspect - end - end - - def restore - begin - Capybara.current_driver = @driver - Capybara.app_host = @host - Capybara.run_server = @run_server - rescue => e - puts "Restore exception: " + e.inspect - end - end - -end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 499e52fbf..0392bec7c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -92,13 +92,3 @@ RSpec.configure do |config| AppConfig.reset_dynamic! end end - -# https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection -RSpec.configure do |config| - config.before(:all) do - DeferredGarbageCollection.start - end - config.after(:all) do - DeferredGarbageCollection.reconsider - end -end diff --git a/spec/support/deferred_garbage_collection.rb b/spec/support/deferred_garbage_collection.rb deleted file mode 100644 index 85a59a8d8..000000000 --- a/spec/support/deferred_garbage_collection.rb +++ /dev/null @@ -1,41 +0,0 @@ - -# https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection -class DeferredGarbageCollection - - DEFERRED_GC_THRESHOLD = (ENV['DEFER_GC'] || 10.0).to_f #used to be 10.0 - - @@last_gc_run = Time.now - - def self.start - return if unsupported_environment - GC.disable if DEFERRED_GC_THRESHOLD > 0 - end - - def self.memory_threshold - @mem = %x(free 2>/dev/null).to_s.split(" ") - return nil if @mem.empty? - @mem[15].to_i / (@mem[7].to_i/100) - end - - def self.reconsider - return if unsupported_environment - - if (percent_used = self.memory_threshold) - running_out_of_memory = percent_used > 90 - else - running_out_of_memory = false - end - - if( (DEFERRED_GC_THRESHOLD > 0 && Time.now - @@last_gc_run >= DEFERRED_GC_THRESHOLD) || running_out_of_memory ) - GC.enable - GC.start - GC.disable - @@last_gc_run = Time.now - end - end - - def self.unsupported_environment - ENV['TRAVIS'] # TODO: enable for ruby 1.9.3 or more RAM - end - -end