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.
- data/config/sut_parameters.rb +21 -8
- data/config/tdriver_custom_error_recovery.rb +83 -0
- data/ext/extconf.rb +3 -2
- data/ext/native_extensions.c +60 -2
- data/lib/tdriver-devtools/behaviour/old/xml/example/flick-example.rb +2 -105
- data/lib/tdriver/base/behaviour/factory.rb +154 -89
- data/lib/tdriver/base/behaviour/factory_new.rb +409 -0
- data/lib/tdriver/base/errors.rb +3 -3
- data/lib/tdriver/base/state_object.rb +85 -22
- data/lib/tdriver/base/sut/adapter.rb +26 -0
- data/lib/tdriver/base/sut/controller.rb +1 -1
- data/lib/tdriver/base/sut/generic/behaviours/application.rb +89 -118
- data/lib/tdriver/base/sut/generic/behaviours/find.rb +67 -62
- data/lib/tdriver/base/sut/generic/behaviours/sut.rb +296 -187
- data/lib/tdriver/base/sut/generic/behaviours/switchbox_behaviour.rb +7 -7
- data/lib/tdriver/base/sut/generic/commands/application.rb +366 -295
- data/lib/tdriver/base/sut/sut.rb +19 -3
- data/lib/tdriver/base/test_object/abstract.rb +41 -21
- data/lib/tdriver/base/test_object/adapter.rb +62 -9
- data/lib/tdriver/base/test_object/behaviours/syncronization.rb +10 -6
- data/lib/tdriver/base/test_object/behaviours/test_object.rb +84 -47
- data/lib/tdriver/base/test_object/factory.rb +124 -68
- data/lib/tdriver/base/test_object/loader.rb +3 -4
- data/lib/tdriver/base/test_object/verification.rb +3 -3
- data/lib/tdriver/base/test_object/xml/adapter.rb +734 -0
- data/lib/tdriver/loader.rb +12 -0
- data/lib/tdriver/report/error_recovery/tdriver_error_recovery.rb +3 -2
- data/lib/tdriver/report/error_recovery/tdriver_error_recovery_settings.rb +14 -14
- data/lib/tdriver/report/report.rb +4 -8
- data/lib/tdriver/report/report_api.rb +9 -0
- data/lib/tdriver/report/report_crash_file_capture.rb +4 -4
- data/lib/tdriver/report/report_creator.rb +57 -35
- data/lib/tdriver/report/report_cucumber.rb +1 -1
- data/lib/tdriver/report/report_cucumber_listener.rb +5 -158
- data/lib/tdriver/report/report_cucumber_reporter.rb +7 -161
- data/lib/tdriver/report/report_execution_statistics.rb +4 -4
- data/lib/tdriver/report/report_file_capture.rb +5 -5
- data/lib/tdriver/report/report_grouping.rb +24 -22
- data/lib/tdriver/report/report_junit_xml.rb +5 -5
- data/lib/tdriver/report/report_test_case_run.rb +31 -22
- data/lib/tdriver/report/report_test_run.rb +107 -104
- data/lib/tdriver/report/report_writer.rb +150 -83
- data/lib/tdriver/tdriver.rb +147 -103
- data/lib/tdriver/util/common/boolean.rb +51 -0
- data/lib/tdriver/util/common/crc16.rb +110 -68
- data/lib/tdriver/util/common/hash.rb +63 -7
- data/lib/tdriver/util/common/kernel.rb +46 -1
- data/lib/tdriver/util/common/loader.rb +1 -0
- data/lib/tdriver/util/common/object.rb +20 -8
- data/lib/tdriver/util/common/string.rb +21 -2
- data/lib/tdriver/util/logger/logger.rb +4 -4
- data/lib/tdriver/util/parameter/loader.rb +2 -19
- data/lib/tdriver/util/parameter/parameter.rb +874 -177
- data/lib/tdriver/util/plugin/service.rb +1 -1
- data/lib/tdriver/util/recorder/recorder.rb +7 -1
- data/lib/tdriver/util/xml/abstraction.rb +13 -1
- data/lib/tdriver/util/xml/parsers/nokogiri/abstraction.rb +63 -10
- data/lib/tdriver/util/xml/parsers/nokogiri/attribute.rb +8 -2
- data/lib/tdriver/util/xml/parsers/nokogiri/document.rb +16 -3
- data/lib/tdriver/util/xml/parsers/nokogiri/node.rb +36 -32
- data/lib/tdriver/util/xml/parsers/nokogiri/nodeset.rb +19 -22
- data/lib/tdriver/util/xml/xml.rb +147 -32
- data/lib/tdriver/verify/verify.rb +1112 -289
- data/lib/tdriver/version.rb +1 -1
- data/xml/templates/generic.xml +14 -2
- metadata +51 -24
- data/lib/tdriver/util/parameter/parameter_hash.rb +0 -104
- data/lib/tdriver/util/parameter/parameter_new.rb +0 -869
- data/lib/tdriver/util/parameter/parameter_template.rb +0 -120
- data/lib/tdriver/util/parameter/parameter_user_api.rb +0 -116
- data/lib/tdriver/util/parameter/parameter_xml.rb +0 -261
@@ -57,7 +57,10 @@ module TDriverReportCreator
|
|
57
57
|
:pass_statuses,
|
58
58
|
:fail_statuses,
|
59
59
|
:not_run_statuses,
|
60
|
-
:report_editable
|
60
|
+
:report_editable,
|
61
|
+
:test_fails,
|
62
|
+
:report_exclude_passed_cases
|
63
|
+
|
61
64
|
)
|
62
65
|
#class variables for summary report
|
63
66
|
def initialize()
|
@@ -88,14 +91,39 @@ module TDriverReportCreator
|
|
88
91
|
@total_received_data=Hash.new
|
89
92
|
@total_sent_data=Hash.new
|
90
93
|
$result_storage_in_use=false
|
91
|
-
@pages
|
92
|
-
@duration_graph
|
93
|
-
@pass_statuses
|
94
|
-
@fail_statuses
|
95
|
-
@not_run_statuses
|
96
|
-
@report_editable
|
97
|
-
@report_short_folders
|
94
|
+
@pages=$parameters[ :report_results_per_page, 50]
|
95
|
+
@duration_graph=$parameters[ :report_generate_duration_graph, false]
|
96
|
+
@pass_statuses=$parameters[ :report_passed_statuses, "passed" ].split('|')
|
97
|
+
@fail_statuses=$parameters[ :report_failed_statuses, "failed" ].split('|')
|
98
|
+
@not_run_statuses=$parameters[ :report_not_run_statuses, "not run" ].split('|')
|
99
|
+
@report_editable=$parameters[ :report_editable, "false" ]
|
100
|
+
@report_short_folders=$parameters[ :report_short_folders, 'false']
|
101
|
+
@report_exclude_passed_cases=$parameters[ :report_exclude_passed_cases, 'false' ]
|
102
|
+
@test_fails=Hash.new(0) # return 0 by default if key not found
|
103
|
+
|
104
|
+
|
105
|
+
end
|
106
|
+
|
107
|
+
def get_sequential_fails
|
108
|
+
test_identifier = $new_test_case.test_case_group + "::" + $new_test_case.test_case_name
|
109
|
+
return @test_fails[ test_identifier ] # return 0 by default if key not found
|
110
|
+
end
|
111
|
+
|
112
|
+
def update_sequential_fails( status )
|
113
|
+
|
114
|
+
test_identifier = $new_test_case.test_case_group + "::" + $new_test_case.test_case_name
|
115
|
+
|
116
|
+
if @pass_statuses.include?(status)
|
117
|
+
@test_fails[ test_identifier ] = 0 unless @test_fails[ test_identifier ] == 0
|
118
|
+
elsif @fail_statuses.include?(status)
|
119
|
+
tempnum = @test_fails[ test_identifier ]
|
120
|
+
tempnum = tempnum + 1
|
121
|
+
@test_fails[ test_identifier ] = tempnum
|
122
|
+
end
|
123
|
+
|
124
|
+
|
98
125
|
end
|
126
|
+
|
99
127
|
#This method sets the test case user defined status
|
100
128
|
#
|
101
129
|
# === params
|
@@ -380,7 +408,7 @@ module TDriverReportCreator
|
|
380
408
|
# nil
|
381
409
|
# === raises
|
382
410
|
def get_reporting_groups()
|
383
|
-
@reporting_groups
|
411
|
+
@reporting_groups=$parameters[ :report_groups, nil ]
|
384
412
|
if @reporting_groups==nil
|
385
413
|
@reporting_groups=@generic_reporting_groups
|
386
414
|
end
|
@@ -437,9 +465,9 @@ module TDriverReportCreator
|
|
437
465
|
t = Time.now
|
438
466
|
b_fixed_report_folder=false
|
439
467
|
@start_time=t
|
440
|
-
@reporter_base_folder =
|
441
|
-
if
|
442
|
-
@report_folder=@reporter_base_folder
|
468
|
+
@reporter_base_folder = $parameters[ :report_outputter_path, 'tdriver_reports/' ]
|
469
|
+
if $parameters[ :report_outputter_folder, nil ] != nil
|
470
|
+
@report_folder=@reporter_base_folder+$parameters[ :report_outputter_folder, nil ]
|
443
471
|
b_fixed_report_folder=true
|
444
472
|
else
|
445
473
|
@report_folder=@reporter_base_folder+"test_run_"+t.strftime( "%Y%m%d%H%M%S" )
|
@@ -451,7 +479,6 @@ module TDriverReportCreator
|
|
451
479
|
FileUtils.mkdir_p @report_folder+'/environment'
|
452
480
|
FileUtils.mkdir_p @report_folder+'/cases'
|
453
481
|
FileUtils.mkdir_p @report_folder+'/junit_xml'
|
454
|
-
|
455
482
|
else
|
456
483
|
if b_fixed_report_folder==true
|
457
484
|
FileUtils::remove_entry_secure(@report_folder, :force => true)
|
@@ -473,6 +500,18 @@ module TDriverReportCreator
|
|
473
500
|
#write_page_end(@report_folder+'/cases/tdriver_log_index.html')
|
474
501
|
write_page_start(@report_folder+'/cases/statistics_index.html','Statistics')
|
475
502
|
write_page_end(@report_folder+'/cases/statistics_index.html')
|
503
|
+
if $parameters[ :report_generate_rdoc, 'false' ]=='true'
|
504
|
+
if $parameters[ :ats4_error_recovery_enabled, 'false' ]=='true'
|
505
|
+
ats4_drop_folder_arr=@report_folder.split('ats4-results')
|
506
|
+
system("rdoc --include #{ats4_drop_folder_arr[0]}/* --exclude test_run --op #{@report_folder}/doc")
|
507
|
+
puts "RDoc generated from test folder: #{ats4_drop_folder_arr[0]}/*"
|
508
|
+
else
|
509
|
+
system("rdoc --exclude test_run --op #{@report_folder}/doc")
|
510
|
+
puts "RDoc generated from test folder: #{Dir.pwd}"
|
511
|
+
end
|
512
|
+
|
513
|
+
|
514
|
+
end
|
476
515
|
rescue Exception => e
|
477
516
|
Kernel::raise e, "Unable to create report folder: #{@report_folder}", caller
|
478
517
|
end
|
@@ -542,7 +581,7 @@ module TDriverReportCreator
|
|
542
581
|
language='-'
|
543
582
|
loc='-'
|
544
583
|
#Copy behaviour and parameter xml files in to the report folder
|
545
|
-
if /win/ =~ MobyUtil::EnvironmentHelper.ruby_platform
|
584
|
+
if /win/ =~ MobyUtil::EnvironmentHelper.ruby_platform || /mingw32/ =~ MobyUtil::EnvironmentHelper.ruby_platform
|
546
585
|
FileUtils.cp_r 'C:/tdriver/behaviours', @report_folder+'/environment' if File.directory?('C:/tdriver/behaviours')
|
547
586
|
FileUtils.cp_r 'C:/tdriver/templates', @report_folder+'/environment' if File.directory?('C:/tdriver/templates')
|
548
587
|
FileUtils.cp_r 'C:/tdriver/defaults', @report_folder+'/environment' if File.directory?('C:/tdriver/defaults')
|
@@ -553,7 +592,7 @@ module TDriverReportCreator
|
|
553
592
|
FileUtils.cp_r '/etc/tdriver/defaults', @report_folder+'/environment' if File.directory?('/etc/tdriver/defaults')
|
554
593
|
FileUtils.copy('/etc/tdriver/tdriver_parameters.xml',@report_folder+'/environment/tdriver_parameters.xml') if File.file?('/etc/tdriver/tdriver_parameters.xml')
|
555
594
|
end
|
556
|
-
if
|
595
|
+
if $parameters[ :report_monitor_memory, 'false']=='true'
|
557
596
|
MobyBase::SUTFactory.instance.connected_suts.each do |sut_id, sut_attributes|
|
558
597
|
if sut_attributes[:is_connected]
|
559
598
|
@memory_amount_start=get_sut_used_memory(sut_id, sut_attributes) if @memory_amount_start==nil || @memory_amount_start=='-'
|
@@ -565,7 +604,7 @@ module TDriverReportCreator
|
|
565
604
|
end
|
566
605
|
end
|
567
606
|
end
|
568
|
-
if
|
607
|
+
if $parameters[ :report_collect_environment_data_from_sut, 'true']=='true'
|
569
608
|
MobyBase::SUTFactory.instance.connected_suts.each do |sut_id, sut_attributes|
|
570
609
|
begin
|
571
610
|
if sut_attributes[:is_connected]
|
@@ -574,9 +613,9 @@ module TDriverReportCreator
|
|
574
613
|
@memory_amount_start=get_sut_used_memory(sut_id, sut_attributes) if @memory_amount_start==nil || @memory_amount_start=='-'
|
575
614
|
@memory_amount_end=get_sut_used_memory(sut_id, sut_attributes)
|
576
615
|
@memory_amount_total=get_sut_total_memory(sut_id, sut_attributes)
|
577
|
-
product
|
578
|
-
language
|
579
|
-
loc
|
616
|
+
product=$parameters[sut_id][:product]
|
617
|
+
language=$parameters[sut_id][:language]
|
618
|
+
loc=$parameters[sut_id][:localisation_server_database_tablename]
|
580
619
|
end
|
581
620
|
@memory_amount_start='-' if @memory_amount_start==nil
|
582
621
|
@memory_amount_end='-' if @memory_amount_end==nil
|
@@ -629,10 +668,10 @@ module TDriverReportCreator
|
|
629
668
|
MobyUtil::Logger.instance.enabled=false
|
630
669
|
lang_version='-'
|
631
670
|
begin
|
632
|
-
if
|
671
|
+
if $parameters[sut_id][:type]=='S60' || $parameters[sut_id][:type]=='Symbian'
|
633
672
|
lang_version=sut_attributes[:sut].sysinfo( :Lang_version )
|
634
673
|
end
|
635
|
-
if
|
674
|
+
if $parameters[sut_id][:type]=='QT'
|
636
675
|
if /win/ =~ MobyUtil::EnvironmentHelper.ruby_platform
|
637
676
|
lang_version=0
|
638
677
|
else
|
@@ -641,7 +680,7 @@ module TDriverReportCreator
|
|
641
680
|
end
|
642
681
|
rescue
|
643
682
|
ensure
|
644
|
-
if
|
683
|
+
if $parameters[ :logging_level, 0 ].to_i > 0
|
645
684
|
MobyUtil::Logger.instance.enabled=true
|
646
685
|
else
|
647
686
|
MobyUtil::Logger.instance.enabled=false
|
@@ -660,10 +699,10 @@ module TDriverReportCreator
|
|
660
699
|
MobyUtil::Logger.instance.enabled=false
|
661
700
|
sw_version='-'
|
662
701
|
begin
|
663
|
-
if
|
702
|
+
if $parameters[sut_id][:type]=='S60' || $parameters[sut_id][:type]=='Symbian'
|
664
703
|
sw_version=sut_attributes[:sut].sysinfo( :Sw_version )
|
665
704
|
end
|
666
|
-
if
|
705
|
+
if $parameters[sut_id][:type]=='QT'
|
667
706
|
if /win/ =~ MobyUtil::EnvironmentHelper.ruby_platform
|
668
707
|
sw_version=0
|
669
708
|
else
|
@@ -672,7 +711,7 @@ module TDriverReportCreator
|
|
672
711
|
end
|
673
712
|
rescue
|
674
713
|
ensure
|
675
|
-
if
|
714
|
+
if $parameters[ :logging_level, 0 ].to_i > 0
|
676
715
|
MobyUtil::Logger.instance.enabled=true
|
677
716
|
else
|
678
717
|
MobyUtil::Logger.instance.enabled=false
|
@@ -691,10 +730,10 @@ module TDriverReportCreator
|
|
691
730
|
MobyUtil::Logger.instance.enabled=false
|
692
731
|
memory=0
|
693
732
|
begin
|
694
|
-
if
|
733
|
+
if $parameters[sut_id][:type]=='S60' || $parameters[sut_id][:type]=='Symbian'
|
695
734
|
memory=sut_attributes[:sut].sysinfo( :Get_used_ram )
|
696
735
|
end
|
697
|
-
if
|
736
|
+
if $parameters[sut_id][:type]=='QT'
|
698
737
|
if /win/ =~ MobyUtil::EnvironmentHelper.ruby_platform
|
699
738
|
memory=0
|
700
739
|
else
|
@@ -703,7 +742,7 @@ module TDriverReportCreator
|
|
703
742
|
end
|
704
743
|
rescue
|
705
744
|
ensure
|
706
|
-
if
|
745
|
+
if $parameters[ :logging_level, 0 ].to_i > 0
|
707
746
|
MobyUtil::Logger.instance.enabled=true
|
708
747
|
else
|
709
748
|
MobyUtil::Logger.instance.enabled=false
|
@@ -723,10 +762,10 @@ module TDriverReportCreator
|
|
723
762
|
MobyUtil::Logger.instance.enabled=false
|
724
763
|
memory=0
|
725
764
|
begin
|
726
|
-
if
|
765
|
+
if $parameters[sut_id][:type]=='S60' || $parameters[sut_id][:type]=='Symbian'
|
727
766
|
memory=sut_attributes[:sut].sysinfo( :Get_total_ram )
|
728
767
|
end
|
729
|
-
if
|
768
|
+
if $parameters[sut_id][:type]=='QT'
|
730
769
|
if /win/ =~ MobyUtil::EnvironmentHelper.ruby_platform
|
731
770
|
memory=0
|
732
771
|
else
|
@@ -735,7 +774,7 @@ module TDriverReportCreator
|
|
735
774
|
end
|
736
775
|
rescue
|
737
776
|
ensure
|
738
|
-
if
|
777
|
+
if $parameters[ :logging_level, 0 ].to_i > 0
|
739
778
|
MobyUtil::Logger.instance.enabled=true
|
740
779
|
else
|
741
780
|
MobyUtil::Logger.instance.enabled=false
|
@@ -900,7 +939,7 @@ module TDriverReportCreator
|
|
900
939
|
row_hash.sort{|a,b| a[0]<=>b[0]}.each do |value|
|
901
940
|
data_value=Nokogiri::XML::Node.new("column",test_data)
|
902
941
|
data_value.set_attribute("name",value[0].to_s)
|
903
|
-
data_value.content = value[1].to_s
|
942
|
+
data_value.content = value[1].to_s
|
904
943
|
test_data << data_value
|
905
944
|
end
|
906
945
|
end
|
@@ -939,7 +978,7 @@ module TDriverReportCreator
|
|
939
978
|
xml.dump_count calculate_total_values_from_hash(total_dump)
|
940
979
|
xml.sent_bytes calculate_total_values_from_hash(total_sent)
|
941
980
|
xml.received_bytes calculate_total_values_from_hash(total_received)
|
942
|
-
|
981
|
+
|
943
982
|
if user_data!=nil && !user_data.empty?
|
944
983
|
xml.user_display_data {
|
945
984
|
(0..counter).each { |i|
|
@@ -950,7 +989,7 @@ module TDriverReportCreator
|
|
950
989
|
}
|
951
990
|
}
|
952
991
|
end
|
953
|
-
|
992
|
+
|
954
993
|
if user_data_rows!=nil && !user_data_columns.empty?
|
955
994
|
|
956
995
|
xml.user_table_data{
|
@@ -958,7 +997,7 @@ module TDriverReportCreator
|
|
958
997
|
user_data_rows.each do |row_hash|
|
959
998
|
row_hash.sort{|a,b| a[0]<=>b[0]}.each do |value|
|
960
999
|
xml.column("name"=>value[0].to_s){
|
961
|
-
|
1000
|
+
xml.text value[1].to_s
|
962
1001
|
}
|
963
1002
|
end
|
964
1003
|
end
|
@@ -1045,16 +1084,43 @@ module TDriverReportCreator
|
|
1045
1084
|
result_storage=Array.new
|
1046
1085
|
storage_file='all_cases.xml'
|
1047
1086
|
|
1087
|
+
nodes=Nokogiri::XML::NodeSet
|
1088
|
+
|
1048
1089
|
file=@report_folder+'/'+storage_file
|
1049
1090
|
if File.exist?(file)
|
1050
1091
|
io = File.open(file, 'rb')
|
1051
1092
|
xml_data = Nokogiri::XML(io){ |config| config.options = Nokogiri::XML::ParseOptions::STRICT }
|
1052
1093
|
io.close
|
1053
1094
|
if case_name
|
1054
|
-
nodes=xml_data.root.xpath("//tests/test[name='#{case_name}']")
|
1095
|
+
nodes=xml_data.root.xpath("//tests/test[name='#{case_name}' and status='#{results.gsub('_',' ')}']")
|
1096
|
+
elsif results=='crash'
|
1097
|
+
nodes=xml_data.root.xpath("//tests/test[crashes>0]")
|
1098
|
+
elsif results=='reboot'
|
1099
|
+
nodes=xml_data.root.xpath("//tests/test[reboots>0]")
|
1100
|
+
elsif results!='all' && results!='crash' && results!='reboot'
|
1101
|
+
case results
|
1102
|
+
when 'passed'
|
1103
|
+
|
1104
|
+
nodes=xml_data.root.xpath("//tests/test[status='#{@pass_statuses.first}']")
|
1105
|
+
|
1106
|
+
when 'failed'
|
1107
|
+
|
1108
|
+
nodes=xml_data.root.xpath("//tests/test[status='#{@fail_statuses.first}']")
|
1109
|
+
|
1110
|
+
when 'not_run'
|
1111
|
+
|
1112
|
+
nodes=xml_data.root.xpath("//tests/test[status='#{@not_run_statuses.first}']")
|
1113
|
+
|
1114
|
+
end
|
1055
1115
|
else
|
1056
|
-
|
1116
|
+
if @report_exclude_passed_cases=='true'
|
1117
|
+
nodes=xml_data.root.xpath("//tests/test[status!='passed']")
|
1118
|
+
else
|
1119
|
+
nodes=xml_data.root.xpath("//tests/test")
|
1120
|
+
end
|
1121
|
+
|
1057
1122
|
end
|
1123
|
+
|
1058
1124
|
nodes.each do |node|
|
1059
1125
|
value=node.search("name").text #0
|
1060
1126
|
group=node.search("group").text #1
|
@@ -1095,73 +1161,9 @@ module TDriverReportCreator
|
|
1095
1161
|
sent_bytes,
|
1096
1162
|
received_bytes
|
1097
1163
|
]
|
1098
|
-
case results
|
1099
|
-
when 'passed'
|
1100
|
-
if case_name
|
1101
|
-
if @pass_statuses.include?(status) && value==case_name
|
1102
|
-
result_storage << current_record
|
1103
|
-
end
|
1104
|
-
else
|
1105
|
-
if @pass_statuses.include?(status)
|
1106
|
-
result_storage << current_record
|
1107
|
-
end
|
1108
|
-
end
|
1109
1164
|
|
1110
|
-
|
1111
|
-
if case_name
|
1112
|
-
if @fail_statuses.include?(status) && value==case_name
|
1113
|
-
result_storage << current_record
|
1114
|
-
end
|
1115
|
-
else
|
1116
|
-
if @fail_statuses.include?(status)
|
1117
|
-
result_storage << current_record
|
1118
|
-
end
|
1119
|
-
end
|
1165
|
+
result_storage << current_record
|
1120
1166
|
|
1121
|
-
when 'not_run'
|
1122
|
-
if case_name
|
1123
|
-
if @not_run_statuses.include?(status) && value==case_name
|
1124
|
-
result_storage << current_record
|
1125
|
-
end
|
1126
|
-
else
|
1127
|
-
if @not_run_statuses.include?(status)
|
1128
|
-
result_storage << current_record
|
1129
|
-
end
|
1130
|
-
end
|
1131
|
-
|
1132
|
-
when 'crash'
|
1133
|
-
if crashes.to_i > 0
|
1134
|
-
result_storage << current_record
|
1135
|
-
end
|
1136
|
-
|
1137
|
-
when 'reboot'
|
1138
|
-
if reboots.to_i > 0
|
1139
|
-
result_storage << current_record
|
1140
|
-
end
|
1141
|
-
|
1142
|
-
when 'all'
|
1143
|
-
if case_name
|
1144
|
-
if value==case_name
|
1145
|
-
result_storage << current_record
|
1146
|
-
end
|
1147
|
-
else
|
1148
|
-
result_storage << current_record
|
1149
|
-
end
|
1150
|
-
else
|
1151
|
-
if @pass_statuses.include?(status)
|
1152
|
-
if (( case_name and value==case_name ) or !case_name )
|
1153
|
-
result_storage << current_record
|
1154
|
-
end
|
1155
|
-
elsif @fail_statuses.include?(status)
|
1156
|
-
if (( case_name and value==case_name ) or !case_name )
|
1157
|
-
result_storage << current_record
|
1158
|
-
end
|
1159
|
-
elsif @not_run_statuses.include?(status)
|
1160
|
-
if (( case_name and value==case_name ) or !case_name )
|
1161
|
-
result_storage << current_record
|
1162
|
-
end
|
1163
|
-
end
|
1164
|
-
end
|
1165
1167
|
end
|
1166
1168
|
xml_data=nil
|
1167
1169
|
$result_storage_in_use=false
|
@@ -1210,7 +1212,7 @@ module TDriverReportCreator
|
|
1210
1212
|
# nil
|
1211
1213
|
# === raises
|
1212
1214
|
def disconnect_connected_devices()
|
1213
|
-
if
|
1215
|
+
if $parameters[ :report_disconnect_connected_devices, false ] == 'true'
|
1214
1216
|
MobyBase::SUTFactory.instance.connected_suts.each do |sut_id, sut_attributes|
|
1215
1217
|
sut_attributes[:sut].disconnect() if sut_attributes[:is_connected]
|
1216
1218
|
end
|
@@ -1240,6 +1242,7 @@ module TDriverReportCreator
|
|
1240
1242
|
search_case = nil
|
1241
1243
|
if @pass_statuses.include?(status)
|
1242
1244
|
search_case = "passed"
|
1245
|
+
return if @report_exclude_passed_cases=='true'
|
1243
1246
|
elsif @fail_statuses.include?(status)
|
1244
1247
|
search_case = "failed"
|
1245
1248
|
elsif @not_run_statuses.include?(status)
|
@@ -1405,4 +1408,4 @@ module TDriverReportCreator
|
|
1405
1408
|
end
|
1406
1409
|
|
1407
1410
|
end
|
1408
|
-
end
|
1411
|
+
end
|
@@ -468,6 +468,7 @@ display: block;
|
|
468
468
|
m, s = seconds.divmod(60)
|
469
469
|
duration_str="#{m}m#{'%.3f' % s}s"
|
470
470
|
end
|
471
|
+
duration_str='0' if duration_str==nil
|
471
472
|
duration_str
|
472
473
|
end
|
473
474
|
|
@@ -646,7 +647,8 @@ display: block;
|
|
646
647
|
'-'
|
647
648
|
end
|
648
649
|
end
|
649
|
-
|
650
|
+
|
651
|
+
def format_execution_log(log,folder=nil)
|
650
652
|
begin
|
651
653
|
formatted_log=Array.new
|
652
654
|
log.each do |line|
|
@@ -662,6 +664,7 @@ display: block;
|
|
662
664
|
'-'
|
663
665
|
end
|
664
666
|
end
|
667
|
+
|
665
668
|
def write_page_start(page, title,report_page=nil,report_pages=nil)
|
666
669
|
case title
|
667
670
|
when "TDriver test results"
|
@@ -696,6 +699,7 @@ display: block;
|
|
696
699
|
status_style='test_passed' if status=='passed' || @pass_statuses.include?(status)
|
697
700
|
status_style='test_failed' if status=='failed' || @fail_statuses.include?(status)
|
698
701
|
status_style='test_not_run' if status=='not run' || @not_run_statuses.include?(status)
|
702
|
+
|
699
703
|
begin
|
700
704
|
used_memory_difference=@tc_memory_amount_start.to_i-@tc_memory_amount_end.to_i
|
701
705
|
rescue
|
@@ -780,9 +784,18 @@ display: block;
|
|
780
784
|
used_memory_difference.to_s<<
|
781
785
|
'</td></tr>' <<
|
782
786
|
'<tr><td><b>Device reboots</b></td><td>'<<
|
783
|
-
reboots.to_s<<
|
784
|
-
'</td></tr>'
|
785
|
-
|
787
|
+
reboots.to_s <<
|
788
|
+
'</td></tr>'
|
789
|
+
if $parameters[ :report_generate_rdoc, 'false' ]=='true' && test_case_name.include?('test_')
|
790
|
+
html_body << '<tr>' <<
|
791
|
+
'<td style="font-weight: 700">'<<
|
792
|
+
'RDoc</td>'<<
|
793
|
+
'<td style="font-size: small; font-weight: bold">'<<
|
794
|
+
get_rdoc_for_method(test_case_name)<<
|
795
|
+
'</td></tr>'
|
796
|
+
end
|
797
|
+
|
798
|
+
html_body << '<tr>' <<
|
786
799
|
'<td style="font-weight: 700">'<<
|
787
800
|
'Details</td>'<<
|
788
801
|
'<td style="font-size: small; font-weight: bold">'<<
|
@@ -956,7 +969,7 @@ display: block;
|
|
956
969
|
html_body << '<form action="save_results_to" ><input type="submit" name="save_results_to" value="Download report" /></form>' if @report_editable=='true'
|
957
970
|
tdriver_group=nil
|
958
971
|
html_result=nil
|
959
|
-
|
972
|
+
elsif @not_run_statuses.include?(status) || status == "not_run"
|
960
973
|
title='<div class="page_title"><center><h1>Not run</h1></center></div>'<<
|
961
974
|
'<div class="summary_not_run">' <<
|
962
975
|
'<form action="save_total_run_results" >'
|
@@ -971,83 +984,83 @@ display: block;
|
|
971
984
|
tdriver_group=nil
|
972
985
|
html_result=nil
|
973
986
|
else
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
987
|
+
case status
|
988
|
+
when 'crash'
|
989
|
+
title='<div class="page_title"><center><h1>Crash</h1></center></div>'<<
|
990
|
+
'<div class="summary_crash">' <<
|
991
|
+
'<form action="save_total_run_results" >'
|
992
|
+
tdriver_group=ReportingGroups.new(@reporting_groups,tc_arr,false)
|
993
|
+
tdriver_group.parse_groups()
|
994
|
+
html_result=tdriver_group.generate_report('all')
|
995
|
+
html_body << title
|
996
|
+
html_body << html_result
|
997
|
+
html_body << "<input type=\"submit\" name=\"save_changes\" value=\"Save changes\" />" if @report_editable=='true'
|
998
|
+
html_body << "</form>"
|
999
|
+
html_body << '<form action="save_results_to" ><input type="submit" name="save_results_to" value="Download report" /></form>' if @report_editable=='true'
|
1000
|
+
tdriver_group=nil
|
1001
|
+
html_result=nil
|
1002
|
+
when 'reboot'
|
1003
|
+
title='<div class="page_title"><center><h1>Reboot</h1></center></div>'<<
|
1004
|
+
'<div class="summary_reboot">' <<
|
1005
|
+
'<form action="save_total_run_results" >'
|
1006
|
+
tdriver_group=ReportingGroups.new(@reporting_groups,tc_arr,false)
|
1007
|
+
tdriver_group.parse_groups()
|
1008
|
+
html_result=tdriver_group.generate_report('all')
|
1009
|
+
html_body << title
|
1010
|
+
html_body << html_result
|
1011
|
+
html_body << "<input type=\"submit\" name=\"save_changes\" value=\"Save changes\" />" if @report_editable=='true'
|
1012
|
+
html_body << "</form>"
|
1013
|
+
html_body << '<form action="save_results_to" ><input type="submit" name="save_results_to" value="Download report" /></form>' if @report_editable=='true'
|
1014
|
+
tdriver_group=nil
|
1015
|
+
html_result=nil
|
1016
|
+
when 'statistics'
|
1017
|
+
title='<div class="page_title"><center><h1>Statistics</h1></center></div>'<<
|
1018
|
+
'<div class="statistics">'
|
1019
|
+
tdriver_group=ReportingStatistics.new(tc_arr)
|
1020
|
+
html_result=tdriver_group.generate_statistics_table()
|
1021
|
+
html_body << title
|
1022
|
+
html_body << html_result
|
1023
|
+
tdriver_group=nil
|
1024
|
+
html_result=nil
|
1025
|
+
else
|
1026
|
+
chronological_html_body=Array.new
|
1027
|
+
title='<div class="page_title"><center><h1>Total run</h1></center></div>'
|
1028
|
+
view_selection='<div class="summary_view_select"><center><input type="button" value="Grouped view" ONCLICK="location.assign(\''+report_page.to_s+'_total_run_index.html\');"/>'<<
|
1029
|
+
'<input type="button" value="Chronological view" ONCLICK="location.assign(\''+report_page.to_s+'_chronological_total_run_index.html\');"/></center></div>'<<
|
1030
|
+
'<div class="summary_total_run">' <<
|
1031
|
+
'<form action="save_total_run_results" >'
|
1032
|
+
title << view_selection
|
1033
|
+
tdriver_group=ReportingGroups.new(@reporting_groups,tc_arr)
|
1034
|
+
tdriver_group.parse_groups()
|
1035
|
+
html_result=tdriver_group.generate_report('all')
|
1036
|
+
html_body << title
|
1037
|
+
html_body << html_result
|
1038
|
+
html_body << "<input type=\"submit\" name=\"save_changes\" value=\"Save changes\" />" if @report_editable=='true'
|
1039
|
+
html_body << "</form>"
|
1040
|
+
html_body << '<form action="save_results_to" ><input type="submit" name="save_results_to" value="Download report" /></form>' if @report_editable=='true'
|
1041
|
+
html_body << '<form action="export_results_to_excel" ><input type="submit" name="export_results_to_excel" value="Export to Excel" /></form>' if @report_editable=='true'
|
1042
|
+
|
1043
|
+
tdriver_group=nil
|
1044
|
+
html_result=nil
|
1045
|
+
tdriver_group=ReportingGroups.new(@reporting_groups,tc_arr,false)
|
1046
|
+
tdriver_group.parse_groups()
|
1047
|
+
chronological_html_result=tdriver_group.generate_report('all')
|
1048
|
+
chronological_html_body << title
|
1049
|
+
chronological_html_body << chronological_html_result
|
1050
|
+
chronological_html_body << "<input type=\"submit\" name=\"save_changes\" value=\"Save changes\" />" if @report_editable=='true'
|
1051
|
+
chronological_html_body << "</form>"
|
1052
|
+
chronological_html_body << '<form action="save_results_to" ><input type="submit" name="save_results_to" value="Download report" /></form>' if @report_editable=='true'
|
1053
|
+
chronological_html_body << '<form action="export_results_to_excel" ><input type="submit" name="export_results_to_excel" value="Export to Excel" /></form>' if @report_editable=='true'
|
1054
|
+
chronological_html_body << "</div>"
|
1055
|
+
|
1056
|
+
File.open(chronological_page, 'a') do |f2|
|
1057
|
+
f2.puts chronological_html_body
|
1058
|
+
end
|
1059
|
+
tdriver_group=nil
|
1060
|
+
chronological_html_result=nil
|
1061
|
+
chronological_html_body=nil
|
1062
|
+
end # case
|
1063
|
+
end # if
|
1051
1064
|
|
1052
1065
|
html_body << '</div>'
|
1053
1066
|
File.open(page, 'a') do |f2|
|
@@ -1114,6 +1127,12 @@ display: block;
|
|
1114
1127
|
'<td><b>Total device resets</b></td>'<<
|
1115
1128
|
'<td>'+total_device_resets.to_s+'</td>'<<
|
1116
1129
|
'</tr>'
|
1130
|
+
if $parameters[ :report_generate_rdoc, 'false' ]=='true'
|
1131
|
+
html_body << '<tr>'<<
|
1132
|
+
'<td><a href="doc/index.html"><b>Generated RDoc from</b></a></td>'<<
|
1133
|
+
'<td>'+Dir.pwd+'</td>'<<
|
1134
|
+
'</tr>'
|
1135
|
+
end
|
1117
1136
|
$tdriver_reporter.total_dump_count.each do |item|
|
1118
1137
|
html_body << '<tr>'<<
|
1119
1138
|
"<td><b>Total dump count from sut #{item[0].to_s}</b></td>"<<
|
@@ -1348,7 +1367,7 @@ display: block;
|
|
1348
1367
|
total_run_link="1_total_run_index.html\""
|
1349
1368
|
statistics_link='statistics_index.html"'
|
1350
1369
|
passed_link="1_passed_index.html\""
|
1351
|
-
failed_link="
|
1370
|
+
failed_link="1_failed_index.html\""
|
1352
1371
|
not_run_link="1_not_run_index.html\""
|
1353
1372
|
else
|
1354
1373
|
tdriver_test_results_link='../../index.html"'
|
@@ -1466,6 +1485,54 @@ display: block;
|
|
1466
1485
|
def get_java_script()
|
1467
1486
|
get_expand_collapse_java_script()
|
1468
1487
|
end
|
1488
|
+
|
1489
|
+
def scan_rdoc_file_for_method(file,method_name)
|
1490
|
+
text = File.read(file)
|
1491
|
+
if text =~ /\b#{method_name}\b/
|
1492
|
+
path=file.split('doc/')
|
1493
|
+
return path[1]
|
1494
|
+
end
|
1495
|
+
end
|
1496
|
+
|
1497
|
+
def get_rdoc_for_method(method_name)
|
1498
|
+
doc=Array.new
|
1499
|
+
rdoc_files=[]
|
1500
|
+
#Find method documentation from report doc folder
|
1501
|
+
if File.directory?("#{$tdriver_reporter.report_folder()}/doc/classes")
|
1502
|
+
d = Dir.new("#{$tdriver_reporter.report_folder()}/doc/classes")
|
1503
|
+
d.each do |entry|
|
1504
|
+
if entry!="." && entry!=".."
|
1505
|
+
if File.directory?("#{d.path}/#{entry}")
|
1506
|
+
d1=Dir.new("#{d.path}/#{entry}")
|
1507
|
+
d1.each do |entry1|
|
1508
|
+
if entry1!="." && entry1!=".."
|
1509
|
+
if !File.directory?("#{d1.path}/#{entry1}")
|
1510
|
+
res=scan_rdoc_file_for_method("#{d1.path}/#{entry1}",method_name)
|
1511
|
+
rdoc_files << res if res
|
1512
|
+
end
|
1513
|
+
end
|
1514
|
+
end
|
1515
|
+
else
|
1516
|
+
res=scan_rdoc_file_for_method("#{d.path}/#{entry}",method_name)
|
1517
|
+
rdoc_files << res if res
|
1518
|
+
end
|
1519
|
+
end
|
1520
|
+
end
|
1521
|
+
|
1522
|
+
|
1523
|
+
rdoc_files.each do |rdoc|
|
1524
|
+
doc << "<iframe src=\"../../doc/#{rdoc}\"
|
1525
|
+
width=\"100%\" height=\"340\"
|
1526
|
+
align=\"right\" scrolling=\"yes\">
|
1527
|
+
<p><a href=\"../../doc/#{rdoc}\">#{method_name}</a>.</p>
|
1528
|
+
</iframe>"
|
1529
|
+
end
|
1530
|
+
return doc
|
1531
|
+
else
|
1532
|
+
return '-'
|
1533
|
+
end
|
1534
|
+
end
|
1535
|
+
|
1469
1536
|
def format_user_log_table(user_data_rows,user_data_columns)
|
1470
1537
|
begin
|
1471
1538
|
formatted_user_data=Array.new
|