testability-driver 0.9.2 → 1.0.0

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 (108) hide show
  1. data/lib/tdriver/base/behaviour/behaviours/object_behaviour_composition.rb +1 -1
  2. data/lib/tdriver/base/behaviour/behaviours/object_behaviour_description.rb +11 -7
  3. data/lib/tdriver/base/behaviour/behaviours/object_composition.rb +8 -0
  4. data/lib/tdriver/base/behaviour/factory.rb +229 -209
  5. data/lib/tdriver/base/errors.rb +3 -0
  6. data/lib/tdriver/base/state_object.rb +11 -20
  7. data/lib/tdriver/base/sut/controller.rb +4 -4
  8. data/lib/tdriver/base/sut/factory.rb +205 -170
  9. data/lib/tdriver/base/sut/generic/behaviours/application.rb +256 -174
  10. data/lib/tdriver/base/sut/generic/behaviours/find.rb +17 -11
  11. data/lib/tdriver/base/sut/generic/behaviours/flash_behaviour.rb +57 -66
  12. data/lib/tdriver/base/sut/generic/behaviours/sut.rb +578 -497
  13. data/lib/tdriver/base/sut/generic/behaviours/switchbox_behaviour.rb +41 -15
  14. data/lib/tdriver/base/sut/generic/behaviours/verification.rb +48 -19
  15. data/lib/tdriver/base/sut/generic/commands/fixture.rb +47 -0
  16. data/lib/tdriver/base/sut/generic/commands/key_sequence.rb +25 -13
  17. data/lib/tdriver/base/sut/generic/commands/screen_capture.rb +16 -10
  18. data/lib/tdriver/base/sut/generic/plugin.rb +9 -3
  19. data/lib/tdriver/base/sut/sut.rb +41 -33
  20. data/lib/tdriver/base/test_object/abstract.rb +26 -3
  21. data/lib/tdriver/base/test_object/adapter.rb +399 -0
  22. data/lib/tdriver/base/test_object/behaviours/syncronization.rb +56 -14
  23. data/lib/tdriver/base/test_object/behaviours/test_object.rb +663 -197
  24. data/lib/tdriver/base/test_object/cache.rb +132 -0
  25. data/lib/tdriver/base/test_object/factory.rb +677 -426
  26. data/lib/tdriver/base/test_object/factory_new.rb +202 -0
  27. data/lib/tdriver/base/test_object/identificator.rb +24 -17
  28. data/lib/tdriver/base/test_object/loader.rb +9 -3
  29. data/lib/tdriver/base/test_object/verification.rb +181 -0
  30. data/lib/tdriver/loader.rb +1 -1
  31. data/lib/tdriver/report/report.rb +2 -0
  32. data/lib/tdriver/report/report_api.rb +4 -4
  33. data/lib/tdriver/report/report_creator.rb +29 -3
  34. data/lib/tdriver/report/report_data_presentation.rb +7 -3
  35. data/lib/tdriver/report/report_execution_statistics.rb +80 -21
  36. data/lib/tdriver/report/report_javascript.rb +192 -0
  37. data/lib/tdriver/report/report_test_case_run.rb +22 -0
  38. data/lib/tdriver/report/report_test_run.rb +62 -55
  39. data/lib/tdriver/report/report_writer.rb +57 -56
  40. data/lib/tdriver/tdriver.rb +14 -41
  41. data/lib/tdriver/util/common/error.rb +1 -0
  42. data/lib/tdriver/util/common/exceptions.rb +12 -0
  43. data/lib/tdriver/util/common/file.rb +12 -6
  44. data/lib/tdriver/util/common/gem.rb +2 -1
  45. data/lib/tdriver/util/common/hash.rb +152 -0
  46. data/lib/tdriver/util/common/kernel.rb +49 -34
  47. data/lib/tdriver/util/common/loader.rb +21 -17
  48. data/lib/tdriver/util/common/numeric.rb +39 -0
  49. data/lib/tdriver/util/common/object.rb +115 -0
  50. data/lib/tdriver/util/common/string.rb +55 -2
  51. data/lib/tdriver/util/dbaccess/dbaccess.rb +194 -161
  52. data/lib/tdriver/util/dynamic_attribute_filter.rb +6 -0
  53. data/lib/tdriver/util/hooking.rb +2 -2
  54. data/lib/tdriver/util/loader.rb +2 -2
  55. data/lib/tdriver/util/localisation/localisation.rb +277 -18
  56. data/lib/tdriver/util/logger.rb +142 -13
  57. data/lib/tdriver/util/parameter/parameter_hash.rb +8 -5
  58. data/lib/tdriver/util/parameter/parameter_xml.rb +18 -2
  59. data/lib/tdriver/util/recorder.rb +17 -12
  60. data/lib/tdriver/util/user_data/user_data.rb +3 -2
  61. data/lib/tdriver/util/{video_rec.rb → video_utils.rb} +136 -16
  62. data/lib/tdriver/util/xml/abstraction.rb +7 -0
  63. data/lib/tdriver/util/xml/attribute.rb +32 -0
  64. data/lib/tdriver/util/xml/loader.rb +8 -2
  65. data/lib/tdriver/util/xml/nil_node.rb +95 -0
  66. data/lib/tdriver/util/xml/parsers/nokogiri/abstraction.rb +46 -7
  67. data/lib/tdriver/util/xml/parsers/nokogiri/attribute.rb +19 -9
  68. data/lib/tdriver/util/xml/parsers/nokogiri/document.rb +1 -1
  69. data/lib/tdriver/util/xml/parsers/nokogiri/element.rb +13 -1
  70. data/lib/tdriver/util/xml/parsers/nokogiri/loader.rb +6 -0
  71. data/lib/tdriver/util/xml/parsers/nokogiri/nodeset.rb +27 -15
  72. data/lib/tdriver/util/xml/parsers/nokogiri/text.rb +57 -0
  73. data/lib/tdriver/util/xml/text.rb +32 -0
  74. data/lib/tdriver/util/xml/xml.rb +35 -22
  75. data/lib/tdriver/version.rb +1 -1
  76. data/lib/tdriver-devtools/behaviour/xml/rdoc_behaviour_xml_generator.rb +41 -34
  77. data/lib/tdriver-devtools/doc/generate.rb +31 -6
  78. data/lib/tdriver-devtools/doc/xslt/template.xsl +46 -25
  79. data/lib/tdriver-devtools/tests/feature_tests/example/behaviour_example.rb +100 -0
  80. data/lib/tdriver-devtools/tests/feature_tests/update +1 -1
  81. data/lib/tdriver.rb +0 -3
  82. data/xml/behaviours/generic.xml +1 -1
  83. data/xml/defaults/generic.xml +4 -90
  84. data/xml/templates/generic.xml +33 -25
  85. metadata +21 -29
  86. data/lib/tdriver-devtools/behaviour/xml_generator/example/flick-example.rb +0 -245
  87. data/lib/tdriver-devtools/behaviour/xml_generator/example/sut.rb +0 -964
  88. data/lib/tdriver-devtools/behaviour/xml_generator/generate.rb +0 -68
  89. data/lib/tdriver-devtools/behaviour/xml_generator/lib/custom_rdoc_generator.rb +0 -1865
  90. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.argument.default.template +0 -1
  91. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.argument.template +0 -3
  92. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.argument_type.template +0 -4
  93. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.exception.template +0 -4
  94. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.method.arguments.template +0 -4
  95. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.method.deprecated.template +0 -3
  96. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.method.exceptions.template +0 -3
  97. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.method.info.template +0 -1
  98. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.method.returns.template +0 -3
  99. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.method.tables.template +0 -3
  100. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.method.template +0 -12
  101. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.returns.template +0 -5
  102. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.table.item.template +0 -1
  103. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.table.row.template +0 -2
  104. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.table.template +0 -7
  105. data/lib/tdriver-devtools/behaviour/xml_generator/templates/behaviour.xml.template +0 -14
  106. data/lib/tdriver-devtools/behaviour/xml_generator/update +0 -3
  107. data/lib/tdriver-devtools/tests/feature_tests/example/flick-example.rb +0 -233
  108. data/lib/tdriver-devtools/tests/feature_tests/example/impl.rb +0 -194
