Sha256: bf4eb8caa60c63cf4a3c71a29d7317bf99c8b29203597bb9f41fca371deadba7

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

module Webrat
  module Selenium
    module ApplicationServers
      class Base
        include Webrat::Selenium::SilenceStream

        def boot
          start
          wait
          stop_at_exit
        end

        def stop_at_exit
          at_exit do
            stop
          end
        end

        def wait
          $stderr.print "==> Waiting for #{Webrat.configuration.application_framework} application server on port #{Webrat.configuration.application_port}... "
          wait_for_socket
          $stderr.print "Ready!\n"
        end

        def wait_for_socket
          silence_stream(STDOUT) do
            TCPSocket.wait_for_service_with_timeout \
            :host     => Webrat.configuration.application_address,
            :port     => Webrat.configuration.application_port.to_i,
            :timeout  => 30 # seconds
          end
          rescue SocketError
          fail
        end

        def prepare_pid_file(file_path, pid_file_name)
          FileUtils.mkdir_p File.expand_path(file_path)
          File.expand_path("#{file_path}/#{pid_file_name}")
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aslakhellesoy-webrat-0.4.4.1 lib/webrat/selenium/application_servers/base.rb