Class: RailsTestServing::Server

Inherits:
Object
  • Object
show all
Includes:
Utilities
Defined in:
lib/rails_test_serving/server.rb

Constant Summary collapse

GUARD =
Mutex.new
PREPARATION_GUARD =
Mutex.new

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Utilities

#capture_standard_stream, #capture_testrunner_result, #find_index_by_pattern, #fix_objectspace_collector, #log, #set_default_testrunner_stream, #shorten_path

Class Method Details

.startObject



6
7
8
9
10
11
# File 'lib/rails_test_serving/server.rb', line 6

def self.start
  server = Server.new
  DRb.start_service(RailsTestServing.service_uri, server)
  Thread.new { server.prepare }
  DRb.thread.join
end

Instance Method Details

#prepareObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/rails_test_serving/server.rb', line 22

def prepare
  PREPARATION_GUARD.synchronize do
    @prepared ||= begin
      ENV['RAILS_ENV'] = 'test'
      log "** Test server starting [##{$$}]..." do
        enable_dependency_tracking
        start_cleaner
        load_framework
      end
      install_signal_traps
      true
    end
  end
end

#run(file, argv) ⇒ Object



15
16
17
18
19
20
# File 'lib/rails_test_serving/server.rb', line 15

def run(file, argv)
  GUARD.synchronize do
    prepare
    perform_run(file, argv)
  end
end