@@ -370,6 +370,28 @@ module TDriverReportCreator
370
370
 
371
371
  end
372
372
 
373
+ def target_video_alive
374
+
375
+ ret = ""
376
+ each_video_device do | video_device, device_index |
377
+
378
+ check_fps = MobyUtil::Parameter[:report_activity_fps, '3']
379
+ check_frame_min = MobyUtil::Parameter[:report_activity_frame_treshold, '8']
380
+ check_video_min = MobyUtil::Parameter[:report_activity_video_treshold, '29']
381
+
382
+ ret_n = MobyUtil.video_alive? "cam_" + device_index + "_" + @tc_video_filename, check_fps.to_f, check_frame_min.to_f, check_video_min.to_f, false
383
+
384
+ if !ret_n
385
+ ret += ", " if !ret.empty?
386
+ ret += "cam_" + device_index + "_" + @tc_video_filename
387
+ end
388
+
389
+ end
390
+
391
+ return ret
392
+
393
+ end
394
+
373
395
  def stop_video_recording()
374
396
 
375
397
 
@@ -1,20 +1,20 @@
1
1
  ############################################################################
2
- ##
3
- ## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4
- ## All rights reserved.
5
- ## Contact: Nokia Corporation (testabilitydriver@nokia.com)
6
- ##
2
+ ##
3
+ ## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4
+ ## All rights reserved.
5
+ ## Contact: Nokia Corporation (testabilitydriver@nokia.com)
6
+ ##
7
7
  ## This file is part of TDriver.
