test/support/nginx_controller.rb in passenger-4.0.60 vs test/support/nginx_controller.rb in passenger-5.0.0.beta1
- old
+ new
@@ -13,14 +13,14 @@
class NginxController
PlatformInfo = PhusionPassenger::PlatformInfo
TEMPLATE_DIR = File.expand_path(File.dirname(__FILE__) + "/../stub/nginx")
PORT = 64507
-
+
def initialize(root_dir)
root_dir = File.expand_path(root_dir)
- @passenger_root = PhusionPassenger.source_root
+ @passenger_root = PhusionPassenger.install_spec
@nginx_root = root_dir
@port = PORT
@config_file = "#{root_dir}/nginx.conf"
@pid_file = "#{root_dir}/nginx.pid"
@log_file = "#{root_dir}/error.log"
@@ -31,76 +31,76 @@
:pid_file => @pid_file,
:log_file => @log_file,
:timeout => 25,
:before_start => method(:write_nginx_config_files)
)
-
+
@servers = []
@max_pool_size = 1
end
-
+
def set(options)
options.each_pair do |key, value|
instance_variable_set("@#{key}", value)
end
end
-
+
def start
stop
@controller.start
end
-
+
def stop
@controller.stop
# On OS X, the Nginx server socket may linger around for a while
# after Nginx shutdown, despite Nginx setting SO_REUSEADDR.
sockaddr = Socket.pack_sockaddr_in(PORT, '127.0.0.1')
eventually(30) do
!@controller.send(:ping_socket, Socket::Constants::AF_INET, sockaddr)
end
end
-
+
def running?
return @controller.running?
end
-
+
def port
return @port
end
-
+
def add_server
server = Server.new
yield server
@servers << server
end
private
class Server
attr_accessor :values
attr_accessor :extra
-
+
def initialize
@values = { :passenger_enabled => "on" }
end
-
+
def [](key)
return @values[key]
end
-
+
def []=(key, value)
@values[key] = value
end
-
+
def <<(text)
@extra = text
end
end
def write_nginx_config_files
template = ERB.new(File.read("#{TEMPLATE_DIR}/nginx.conf.erb"))
File.write(@config_file, template.result(get_binding))
end
-
+
def get_binding
return binding
end
end