Module: DTR

Defined in:
lib/dtr.rb,
lib/dtr/base.rb,
lib/dtr/drb_dtr.rb

Defined Under Namespace

Classes: AveragePacker, Client, ClientServer, DRbObjectWrapper, DrbTestRunnerClientServer, DrbTestRunnerServer, OriginalTestReports, RubyRunner, Server, TestReport

Class Method Summary collapse

Class Method Details

.ensure_temp_dir_existObject



53
54
55
56
57
58
# File 'lib/dtr.rb', line 53

def ensure_temp_dir_exist
  raise "Tmp dir(#{DTROPTIONS[:tmp_dir]}) is a file!" if File.file?(DTROPTIONS[:tmp_dir])
  unless File.exist?(DTROPTIONS[:tmp_dir])
    FileUtils.makedirs(DTROPTIONS[:tmp_dir])
  end
end

.run(tests, clients, opts = {}) ⇒ Object



46
47
48
49
50
51
# File 'lib/dtr.rb', line 46

def run(tests, clients, opts={})
  opts =  {:my_uri => "druby://:#{DTROPTIONS[:server_port]}", :run_setup_before_start => false}.merge(opts)
  server = DrbTestRunnerServer.new opts[:my_uri], tests, clients
  server.start opts[:run_setup_before_start]
  server.succeeded?
end

.start_client_server(my_port = DTROPTIONS[:port], server_uri = DTROPTIONS[:server_uri]) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/dtr.rb', line 34

def start_client_server(my_port=DTROPTIONS[:port], server_uri=DTROPTIONS[:server_uri])
  my_uri = "druby://:" << my_port

  DTROPTIONS[:tmp_dir] = DTROPTIONS[:tmp_dir] + '/' + DTROPTIONS[:client_name].gsub(/[^\d\w]+/, '_')
  logger.info { "Initializing client server at '#{my_uri}'..." }
  logger.info { "Working dir: #{Dir.pwd}" }
  logger.info { "Listening server at '#{server_uri}'..." }
  ensure_temp_dir_exist
  server = DrbTestRunnerClientServer.new my_uri, server_uri
  server.start
end