8
- ##
9
- ## If you have questions regarding the use of this file, please contact
10
- ## Nokia at testabilitydriver@nokia.com .
11
- ##
12
- ## This library is free software; you can redistribute it and/or
13
- ## modify it under the terms of the GNU Lesser General Public
14
- ## License version 2.1 as published by the Free Software Foundation
15
- ## and appearing in the file LICENSE.LGPL included in the packaging
16
- ## of this file.
17
- ##
8
+ ##
9
+ ## If you have questions regarding the use of this file, please contact
10
+ ## Nokia at testabilitydriver@nokia.com .
11
+ ##
12
+ ## This library is free software; you can redistribute it and/or
13
+ ## modify it under the terms of the GNU Lesser General Public
14
+ ## License version 2.1 as published by the Free Software Foundation
15
+ ## and appearing in the file LICENSE.LGPL included in the packaging
16
+ ## of this file.
17
+ ##
18
18
  ############################################################################
19
19
 
20
20
 
@@ -86,7 +86,7 @@ module TDriverReportCreator
86
86
  @memory_amount_total='-'
87
87
  @total_dump_count=Hash.new
88
88
  @total_received_data=Hash.new
89
- @total_sent_data=Hash.new
89
+ @total_sent_data=Hash.new
90
90
  $result_storage_in_use=false
91
91
  @pages=MobyUtil::Parameter[ :report_results_per_page, 10]
92
92
  @duration_graph=MobyUtil::Parameter[ :report_generate_duration_graph, false]
@@ -129,7 +129,7 @@ module TDriverReportCreator
129
129
  # === raises
130
130
  # TypeError exception
131
131
  def set_user_data(value)
132
- if value==nil
132
+ if value==nil
133
133
  @test_case_user_data = Array.new
134
134
  @test_case_user_data_columns = Array.new
135
135
  else
@@ -146,13 +146,13 @@ module TDriverReportCreator
146
146
  #
147
147
  # === params
148
148
  # column_name: the column name in chronological table
149
- # value: the data
149
+ # value: the data
150
150
  # === returns
151
151
  # nil
152
152
  # === raises
153
153
  def set_user_table_data(column_name,value)
154
154
  if (!column_name.empty? && column_name!=nil)
155
- @test_case_user_chronological_table_data[column_name.to_s]=value.to_s
155
+ @test_case_user_chronological_table_data[column_name.to_s]=value.to_s
156
156
  end
157
157
  end
158
158
  #This method sets the test run behaviour log
@@ -325,7 +325,7 @@ module TDriverReportCreator
325
325
  def set_memory_amount_total(value)
326
326
  @memory_amount_total=value
327
327
  end
328
-
328
+
329
329
  #This method gets the not run cases name array
330
330
  #
331
331
  # === params
@@ -370,7 +370,7 @@ module TDriverReportCreator
370
370
  #@all_cases_arr
371
371
  read_result_storage('all')
372
372
  end
373
-
373
+
374
374
  #This method gets reporting groups
375
375
  #
376
376
  # === params
@@ -385,7 +385,7 @@ module TDriverReportCreator
385
385
  end
386
386
  @reporting_groups
387
387
  end
388
-
388
+
389
389
  #This method gets user created data
390
390
  #
391
391
  # === params
@@ -396,7 +396,7 @@ module TDriverReportCreator
396
396
  def get_user_data()
397
397
  return @test_case_user_data,@test_case_user_data_columns
398
398
  end
399
-
399
+
400
400
  #This method sets user data to display in chronological table
401
401
  #
402
402
  # === params
@@ -450,13 +450,13 @@ module TDriverReportCreator
450
450
  FileUtils.mkdir_p @report_folder+'/environment'
451
451
  FileUtils.mkdir_p @report_folder+'/cases'
