testability-driver 1.1.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. data/config/sut_parameters.rb +21 -8
  2. data/config/tdriver_custom_error_recovery.rb +83 -0
  3. data/ext/extconf.rb +3 -2
  4. data/ext/native_extensions.c +60 -2
  5. data/lib/tdriver-devtools/behaviour/old/xml/example/flick-example.rb +2 -105
  6. data/lib/tdriver/base/behaviour/factory.rb +154 -89
  7. data/lib/tdriver/base/behaviour/factory_new.rb +409 -0
  8. data/lib/tdriver/base/errors.rb +3 -3
  9. data/lib/tdriver/base/state_object.rb +85 -22
  10. data/lib/tdriver/base/sut/adapter.rb +26 -0
  11. data/lib/tdriver/base/sut/controller.rb +1 -1
  12. data/lib/tdriver/base/sut/generic/behaviours/application.rb +89 -118
  13. data/lib/tdriver/base/sut/generic/behaviours/find.rb +67 -62
  14. data/lib/tdriver/base/sut/generic/behaviours/sut.rb +296 -187
  15. data/lib/tdriver/base/sut/generic/behaviours/switchbox_behaviour.rb +7 -7
  16. data/lib/tdriver/base/sut/generic/commands/application.rb +366 -295
  17. data/lib/tdriver/base/sut/sut.rb +19 -3
  18. data/lib/tdriver/base/test_object/abstract.rb +41 -21
  19. data/lib/tdriver/base/test_object/adapter.rb +62 -9
  20. data/lib/tdriver/base/test_object/behaviours/syncronization.rb +10 -6
  21. data/lib/tdriver/base/test_object/behaviours/test_object.rb +84 -47
  22. data/lib/tdriver/base/test_object/factory.rb +124 -68
  23. data/lib/tdriver/base/test_object/loader.rb +3 -4
  24. data/lib/tdriver/base/test_object/verification.rb +3 -3
  25. data/lib/tdriver/base/test_object/xml/adapter.rb +734 -0
  26. data/lib/tdriver/loader.rb +12 -0
  27. data/lib/tdriver/report/error_recovery/tdriver_error_recovery.rb +3 -2
  28. data/lib/tdriver/report/error_recovery/tdriver_error_recovery_settings.rb +14 -14
  29. data/lib/tdriver/report/report.rb +4 -8
  30. data/lib/tdriver/report/report_api.rb +9 -0
  31. data/lib/tdriver/report/report_crash_file_capture.rb +4 -4
  32. data/lib/tdriver/report/report_creator.rb +57 -35
  33. data/lib/tdriver/report/report_cucumber.rb +1 -1
  34. data/lib/tdriver/report/report_cucumber_listener.rb +5 -158
  35. data/lib/tdriver/report/report_cucumber_reporter.rb +7 -161
  36. data/lib/tdriver/report/report_execution_statistics.rb +4 -4
  37. data/lib/tdriver/report/report_file_capture.rb +5 -5
  38. data/lib/tdriver/report/report_grouping.rb +24 -22
  39. data/lib/tdriver/report/report_junit_xml.rb +5 -5
  40. data/lib/tdriver/report/report_test_case_run.rb +31 -22
  41. data/lib/tdriver/report/report_test_run.rb +107 -104
  42. data/lib/tdriver/report/report_writer.rb +150 -83
  43. data/lib/tdriver/tdriver.rb +147 -103
  44. data/lib/tdriver/util/common/boolean.rb +51 -0
  45. data/lib/tdriver/util/common/crc16.rb +110 -68
  46. data/lib/tdriver/util/common/hash.rb +63 -7
  47. data/lib/tdriver/util/common/kernel.rb +46 -1
  48. data/lib/tdriver/util/common/loader.rb +1 -0
  49. data/lib/tdriver/util/common/object.rb +20 -8
  50. data/lib/tdriver/util/common/string.rb +21 -2
  51. data/lib/tdriver/util/logger/logger.rb +4 -4
  52. data/lib/tdriver/util/parameter/loader.rb +2 -19
  53. data/lib/tdriver/util/parameter/parameter.rb +874 -177
  54. data/lib/tdriver/util/plugin/service.rb +1 -1
  55. data/lib/tdriver/util/recorder/recorder.rb +7 -1
  56. data/lib/tdriver/util/xml/abstraction.rb +13 -1
  57. data/lib/tdriver/util/xml/parsers/nokogiri/abstraction.rb +63 -10
  58. data/lib/tdriver/util/xml/parsers/nokogiri/attribute.rb +8 -2
  59. data/lib/tdriver/util/xml/parsers/nokogiri/document.rb +16 -3
  60. data/lib/tdriver/util/xml/parsers/nokogiri/node.rb +36 -32
  61. data/lib/tdriver/util/xml/parsers/nokogiri/nodeset.rb +19 -22
  62. data/lib/tdriver/util/xml/xml.rb +147 -32
  63. data/lib/tdriver/verify/verify.rb +1112 -289
  64. data/lib/tdriver/version.rb +1 -1
  65. data/xml/templates/generic.xml +14 -2
  66. metadata +51 -24
  67. data/lib/tdriver/util/parameter/parameter_hash.rb +0 -104
  68. data/lib/tdriver/util/parameter/parameter_new.rb +0 -869
  69. data/lib/tdriver/util/parameter/parameter_template.rb +0 -120
  70. data/lib/tdriver/util/parameter/parameter_user_api.rb +0 -116
  71. data/lib/tdriver/util/parameter/parameter_xml.rb +0 -261
