Class: Rpruby::Cucumber::ParallelReport
- Defined in:
- lib/rpruby/cucumber/parallel_report.rb
Constant Summary collapse
- FILE_WITH_LAUNCH_ID =
Pathname(Dir.tmpdir) + "parallel_launch_id_for_#{Process.ppid}.lck"
Instance Method Summary collapse
-
#initialize ⇒ ParallelReport
constructor
A new instance of ParallelReport.
- #parallel? ⇒ Boolean
- #test_run_finished(_event, desired_time = Rpruby.now) ⇒ Object
Methods inherited from Report
#attach_to_launch?, #embed, #puts, #start_launch, #test_case_finished, #test_case_started, #test_step_finished, #test_step_started
Constructor Details
#initialize ⇒ ParallelReport
Returns a new instance of ParallelReport.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/rpruby/cucumber/parallel_report.rb', line 14 def initialize @root_node = Tree::TreeNode.new('') @parent_item_node = @root_node @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(Rpruby.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 |
Instance Method Details
#parallel? ⇒ Boolean
10 11 12 |
# File 'lib/rpruby/cucumber/parallel_report.rb', line 10 def parallel? true end |
#test_run_finished(_event, desired_time = Rpruby.now) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/rpruby/cucumber/parallel_report.rb', line 36 def test_run_finished(_event, desired_time = Rpruby.now) end_feature(desired_time) unless @parent_item_node.is_root? 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 #{Rpruby.launch_id}" Rpruby.close_child_items(nil) time_to_send = time_to_send(desired_time) Rpruby.finish_launch(time_to_send) end end end |