452
452
  FileUtils.mkdir_p @report_folder+'/junit_xml'
453
-
453
+
454
454
  else
455
455
  if b_fixed_report_folder==true
456
456
  FileUtils::remove_entry_secure(@report_folder, :force => true)
457
457
  FileUtils.mkdir_p @report_folder+'/environment'
458
458
  FileUtils.mkdir_p @report_folder+'/cases'
459
- FileUtils.mkdir_p @report_folder+'/junit_xml'
459
+ FileUtils.mkdir_p @report_folder+'/junit_xml'
460
460
  end
461
461
  end
462
462
  write_style_sheet(@report_folder+'/tdriver_report_style.css')
@@ -500,7 +500,7 @@ module TDriverReportCreator
500
500
  write_page_end(@report_folder+'/index.html')
501
501
  end
502
502
  rescue Exception => e
503
- Kernel::raise e, "Unable to update summary page", caller
503
+ Kernel::raise e, "Unable to update summary page", e.backtrace
504
504
  end
505
505
  return nil
506
506
  end
@@ -729,7 +729,7 @@ module TDriverReportCreator
729
729
  # === raises
730
730
  def get_sut_total_dump_count(sut_id, sut_attributes)
731
731
 
732
- dump_count=sut_attributes[:sut].dump_count
732
+ dump_count=sut_attributes[:sut].dump_count
733
733
  @total_dump_count[sut_id.to_sym]=dump_count
734
734
  @total_dump_count
735
735
 
@@ -760,7 +760,15 @@ module TDriverReportCreator
760
760
  @total_sent_data[sut_id.to_sym]=data
761
761
  @total_sent_data
762
762
  end
763
-
763
+
764
+ def calculate_total_values_from_hash(values)
765
+ total=0
766
+ values.each_value do |val|
767
+ total+=val
768
+ end
769
+ total
770
+ end
771
+
764
772
  def write_to_result_storage(status,
765
773
  testcase,
766
774
  group,
@@ -774,15 +782,15 @@ module TDriverReportCreator
774
782
  log='',
775
783
  comment='',
776
784
  link='',
777
- total_dump=nil,
778
- total_sent=nil,
779
- total_received=nil )
785
+ total_dump=0,
786
+ total_sent=0,
787
+ total_received=0 )
780
788
  while $result_storage_in_use==true
781
789
  sleep 1
782
790
  end
783
791
  $result_storage_in_use=true
784
792
  begin
785
- storage_file=nil
793
+ storage_file=nil
786
794
  html_link=status+'_'+index.to_s+'_'+testcase+'/index.html' if link==''
787
795
  storage_file='all_cases.xml'
788
796
 
@@ -818,12 +826,12 @@ module TDriverReportCreator
818
826
  test_link = Nokogiri::XML::Node.new("link",test)
819
827
  test_link.content = html_link
820
828
  test_dump_count = Nokogiri::XML::Node.new("dump_count",test)
821
- test_dump_count.content = total_dump
829
+ test_dump_count.content = calculate_total_values_from_hash(total_dump)
822
830
  test_sent_bytes = Nokogiri::XML::Node.new("sent_bytes",test)
823
- test_sent_bytes.content = total_sent
831
+ test_sent_bytes.content = calculate_total_values_from_hash(total_sent)
824
832
  test_received_bytes = Nokogiri::XML::Node.new("received_bytes",test)
825
- test_received_bytes.content = total_received
826
-
833
+ test_received_bytes.content = calculate_total_values_from_hash(total_received)
834
+
827
835
  test << test_name
828
836
  test << test_group
829
837
  test << test_reboots
@@ -839,10 +847,10 @@ module TDriverReportCreator
839
847
  test << test_dump_count
840
848
  test << test_sent_bytes
841
849
  test << test_received_bytes
842
-
850
+
843
851
  if user_data!=nil && !user_data.empty?
844
852
  test_data = Nokogiri::XML::Node.new("user_display_data",test)
