class ReportPortal::Cucumber::ParallelReport

Constants

FILE_WITH_LAUNCH_ID

Public Class Methods

new() click to toggle source
# File lib/report_portal/cucumber/parallel_report.rb, line 30
def initialize
  @root_node = Tree::TreeNode.new('')
  @last_used_time ||= 0

  if ParallelTests.first_process?
    File.open(FILE_WITH_LAUNCH_ID, 'w') do |f|
      f.flock(File::LOCK_EX)
      start_launch
      f.write(ReportPortal.launch_id)
      f.flush
      f.flock(File::LOCK_UN)
    end
  else
    File.open(FILE_WITH_LAUNCH_ID, 'r') do |f|
      f.flock(File::LOCK_SH)
      ReportPortal.launch_id = f.read
      f.flock(File::LOCK_UN)
    end
  end
end

Public Instance Methods

done(desired_time = ReportPortal.now) click to toggle source
# File lib/report_portal/cucumber/parallel_report.rb, line 51
def done(desired_time = ReportPortal.now)
  end_feature(desired_time) if @feature_node

  if ParallelTests.first_process?
    ParallelTests.wait_for_other_processes_to_finish

    File.delete(FILE_WITH_LAUNCH_ID)

    unless attach_to_launch?
      $stdout.puts "Finishing launch #{ReportPortal.launch_id}"
      ReportPortal.close_child_items(nil)
      time_to_send = time_to_send(desired_time)
      ReportPortal.finish_launch(time_to_send)
    end
  end
end
parallel?() click to toggle source
# File lib/report_portal/cucumber/parallel_report.rb, line 26
def parallel?
  true
end