Sha256: fbf1e3a2ba75252aef7de5f66588ac7ea898e98271a34bb6e45353b5416c00a8

Contents?: true

Size: 1.29 KB

Versions: 59

Compression:

Stored size: 1.29 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require 'ruby/shared/loader_sharedspec'
require 'ruby/shared/ruby_loader_sharedspec'

module PhusionPassenger

describe "Rack preloader" do
	include LoaderSpecHelper

	before :each do
		@stub = register_stub(RackStub.new("rack"))
	end

	def start(options = {})
		@preloader = Preloader.new(["ruby", "#{PhusionPassenger.helper_scripts_dir}/rack-preloader.rb"], @stub.app_root)
		result = @preloader.start(options)
		if result[:status] == "Ready"
			@loader = @preloader.spawn(options)
			return @loader.start(options)
		else
			return result
		end
	end

	it_should_behave_like "a loader"
	it_should_behave_like "a Ruby loader"

	it "calls the starting_worker_process event with forked=true" do
		File.prepend(@stub.startup_file, %q{
			history_file = "history.txt"
			PhusionPassenger.on_event(:starting_worker_process) do |forked|
				::File.open(history_file, 'a') do |f|
					f.puts "worker_process_started: forked=#{forked}\n"
				end
			end
			::File.open(history_file, 'a') do |f|
				f.puts "end of startup file\n"
			end
		})
		result = start
		result[:status].should == "Ready"
		File.read("#{@stub.app_root}/history.txt").should ==
			"end of startup file\n" +
			"worker_process_started: forked=true\n"
	end
end

end # module PhusionPassenger

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
passenger-4.0.60 test/ruby/rack/preloader_spec.rb
passenger-4.0.59 test/ruby/rack/preloader_spec.rb
passenger-5.0.0.beta3 test/ruby/rack/preloader_spec.rb
passenger-4.0.58 test/ruby/rack/preloader_spec.rb
passenger-4.0.57 test/ruby/rack/preloader_spec.rb
passenger-5.0.0.beta2 test/ruby/rack/preloader_spec.rb
passenger-4.0.56 test/ruby/rack/preloader_spec.rb
passenger-4.0.55 test/ruby/rack/preloader_spec.rb
passenger-5.0.0.beta1 test/ruby/rack/preloader_spec.rb
passenger-4.0.53 test/ruby/rack/preloader_spec.rb
passenger-4.0.52 test/ruby/rack/preloader_spec.rb
passenger-4.0.51 test/ruby/rack/preloader_spec.rb
passenger-4.0.50 test/ruby/rack/preloader_spec.rb
passenger-4.0.49 test/ruby/rack/preloader_spec.rb
passenger-4.0.48 test/ruby/rack/preloader_spec.rb
passenger-4.0.46 test/ruby/rack/preloader_spec.rb
passenger-4.0.45 test/ruby/rack/preloader_spec.rb
passenger-4.0.44 test/ruby/rack/preloader_spec.rb
passenger-4.0.43 test/ruby/rack/preloader_spec.rb
passenger-4.0.42 test/ruby/rack/preloader_spec.rb