@@ -42,4 +42,16 @@ require File.expand_path( File.join( File.dirname( __FILE__ ), 'base/loader.rb'
42
42
  # verify module
43
43
  require File.expand_path( File.join( File.dirname( __FILE__ ), 'verify/verify.rb' ) )
44
44
 
45
+ # reporting modules
46
+ if $parameters[ :enable_reporter, true ].true?
45
47
 
48
+ require File.expand_path( File.join( File.dirname( __FILE__ ), 'report/report.rb' ) )
49
+
50
+ end
51
+
52
+ # load report api for continuous verification reporting purposes
53
+ if $parameters[ :report_attach_continuous_verification_to_reporter, false ].true?
54
+
55
+ require File.expand_path( File.join( File.dirname( __FILE__ ), 'report/report_api' ) )
56
+
57
+ end
@@ -118,8 +118,9 @@ module TDriverErrorRecovery
118
118
  # false for failed ping
119
119
  # === raises
120
120
  def ping_device(current_sut)
121
- begin
122
- if current_sut.refresh()==false
121
+ begin
122
+ ui_xml=current_sut.get_ui_dump
123
+ if !ui_xml
123
124
  MobyUtil::Logger.instance.log "behaviour" , "WARNING;Device ping failed"
124
125
  false
125
126
  else
@@ -47,50 +47,50 @@ class TDriverErrorRecoverySettings
47
47
  # === returns
48
48
  # === raises
49
49
  def read_settings()
50
- @error_recovery_enabled=MobyUtil::Parameter[ :error_recovery_enabled ]
50
+ @error_recovery_enabled= $parameters[ :error_recovery_enabled ]
51
51
  Kernel::raise MobyBase::BehaviourError.new("error recovery", "error recovery enabled parameter not defined in tdriver_parameters.xml") if @error_recovery_enabled == nil
52
52
 
53
- @ats4_error_recovery_enabled=MobyUtil::Parameter[ :ats4_error_recovery_enabled ]
53
+ @ats4_error_recovery_enabled= $parameters[ :ats4_error_recovery_enabled ]
54
54
  Kernel::raise MobyBase::BehaviourError.new("error recovery", "ats4 error recovery enabled parameter not defined in tdriver_parameters.xml") if @ats4_error_recovery_enabled == nil
55
55
 
56
- @wait_time_for_ats4_error_recovery=MobyUtil::Parameter[ :wait_time_for_ats4_error_recovery ]
56
+ @wait_time_for_ats4_error_recovery= $parameters[ :wait_time_for_ats4_error_recovery ]
57
57
  Kernel::raise MobyBase::BehaviourError.new("error recovery", "ats4 error recovery wait time parameter not defined in tdriver_parameters.xml") if @wait_time_for_ats4_error_recovery == nil
58
58
 
59
- @ping_connection=MobyUtil::Parameter[ :ping_connection ]
59
+ @ping_connection= $parameters[ :ping_connection ]
60
60
  Kernel::raise MobyBase::BehaviourError.new("error recovery", "ping connection parameter not defined in tdriver_parameters.xml") if @ping_connection == nil
61
61
 
62
- @reconnect_device=MobyUtil::Parameter[ :reconnect_device ]
62
+ @reconnect_device= $parameters[ :reconnect_device ]
63
63
  Kernel::raise MobyBase::BehaviourError.new("error recovery", "reconnect device patameter not defined in tdriver_parameters.xml") if @reconnect_device == nil
64
64
 
65
- @reconnect_attempts=MobyUtil::Parameter[ :reconnect_attempts ]
65
+ @reconnect_attempts= $parameters[ :reconnect_attempts ]
66
66
  Kernel::raise MobyBase::BehaviourError.new("error recovery", "reconnect attempts patameter not defined in tdriver_parameters.xml") if @reconnect_attempts == nil
67
67
 
68
- str_parameter=MobyUtil::Parameter[ :error_recovery_monitored_sut_ids ]
68
+ str_parameter= $parameters[ :error_recovery_monitored_sut_ids ]
69
69
  Kernel::raise MobyBase::BehaviourError.new("error recovery", "error_recovery_monitored_sut_ids patameter not defined in tdriver_parameters.xml") if str_parameter == nil
70
70
  @monitored_suts=str_parameter.split('|')
71
71
 
72
72
 
73
73
  end
74
74
  def get_ats4_error_recovery_enabled
75
- MobyUtil::Parameter[ :ats4_error_recovery_enabled ]
75
+ $parameters[ :ats4_error_recovery_enabled ]
76
76
  end
77
77
  def get_wait_time_for_ats4_error_recovery
78
- MobyUtil::Parameter[ :wait_time_for_ats4_error_recovery ]
78
+ $parameters[ :wait_time_for_ats4_error_recovery ]
79
79
  end
80
80
  def get_error_recovery_enabled
81
- MobyUtil::Parameter[ :error_recovery_enabled ]
81
+ $parameters[ :error_recovery_enabled ]
82
82
  end
83
83
  def get_ping_connection
84
- MobyUtil::Parameter[ :ping_connection ]
84
+ $parameters[ :ping_connection ]
85
85
  end
86
86
  def get_reconnect_device
87
- MobyUtil::Parameter[ :reconnect_device ]
87
+ $parameters[ :reconnect_device ]
88
88
  end
89
89
  def get_reconnect_attempts
90
- MobyUtil::Parameter[ :reconnect_attempts ]
90
+ $parameters[ :reconnect_attempts ]
91
91
  end
92
92
  def get_monitored_sut
93
- str_parameter=MobyUtil::Parameter[ :error_recovery_monitored_sut_ids ]
93
+ str_parameter= $parameters[ :error_recovery_monitored_sut_ids ]
94
94
 
95
95
  if str_parameter.include?('|')
96
96
  @monitored_suts=str_parameter.split('|')
@@ -17,9 +17,9 @@
17
17
  ##
18
18
  ############################################################################
19
19
 
20
-
21
20
  require 'fileutils'
22
21
  require 'date'
22
+
23
23
  require File.expand_path( File.join( File.dirname( __FILE__ ), 'error_recovery/tdriver_error_recovery_settings' ) )
24
24
  require File.expand_path( File.join( File.dirname( __FILE__ ), 'error_recovery/tdriver_error_recovery' ) )
25
25
  require File.expand_path( File.join( File.dirname( __FILE__ ), 'error_recovery/tdriver_custom_error_recovery' ) )
@@ -51,14 +51,10 @@ require File.expand_path( File.join( File.dirname( __FILE__ ), 'report_grouping'
51
51
  require File.expand_path( File.join( File.dirname( __FILE__ ), 'report_execution_statistics' ) )
52
52
  require File.expand_path( File.join( File.dirname( __FILE__ ), 'report_data_presentation' ) )
53
53
 
54
+ unless $parameters[ :custom_error_recovery_module, nil ].nil?
54
55
 
55
- if MobyUtil::Parameter[ :custom_error_recovery_module, nil ]!=nil
56
-
57
- require MobyUtil::Parameter[ :custom_error_recovery_module ]
56
+ require $parameters[ :custom_error_recovery_module ]
58
57
 
59
58
  end
60
- include TDriverReportAPI
61
59
 
62
-
63
-
64
-
60
+ include TDriverReportAPI
@@ -38,6 +38,15 @@ module TDriverReportAPI
38
38
  return ret
39
39
  end
40
40
 
41
+ def tdriver_get_sequential_fails
42
+ return $tdriver_reporter.get_sequential_fails if $tdriver_reporter
43
+ end
44
+
45
+
46
+ def tdriver_update_sequential_fails( status )
47
+ $tdriver_reporter.update_sequential_fails( status ) if $tdriver_reporter
48
+ end
49
+
41
50
  def tdriver_log_data(data)
42
51
  Kernel::raise TypeError.new("Argument to method cannot be nil.") if data.nil?
43
52
  if $tdriver_reporter!=nil
@@ -40,10 +40,10 @@ class TDriverReportCrashFileCapture
40
40
  end
41
41
 
42
42
  def read_crash_monitor_settings()
43
- @crash_file_locations=return_settings_value_array(MobyUtil::Parameter[ :report_crash_file_locations, nil ])
44
- @crash_file_suts=return_settings_value_array(MobyUtil::Parameter[ :report_crash_file_monitored_sut_ids, nil ])
45
- @crash_file_names=return_settings_value_array(MobyUtil::Parameter[ :report_crash_file_names, nil ])
46
- @monitor_crash_files = MobyUtil::Parameter[ :report_crash_file_monitor, 'false' ]
43
+ @crash_file_locations=return_settings_value_array( $parameters[ :report_crash_file_locations, nil ])
44
+ @crash_file_suts=return_settings_value_array( $parameters[ :report_crash_file_monitored_sut_ids, nil ])
45
+ @crash_file_names=return_settings_value_array( $parameters[ :report_crash_file_names, nil ])
46
+ @monitor_crash_files = $parameters[ :report_crash_file_monitor, 'false' ]
47
47
  end
48
48
 
49
49
  def clean_crash_files_from_sut()
@@ -17,9 +17,6 @@
17
17
  ##
18
18
  ############################################################################
19
19
 
20
-
21
-
22
-
23
20
  module TDriverReportCreator
24
21
  include TDriverErrorRecovery
25
22
  include TDriverCustomErrorRecovery
@@ -61,21 +58,42 @@ module TDriverReportCreator
61
58
  end
62
59
  puts 'Generating report summary...'
63
60
  $tdriver_reporter.update_summary_page('finished')
61
+ puts 'Summary generated...'
62
+ puts 'Generating total run table...'
64
63
  $tdriver_reporter.update_test_case_summary_pages('all')
65
- $tdriver_reporter.update_test_case_summary_pages('passed')
64
+ puts 'Total run table generated...'
65
+ if $tdriver_reporter.report_exclude_passed_cases=='false'
66
+ puts 'Generating passed cases table...'
67
+ $tdriver_reporter.update_test_case_summary_pages('passed')
68
+ puts 'Passed table generated...'
69
+ end
70
+ puts 'Generating failed cases table...'
66
71
  $tdriver_reporter.update_test_case_summary_pages('failed')
72
+ puts 'Failed table generated...'
73
+ puts 'Generating not run cases table...'
67
74
  $tdriver_reporter.update_test_case_summary_pages('not run')
75
+ puts 'Not run table generated...'
76
+ puts 'Generating statistics table...'
68
77
  $tdriver_reporter.update_test_case_summary_pages('statistics')
78
+ puts 'Statistics generated...'
79
+ puts 'Grouping results by result and name...'
69
80
  $tdriver_reporter.group_results_by_test_case()
70
- $tdriver_reporter.create_csv if MobyUtil::Parameter[ :create_run_table_csv, false ]=='true'
81
+ puts 'Tests grouped by result and name...'
82
+ if $parameters[ :create_run_table_csv, false ]=='true'
83
+ puts 'Generating CSV...'
84
+ $tdriver_reporter.create_csv
85
+ puts 'CSV generated...'
86
+ end
87
+ puts 'Generating Junit xml...'
71
88
  $new_junit_xml_results.create_junit_xml()
89
+ puts 'Junit generated...'
72
90
  #$tdriver_reporter.delete_result_storage()
73
91
  $tdriver_reporter.disconnect_connected_devices()
74
92
  #tdriver_log_page $tdriver_reporter.update_tdriver_log_page()
75
93
  puts 'Report generated to:'
76
94
  puts $tdriver_reporter.report_folder()
77
95
  clean_video_files
78
- ending_test_set_run if MobyUtil::Parameter[ :custom_error_recovery_module, nil ]!=nil
96
+ ending_test_set_run if $parameters[ :custom_error_recovery_module, nil ]!=nil
79
97
  if $tdriver_reporter.total_failed.to_i > 0
80
98
  Kernel.exit(1)
81
99
  elsif $tdriver_reporter.total_run.to_i == 0
@@ -87,7 +105,7 @@ module TDriverReportCreator
87
105
  else
88
106
  initialize_error_recovery
89
107
  end
90
- starting_test_set_run if MobyUtil::Parameter[ :custom_error_recovery_module, nil ]!=nil
108
+ starting_test_set_run if $parameters[ :custom_error_recovery_module, nil ]!=nil
91
109
  end
92
110
  #This method registers a connection error
93
111
  #
@@ -97,9 +115,11 @@ module TDriverReportCreator
97
115
  # nil
98
116
  # === raises
99
117
  def error_in_connection_detected
100
- $tdriver_reporter.set_total_device_resets(1)
101
- $new_test_case.set_test_case_reboots(1) if $new_test_case!=nil
102
- error_in_connection
118
+ if start_error_recovery()==true
119
+ $tdriver_reporter.set_total_device_resets(1)
120
+ $new_test_case.set_test_case_reboots(1) if $new_test_case!=nil
121
+ end
122
+ error_in_connection if $parameters[ :custom_error_recovery_module, nil ]!=nil
103
123
  end
104
124
  #This method returns the group where the test case belongs
105
125
  #
@@ -110,7 +130,7 @@ module TDriverReportCreator
110
130
  # === raises
111
131
  def extract_group_from_test_case_name(test_case_name)
112
132
  found_in_group='not_in_any_user_defined_group'
113
- groups=MobyUtil::Parameter[ :report_groups, nil ]
133
+ groups=$parameters[ :report_groups, nil ]
114
134
  unless groups == nil
115
135
  groups_ar=groups.split('|')
116
136
  groups_ar.each do |group|
@@ -174,14 +194,14 @@ module TDriverReportCreator
174
194
  $tdriver_reporter.set_total_run(1)
175
195
  $tdriver_reporter.update_summary_page('inprogress')
176
196
  $tdriver_reporter.update_environment_page()
177
- if MobyUtil::Parameter[ :realtime_status_page_update, false ]=='true'
197
+ if $parameters[ :realtime_status_page_update, false ]=='true'
178
198
  if $run_status_thread_active == false
179
199
  $run_status_thread_active=true
180
200
  Thread.new do
181
201
  begin
182
202
  #Update test case summary pages
183
203
  $tdriver_reporter.update_test_case_summary_pages('all')
184
- $tdriver_reporter.update_test_case_summary_pages('passed')
204
+ $tdriver_reporter.update_test_case_summary_pages('passed') if $tdriver_reporter.report_exclude_passed_cases=='false'
185
205
  $tdriver_reporter.update_test_case_summary_pages('failed')
186
206
  $tdriver_reporter.update_test_case_summary_pages('not run')
187
207
  $tdriver_reporter.update_test_case_summary_pages('statistics')
@@ -257,7 +277,7 @@ module TDriverReportCreator
257
277
 
258
278
  $new_test_case.read_file_monitor_settings()
259
279
 
260
- $new_test_case.clean_crash_files_from_sut() if $test_case_run_index==1 && MobyUtil::Parameter[ :report_crash_file_monitor_crash_file_cleanup, false ]=='true'
280
+ $new_test_case.clean_crash_files_from_sut() if $test_case_run_index==1 && $parameters[ :report_crash_file_monitor_crash_file_cleanup, false ]=='true'
261
281
 
262
282
  amount_of_crash_files=$new_test_case.check_if_crash_files_exist()
263
283
 
@@ -276,7 +296,7 @@ module TDriverReportCreator
276
296
  $new_test_case.set_test_case_crash_files(amount_of_files.to_i)
277
297
  end
278
298
 
279
- if MobyUtil::Parameter[ :report_monitor_memory, 'false']=='true'
299
+ if $parameters[ :report_monitor_memory, 'false']=='true'
280
300
  begin
281
301
  MobyBase::SUTFactory.instance.connected_suts.each do |sut_id, sut_attributes|
282
302
  $new_test_case.set_tc_memory_amount_total($tdriver_reporter.get_sut_total_memory(sut_id,sut_attributes))
@@ -290,7 +310,7 @@ module TDriverReportCreator
290
310
  logging_enabled = MobyUtil::Logger.instance.enabled
291
311
  begin
292
312
 
293
- if MobyUtil::Parameter[:report_video, "false"] != "false"
313
+ if $parameters[:report_video, "false"] != "false"
294
314
  # copy previous recording
295
315
  MobyUtil::Logger.instance.enabled=false
296
316
 
@@ -313,7 +333,7 @@ module TDriverReportCreator
313
333
  MobyUtil::Logger.instance.enabled=logging_enabled
314
334
  end
315
335
  update_test_case_user_data()
316
- starting_test_case(test_case, MobyBase::SUTFactory.instance.connected_suts) if MobyUtil::Parameter[ :custom_error_recovery_module, nil ]!=nil
336
+ starting_test_case(test_case, MobyBase::SUTFactory.instance.connected_suts) if $parameters[ :custom_error_recovery_module, nil ]!=nil
317
337
  end
318
338
  #This method updates the current test case execution log
319
339
  #
@@ -330,13 +350,13 @@ module TDriverReportCreator
330
350
  @_stored_details.each do |detail|
331
351
  $new_test_case.set_test_case_execution_log(detail)
332
352
  end
333
- $new_test_case.set_test_case_execution_log(details)
353
+ $new_test_case.set_test_case_execution_log(details,true)
334
354
  @_stored_details=[]
335
355
  else
336
- $new_test_case.set_test_case_execution_log(details)
356
+ $new_test_case.set_test_case_execution_log(details,true)
337
357
  end
338
- updating_test_case_details(details) if MobyUtil::Parameter[ :custom_error_recovery_module, nil ]!=nil
339
- if MobyUtil::Parameter[ :report_monitor_memory, 'false']=='true'
358
+ updating_test_case_details(details) if $parameters[ :custom_error_recovery_module, nil ]!=nil
359
+ if $parameters[ :report_monitor_memory, 'false']=='true'
340
360
  begin
341
361
  start_memory=$new_test_case.tc_memory_amount_start()
342
362
  if start_memory=='-'
@@ -384,11 +404,11 @@ module TDriverReportCreator
384
404
  if $new_test_case.video_recording?
385
405
  $new_test_case.copy_video_capture()
386
406
  end
387
- error_in_test_case(MobyBase::SUTFactory.instance.connected_suts) if MobyUtil::Parameter[ :custom_error_recovery_module, nil ]!=nil
407
+ error_in_test_case(MobyBase::SUTFactory.instance.connected_suts) if $parameters[ :custom_error_recovery_module, nil ]!=nil
388
408
  begin
389
- if start_error_recovery()==true
409
+
390
410
  error_in_connection_detected
391
- end
411
+
392
412
  rescue Exception => e
393
413
  update_test_case("Error recovery failed Exception: #{e.message} Backtrace: #{e.backtrace}")
394
414
  end_test_case($new_test_case.test_case_name,'failed')
@@ -429,7 +449,7 @@ module TDriverReportCreator
429
449
  # === raises
430
450
  def update_test_case_behaviour_log()
431
451
  begin
432
- if MobyUtil::Parameter[:behaviour_logging] == 'true'
452
+ if $parameters[:behaviour_logging] == 'true'
433
453
  if $new_test_case.test_case_logging_level.to_i > 0
434
454
  $tdriver_report_log_output.string.each do |line|
435
455
  $new_test_case.set_test_case_behaviour_log(line,nil)
@@ -492,7 +512,7 @@ module TDriverReportCreator
492
512
  update_test_case_user_data()
493
513
  if $new_test_case != nil
494
514
  calculate_execution_footprint_data_for_test_case
495
- if MobyUtil::Parameter[:report_crash_file_monitor] == 'true'
515
+ if $parameters[:report_crash_file_monitor] == 'true'
496
516
  found_crash_files = $new_test_case.check_if_crash_files_exist()
497
517
  if found_crash_files.to_i > 0
498
518
  $tdriver_reporter.set_total_crash_files(found_crash_files.to_i)
@@ -500,12 +520,12 @@ module TDriverReportCreator
500
520
  status='failed'
501
521
  end
502
522
  end
503
- if MobyUtil::Parameter[:report_file_monitor] == 'true'
523
+ if $parameters[:report_file_monitor] == 'true'
504
524
  found_files = $new_test_case.check_if_files_exist()
505
525
  if found_files.to_i > 0
506
526
  $tdriver_reporter.set_total_crash_files(found_files.to_i)
507
527
  $new_test_case.set_test_case_crash_files(found_files.to_i)
508
- status='failed' if MobyUtil::Parameter[:report_fail_test_if_files_found]=='true'
528
+ status='failed' if $parameters[:report_fail_test_if_files_found]=='true'
509
529
  end
510
530
  end
511
531
 
@@ -528,7 +548,7 @@ module TDriverReportCreator
528
548
  if(status=='passed')
529
549
 
530
550
  no_activity_videos = ""
531
- if MobyUtil::Parameter[:report_check_device_active, 'false']=='true'
551
+ if $parameters[:report_check_device_active, 'false']=='true'
532
552
  if temp_rec
533
553
  no_activity_videos = $new_test_case.target_video_alive
534
554
  end
@@ -558,9 +578,9 @@ module TDriverReportCreator
558
578
  end
559
579
  $new_test_case.set_test_case_end_time(Time.now)
560
580
  update_test_case_behaviour_log()
561
- update_test_case_memory_usage() if MobyUtil::Parameter[ :report_monitor_memory, 'false']=='true'
581
+ update_test_case_memory_usage() if $parameters[ :report_monitor_memory, 'false']=='true'
562
582
  execution_log=$new_test_case.test_case_execution_log
563
- if MobyUtil::Parameter[:report_trace_capture_only_in_failed_case, 'true']!='true'
583
+ if $parameters[:report_trace_capture_only_in_failed_case, 'true']!='true'
564
584
  $new_test_case.capture_trace_files()
565
585
  else
566
586
  if status=='failed'
@@ -574,13 +594,15 @@ module TDriverReportCreator
574
594
  $new_test_case.clean_files_from_sut()
575
595
 
576
596
  update_run($new_test_case.test_case_name.to_s,status,$new_test_case.test_case_reboots,$new_test_case.test_case_crash_files,execution_log)
597
+
577
598
  $new_junit_xml_results.add_test_result(status, $new_test_case.test_case_start_time, $new_test_case.test_case_end_time)
578
-
599
+ tdriver_update_sequential_fails( status ) if $parameters[ :runner_sequence_skip, "false" ] == "true"
600
+
579
601
  $new_test_case=nil
580
602
  execution_log=nil
581
603
 
582
604
  end
583
- ending_test_case(status, MobyBase::SUTFactory.instance.connected_suts) if MobyUtil::Parameter[ :custom_error_recovery_module, nil ]!=nil
605
+ ending_test_case(status, MobyBase::SUTFactory.instance.connected_suts) if $parameters[ :custom_error_recovery_module, nil ]!=nil
584
606
  end
585
607
  def add_report_group(value)
586
608
  $tdriver_reporter.set_generic_reporting_groups(value)
@@ -608,10 +630,10 @@ module TDriverReportCreator
608
630
 
609
631
  def each_video_device
610
632
 
611
- if MobyUtil::Parameter[:report_video, nil] != nil
633
+ if $parameters[:report_video, nil] != nil
612
634
 
613
635
  device_index = 0
614
- MobyUtil::Parameter[:report_video].split("|").each do | video_device |
636
+ $parameters[:report_video].split("|").each do | video_device |
615
637
  if !video_device.strip.empty?
616
638
  yield video_device.strip, device_index.to_s
617
639
  device_index += 1
@@ -107,7 +107,7 @@ module TDriverReport
107
107
  # === params
108
108
  # === returns
109
109
  # === raises
110
- def visit_feature_element_name(keyword, name, file_colon_line, source_indent)
110
+ def visit_feature_element_name(keyword, name, file_colon_line, source_indent)
111
111
  line = %Q("#{name}")
112
112
  @current_feature_element=line if @current_feature_element.nil?
113
113
  unless line == @current_feature_element
@@ -40,6 +40,7 @@ module TDriverReport
40
40
  @current_feature = nil
41
41
  @tc_status=nil
42
42
  @current_feature_group=nil
43
+ @current_feature_element_file=''
43
44
  end
44
45
  def after_features(features)
45
46
  end_test_case(@current_feature_element,@tc_status)
@@ -95,8 +96,7 @@ module TDriverReport
95
96
  visit_feature_element_name(keyword, name, file_colon_line, source_indent)
96
97
  end
97
98
  def feature_name(name)
98
- @current_feature_group=name.gsub(/[:]/,'')
99
- add_report_group('Features:'+@current_feature_group+'|')
99
+ @current_feature_group=name.gsub(/[:]/,'')
100
100
  end
101
101
  #This method determines when new test case needs to be started
102
102
  #based on the scenario name info if scenario name is different then a new test case
@@ -106,6 +106,8 @@ module TDriverReport
106
106
  # === returns
107
107
  # === raises
108
108
  def visit_feature_element_name(keyword, name, file_colon_line, source_indent)
109
+ add_report_group(File.basename(file_colon_line)+':'+@current_feature_group+'|')
110
+ @current_feature_element_file=file_colon_line
109
111
  line = %Q("#{name}")
110
112
  @current_feature_element=line if @current_feature_element.nil?
111
113
  unless line == @current_feature_element
@@ -114,6 +116,7 @@ module TDriverReport
114
116
  end
115
117
  start_test_case(@current_feature_element)
116
118
  add_test_case_group(@current_feature_group)
119
+ update_test_case(file_colon_line)
117
120
  @tc_status=nil
118
121
  end
119
122
  #This method records the cucumber outline table results in to one test case
@@ -176,162 +179,6 @@ module TDriverReport
176
179
  end
177
180
  end
178
181
 
179
- module MattiReport
180
- #Class for formatting cucumber report
181
- class CucumberListener
182
- include TDriverReportCreator
183
- #This method initializes new test run
184
- #
185
- # === params
186
- # === returns
187
- # === raises
188
- def initialize(step_mother, io, options)
189
- file, line = caller.first.split(":")
190
- $stderr.puts "%s:%s warning: MattiReport deprecated, use TDriverReport instead" % [ file, line]
191
- #super(step_mother, io, options)
192
- start_run()
193
- @options = options
194
- @current_feature_element = nil
195
- @current_feature = nil
196
- @tc_status=nil
197
- @current_feature_group=nil
198
- end
199
- def after_features(features)
200
- end_test_case(@current_feature_element,@tc_status)
201
- end
202
- #This method visits the executed cucumber step and updates the results in to TDriver report
203
- #
204
- # === params
205
- # === returns
206
- # === raises
207
- def step_name(keyword, step_match, status, source_indent, background)
208
- if status == :passed
209
- step_name = step_match.format_args(lambda{|param| "*#{param}*"})
210
- update_test_case("#{step_name} PASSED")
211
- @tc_status='passed'
212
- end
213
- if status == :failed
214
- step_name = step_match.format_args(lambda{|param| "*#{param}*"})
215
- update_test_case("#{step_name} FAILED")
216
- @tc_status='failed'
217
- end
218
- if status == :skipped
219
- step_name = step_match.format_args(lambda{|param| "*#{param}*"})
220
- update_test_case("#{step_name} SKIPPED")
221
- end
222
- if status == :undefined
223
- step_name = step_match.format_args(lambda{|param| "*#{param}*"})
224
- update_test_case("#{step_name} NOT RUN")
225
- @tc_status='not run'
226
- end
227
- end
228
- #This method visits the exception caused by a failed step
229
- #and updates the result in to TDriver report
230
- #
231
- # === params
232
- # === returns
233
- # === raises
234
- def exception(exception, status)
235
- if status == :failed
236
- capture_screen_test_case()
237
- update_test_case(exception.message)
238
- update_test_case(exception.backtrace)
239
- end
240
- update_test_case('-') if status == :passed
241
- end
242
- #This method visits cucumber scenario name and starts a new test case when
243
- #new scenario is executed
244
- #and updates the result in to TDriver report
245
- #
246
- # === params
247
- # === returns
248
- # === raises
249
- def scenario_name(keyword, name, file_colon_line, source_indent)
250
- visit_feature_element_name(keyword, name, file_colon_line, source_indent)
251
- end
252
- def feature_name(name)
253
- @current_feature_group=name.gsub(/[:]/,'')
254
- add_report_group('Features:'+@current_feature_group+'|')
255
- end
256
- #This method determines when new test case needs to be started
257
- #based on the scenario name info if scenario name is different then a new test case
258
- #is started
259
- #
260
- # === params
261
- # === returns
262
- # === raises
263
- def visit_feature_element_name(keyword, name, file_colon_line, source_indent)
264
- line = %Q("#{name}")
265
- @current_feature_element=line if @current_feature_element.nil?
266
- unless line == @current_feature_element
267
- end_test_case(@current_feature_element,@tc_status)
268
- @current_feature_element=line
269
- end
270
- start_test_case(@current_feature_element)
271
- add_test_case_group(@current_feature_group)
272
- @tc_status=nil
273
- end
274
- #This method records the cucumber outline table results in to one test case
275
- #
276
- # === params
277
- # === returns
278
- # === raises
279
- def before_outline_table(outline_table)
280
- update_test_case("running outline: ")
281
- end
282
- #This method records the cucumber outline table results in to one test case
283
- #
284
- # === params
285
- # === returns
286
- # === raises
287
- def after_table_row(table_row)
288
- if table_row.exception
289
- @tc_status='failed'
290
- capture_screen_test_case()
291
- update_test_case("#{format_table_row(table_row)} FAILED")
292
- update_test_case(table_row.exception)
293
- else
294
- @tc_status='passed' if @tc_status==nil
295
- update_test_case("#{format_table_row(table_row)} PASSED")
296
- end
297
- end
298
- def format_table_row(row)
299
- begin
300
- [row.name, row.line]
301
- rescue Exception => e
302
- row
303
- end
304
- end
305
- def tag_name(tag_name)
306
- end
307
- def comment_line(comment_line)
308
- end
309
- def after_tags(tags)
310
- end
311
- def after_feature_element(feature_element)
312
- end
313
- def after_background(background)
314
- end
315
- def before_examples_array(examples_array)
316
- end
317
- def examples_name(keyword, name)
318
- end
319
- def py_string(string)
320
- end
321
- def print_feature_element_name(keyword, name, file_colon_line, source_indent)
322
- end
323
- def before_table_row(table_row)
324
- return unless @table
325
- @col_index = 0
326
- end
327
- def table_cell_value(value, status)
328
- return unless @table
329
- status ||= @status || :passed
330
- end
331
- end
332
- end
333
-
334
-
335
182
  rescue LoadError
336
183
 
337
184
  end