845
- user_data.each { |key,value|
853
+ user_data.each { |key,value|
846
854
  data_value=Nokogiri::XML::Node.new("data",test_data)
847
855
  data_value.content = value.to_s
848
856
  data_value.set_attribute("id",key.to_s)
@@ -878,13 +886,13 @@ module TDriverReportCreator
878
886
  xml.log log
879
887
  xml.comment comment
880
888
  xml.link html_link
881
- xml.dump_count total_dump
882
- xml.sent_bytes total_sent
883
- xml.received_bytes total_received
889
+ xml.dump_count calculate_total_values_from_hash(total_dump)
890
+ xml.sent_bytes calculate_total_values_from_hash(total_sent)
891
+ xml.received_bytes calculate_total_values_from_hash(total_received)
884
892
  if user_data!=nil && !user_data.empty?
885
893
  xml.user_display_data {
886
894
  (0..counter).each { |i|
887
- xml.data("id"=>user_data_keys.at(i).to_s){
895
+ xml.data("id"=>user_data_keys.at(i).to_s){
888
896
  xml.text user_data_values.at(i).to_s{
889
897
  }
890
898
  }
@@ -903,7 +911,7 @@ module TDriverReportCreator
903
911
  $stderr.puts "caught exception when writing results: #{e}"
904
912
  end
905
913
  end
906
-
914
+
907
915
  def read_result_storage(results)
908
916
  while $result_storage_in_use==true
909
917
  sleep 1
@@ -925,7 +933,7 @@ module TDriverReportCreator
925
933
  reboots=node.search("reboots").text #2
926
934
  crashes=node.search("crashes").text #3
927
935
  start_time=node.search("start_time").text #4
928
- duration=node.search("duration").text #5
936
+ duration="%0.2f" % node.search("duration").text #5
929
937
  memory_usage=node.search("memory_usage").text #6
930
938
  status=node.search("status").text #7
931
939
  index=node.search("index").text #8
@@ -935,14 +943,13 @@ module TDriverReportCreator
935
943
  dump_count=node.search("dump_count").text #12
936
944
  sent_bytes=node.search("sent_bytes").text #13
937
945
  received_bytes=node.search("received_bytes").text #14
938
-
939
946
  user_data = Hash.new
940
947
  node.xpath("user_display_data/data").each do |data_node|
941
- value_name = data_node.get_attribute("id")
948
+ value_name = data_node.get_attribute("id")
942
949
  val = data_node.text
943
950
  user_data[value_name] = val
944
951
  end
945
-
952
+
946
953
  case results
947
954
  when 'passed'
948
955
  if @pass_statuses.include?(status)
@@ -1167,11 +1174,11 @@ module TDriverReportCreator
1167
1174
  def update_test_case_summary_pages(status,rewrite=false)
1168
1175
 
1169
1176
  @all_cases_arr=Array.new
1170
- begin
1177
+ begin
1171
1178
  case status
1172
1179
  when 'passed'
1173
1180
  update_test_case_summary_page(status,rewrite,'Passed')
1174
-
1181
+
1175
1182
  when 'failed'
1176
1183
  update_test_case_summary_page(status,rewrite,'Failed')
1177
1184
 
@@ -1216,7 +1223,7 @@ module TDriverReportCreator
1216
1223
  end
1217
1224
 
1218
1225
  def update_test_case_summary_pages_for_crashes_and_reboots(rewrite=false)
1219
-
1226
+
1220
1227
  begin
1221
1228
  update_test_case_summary_page('crash',rewrite,'Crash')
1222
1229
  update_test_case_summary_page('reboot',rewrite,'Reboot')
@@ -1225,13 +1232,13 @@ module TDriverReportCreator
1225
1232
  end
1226
1233
  return nil
1227
1234
  end
1228
-
1235
+
1229
1236
  def create_csv
1230
1237
  storage_file='all_cases.xml'
1231
1238
  csv_file = 'all_cases.csv'
1232
1239
  csv_array = Array.new
1233
1240
  not_added=false
1234
-
1241
+
1235
1242
  file=@report_folder+'/'+storage_file
1236
1243
  csv = nil
1237
1244
  begin
@@ -1241,10 +1248,10 @@ module TDriverReportCreator
1241
1248
  xml_data = Nokogiri::XML(io){ |config| config.options = Nokogiri::XML::ParseOptions::STRICT }
1242
1249
  io.close
1243
1250
  xml_data.root.xpath("//tests/test").each do |node|
1244
-
1251
+
1245
1252
  line=Array.new
1246
1253
  first_line=Array.new
1247
-
1254
+
1248
1255
  value=node.search("name").text
1249
1256
  first_line<<"name" if !not_added
1250
1257
  line<<value
@@ -1281,6 +1288,6 @@ module TDriverReportCreator
1281
1288
  puts e.to_s
1282
1289
  end
1283
1290
  end
1284
-
1291
+
1285
1292
  end
1286
1293
  end
@@ -17,8 +17,10 @@
17
17
  ##
18
18
  ############################################################################
19
19
 
20
+ include TDriverReportJavascript
20
21
 
21
22
  module TDriverReportWriter
23
+
22
24
  def write_style_sheet(page)
23
25
  css='body
24
26
  {
@@ -29,7 +31,7 @@ module TDriverReportWriter
29
31
  .navigation_section
30
32
  {
31
33
  background-color:#0191C8;
32
- width:800px;
34
+ width:1024px;
33
35
  height:40px;
34
36
  margin-left : auto;
35
37
  margin-right: auto;
@@ -46,7 +48,7 @@ module TDriverReportWriter
46
48
  .page_navigation_section
47
49
  {
48
50
  background-color:#0191C8;
49
- width:800px;
51
+ width:1024px;
50
52
  height:40px;
51
53
  margin-left : auto;
52
54
  margin-right: auto;
@@ -65,7 +67,7 @@ module TDriverReportWriter
65
67
  .summary
66
68
  {
67
69
  background-color:White;
68
- width:800px;
70
+ width:1024px;
69
71
  height:100%;
70
72
  margin-left : auto;
71
73
  margin-right: auto;
@@ -80,7 +82,7 @@ module TDriverReportWriter
80
82
  .summary_total_run
81
83
  {
82
84
  background-color:White;
83
- width:800px;
85
+ width:1024px;
84
86
  height:100%;
85
87
  margin-left : auto;
86
88
  margin-right: auto;
@@ -95,7 +97,7 @@ module TDriverReportWriter
95
97
  .summary_passed
96
98
  {
97
99
  background-color:White;
98
- width:800px;
100
+ width:1024px;
99
101
  height:100%;
100
102
  margin-left : auto;
101
103
  margin-right: auto;
@@ -110,7 +112,7 @@ module TDriverReportWriter
110
112
  .summary_crash
111
113
  {
112
114
  background-color:White;
113
- width:800px;
115
+ width:1024px;
114
116
  height:100%;
115
117
  margin-left : auto;
116
118
  margin-right: auto;
@@ -125,7 +127,7 @@ module TDriverReportWriter
125
127
  .summary_reboot
126
128
  {
127
129
  background-color:White;
128
- width:800px;
130
+ width:1024px;
129
131
  height:100%;
130
132
  margin-left : auto;
131
133
  margin-right: auto;
@@ -140,7 +142,7 @@ module TDriverReportWriter
140
142
  .statistics
141
143
  {
142
144
  background-color:White;
143
- width:800px;
145
+ width:1024px;
144
146
  height:100%;
145
147
  margin-left : auto;
146
148
  margin-right: auto;
@@ -155,7 +157,7 @@ module TDriverReportWriter
155
157
  .summary_failed
156
158
  {
157
159
  background-color:White;
158
- width:800px;
160
+ width:1024px;
159
161
  height:100%;
160
162
  margin-left : auto;
161
163
  margin-right: auto;
@@ -170,7 +172,7 @@ module TDriverReportWriter
170
172
  .summary_not_run
171
173
  {
172
174
  background-color:White;
173
- width:800px;
175
+ width:1024px;
174
176
  height:100%;
175
177
  margin-left : auto;
176
178
  margin-right: auto;
@@ -185,7 +187,7 @@ module TDriverReportWriter
185
187
  .test_passed
186
188
  {
187
189
  background-color:White;
188
- width:800px;
190
+ width:1024px;
189
191
  height:100%;
190
192
  margin-left : auto;
191
193
  margin-right: auto;
@@ -200,7 +202,7 @@ module TDriverReportWriter
200
202
  .test_failed
201
203
  {
202
204
  background-color:White;
203
- width:800px;
205
+ width:1024px;
204
206
  height:100%;
205
207
  margin-left : auto;
206
208
  margin-right: auto;
@@ -215,7 +217,7 @@ module TDriverReportWriter
215
217
  .test_not_run
216
218
  {
217
219
  background-color:White;
218
- width:800px;
220
+ width:1024px;
219
221
  height:100%;
220
222
  margin-left : auto;
221
223
  margin-right: auto;
@@ -230,7 +232,7 @@ module TDriverReportWriter
230
232
  .environment
231
233
  {
232
234
  background-color:White;
233
- width:800px;
235
+ width:1024px;
234
236
  height:100%;
235
237
  margin-left : auto;
236
238
  margin-right: auto;
@@ -245,7 +247,7 @@ module TDriverReportWriter
245
247
  .page_title
246
248
  {
247
249
  background-color:#0191C8;
248
- width:800px;
250
+ width:1024px;
249
251
  min-height:100%;
250
252
  margin-left : auto;
251
253
  margin-right: auto;
@@ -318,7 +320,7 @@ a:hover { color:White; background-color:#005B9A;}
318
320
  }
319
321
 
320
322
  #statistics_table
321
- {
323
+ {
322
324
  font-size: 12px;
323
325
  text-align: left;
324
326
  border-collapse: collapse;
@@ -328,12 +330,12 @@ a:hover { color:White; background-color:#005B9A;}
328
330
  font-size: 13px;
329
331
  font-weight: normal;
330
332
  padding: 8px;
331
- background: #b9c9fe;
333
+ background: #b9c9fe;
332
334
  color: #039;
333
335
  }
334
336
  #statistics_table td
335
337
  {
336
- padding: 8px;
338
+ padding: 8px;
337
339
  border-bottom: 1px solid Black;
338
340
  color: #669;
339
341
  border-top: 1px solid transparent;
@@ -437,8 +439,14 @@ display: none;
437
439
  css=nil
438
440
  end
439
441
  def format_duration(seconds)
440
- m, s = seconds.divmod(60)
441
- "#{m}m#{'%.3f' % s}s"
442
+ if Gem.available?('chronic_duration')
443
+ require 'chronic_duration'
444
+ duration_str=ChronicDuration.output(seconds)
445
+ else
446
+ m, s = seconds.divmod(60)
447
+ duration_str="#{m}m#{'%.3f' % s}s"
448
+ end
449
+ duration_str
442
450
  end
443
451
  def behaviour_log_summary(log,log_format='string')
444
452
  begin
@@ -578,7 +586,7 @@ display: none;
578
586
  when "TDriver test results"
579
587
  stylesheet='<link rel="stylesheet" title="TDriverReportStyle" href="tdriver_report_style.css"/>'
580
588
  when "TDriver test environment","Total run","Statistics","Passed","Failed","Not run","Crash","Reboot","TDriver log"
581
- stylesheet='<link rel="stylesheet" title="TDriverReportStyle" href="../tdriver_report_style.css"/>'
589
+ stylesheet='<link rel="stylesheet" title="TDriverReportStyle" href="../tdriver_report_style.css"/>'
582
590
  else
583
591
  stylesheet='<link rel="stylesheet" title="TDriverReportStyle" href="../../tdriver_report_style.css"/>'
584
592
  end
@@ -586,7 +594,7 @@ display: none;
586
594
  '<html xmlns="http://www.w3.org/1999/xhtml">'<<
587
595
  '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"><META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">'<<
588
596
  stylesheet<<
589
- get_java_script()<<
597
+ get_expand_collapse_java_script()<<
590
598
  '<title>'+title+'</title>'<<
591
599
  '</head><body>'
592
600
  File.open(page, 'w') do |f2|
@@ -816,15 +824,15 @@ display: none;
816
824
  html_body='</dd>'<<
817
825
  '</dl>'
818
826
  html_body
819
- end
827
+ end
820
828
  def write_duration_graph(page, folder, graph_file_name, tc_arr)
821
-
829
+
822
830
  tdriver_group=ReportingStatistics.new(tc_arr)
823
831
  tdriver_group.generate_duration_graph(folder + '/cases/' + graph_file_name)
824
-
832
+
825
833
  html_body=Array.new
826
834
  html_body << '<div>'
827
- html_body << '<H1 ALIGN=center><img border="0" src="./'+graph_file_name+'"/></H1>'
835
+ html_body << '<H1 ALIGN=center><img border="0" src="./'+graph_file_name+'"/></H1>'
828
836
  html_body << '</div>'
829
837
  File.open(page, 'a') do |f2|
830
838
  f2.puts html_body
@@ -965,8 +973,15 @@ display: none;
965
973
  fail_rate=0
966
974
  pass_rate=0
967
975
  if total_run.to_i > 0
968
- fail_rate=(total_failed.to_f/total_run.to_f)*100
969
- pass_rate=(total_passed.to_f/total_run.to_f)*100
976
+ begin
977
+ fail_rate=(total_failed.to_f/(total_run.to_f-total_not_run.to_f))*100
978
+ pass_rate=(total_passed.to_f/(total_run.to_f-total_not_run.to_f))*100
979
+ fail_rate="%0.2f" % fail_rate
980
+ pass_rate="%0.2f" % pass_rate
981
+ rescue
982
+ fail_rate="0"
983
+ pass_rate="0"
984
+ end
970
985
  end
971
986
 
972
987
  html_body='<div class="page_title"><center><h1>TDriver test results</h1></center></div>'<<
@@ -1031,18 +1046,18 @@ display: none;
1031
1046
  end
1032
1047
  html_body << '<tr>'<<
1033
1048
  '<td><b>Pass %</b></td>'<<
1034
- '<td>'+pass_rate.to_f.to_s+'%</td>'<<
1049
+ '<td>'+pass_rate.to_s+'%</td>'<<
1035
1050
  '</tr>'<<
1036
1051
  '<tr>'<<
1037
1052
  '<td><b>Fail %</b></td>'<<
1038
- '<td>'+fail_rate.to_f.to_s+'%</td>'<<
1053
+ '<td>'+fail_rate.to_s+'%</td>'<<
1039
1054
  '</tr>'<<
1040
1055
  '</table></div><p />'
1041
1056
  if summary_arr
1042
1057
  html_body << '<div class="statistics">'
1043
- tdriver_group=ReportingStatistics.new(summary_arr,true)
1044
- html_result=tdriver_group.generate_statistics_table()
1045
- html_body << html_result << '</div>'
1058
+ tdriver_group=ReportingStatistics.new(summary_arr,true)
1059
+ html_result=tdriver_group.generate_statistics_table()
1060
+ html_body << html_result << '</div>'
1046
1061
  end
1047
1062
 
1048
1063
  File.open(page, 'a') do |f2|
@@ -1280,10 +1295,10 @@ display: none;
1280
1295
 
1281
1296
  def write_page_navigation_div(page,report_page,report_pages)
1282
1297
  page_with_no_number=page.gsub("#{report_page}_","")
1283
- page_base_name=File.basename(page_with_no_number)
1298
+ page_base_name=File.basename(page_with_no_number)
1284
1299
  div_body=Array.new
1285
1300
  div_body<<"<div class=\"page_navigation_section\"><center>"<<
1286
- "<ul id=\"navigation\">"
1301
+ "<ul id=\"navigation\">"
1287
1302
  max=10
1288
1303
  start_page=report_page/max
1289
1304
  if start_page==0
@@ -1319,8 +1334,8 @@ display: none;
1319
1334
 
1320
1335
  def write_page_end(page,report_page=nil,report_pages=nil)
1321
1336
  page_ready=nil
1322
- if report_page!=nil
1323
- navigation_div="#{write_page_navigation_div(page,report_page,report_pages)}"
1337
+ if report_page!=nil
1338
+ navigation_div="#{write_page_navigation_div(page,report_page,report_pages)}"
1324
1339
  html_end="#{navigation_div}</body></html>"
1325
1340
  doc = Nokogiri::HTML(open(page))
1326
1341
  b_div_found=false
@@ -1328,10 +1343,10 @@ display: none;
1328
1343
  if div.text.include?('Next')
1329
1344
  page_ready=report_page
1330
1345
  end
1331
- b_div_found=true
1346
+ b_div_found=true
1332
1347
  div.replace(Nokogiri.make(navigation_div))
1333
- end
1334
- if b_div_found==false
1348
+ end
1349
+ if b_div_found==false
1335
1350
  File.open(page, 'a') do |f|
1336
1351
  f.puts html_end
1337
1352
  end
@@ -1345,26 +1360,12 @@ display: none;
1345
1360
  File.open(page, 'a') do |f|
1346
1361
  f.puts html_end
1347
1362
  end
1348
- end
1363
+ end
1349
1364
  html_end=nil
1350
1365
  page_ready
1351
1366
  end
1352
1367
  def get_java_script()
1353
- java_script='<script type="text/javascript">'<<
1354
- '/* Only set closed if JS-enabled */'<<
1355
- "document.getElementsByTagName('html')[0].className = 'isJS';"<<
1356
- 'function tog(dt)'<<
1357
- '{'<<
1358
- 'var display, dd=dt;'<<
1359
- '/* get dd */'<<
1360
- "do{ dd = dd.nextSibling } while(dd.tagName!='DD');"<<
1361
- 'toOpen =!dd.style.display;'<<
1362
- "dd.style.display = toOpen? 'block':'';"<<
1363
- "dt.getElementsByTagName('span')[0].innerHTML"<<
1364
- "= toOpen? '<input id=\"Button1\" type=\"button\" value=\"Close\" class=\"btn\" style=\"background-color: #FFFFFF\" />':'<input id=\"Button1\" type=\"button\" value=\"Open\" class=\"btn\" />' ;"<<
1365
- '}'<<
1366
- '</script>'
1367
- java_script
1368
+ get_expand_collapse_java_script()
1368
1369
  end
1369
1370
  def format_user_log_table(user_data_rows,user_data_columns)
1370
1371
  begin