@ -81,12 +81,13 @@ proc runtests_dict_get_default {dictvalue key default} {
return $default
return $default
}
}
proc runtests_json_report { status tallydict file_summaries slowest_tests} {
proc runtests_json_report { status tallydict file_summaries slowest_tests elapsed_seconds } {
set files_failed [ dict get $tallydict files_with_fails]
set files_failed [ dict get $tallydict files_with_fails]
set files_warned [ dict get $tallydict files_with_warnings]
set files_warned [ dict get $tallydict files_with_warnings]
set fields [ list ]
set fields [ list ]
lappend fields " \" r u n n e r \" : \" s r c / t e s t s / r u n t e s t s . t c l \" "
lappend fields " \" r u n n e r \" : \" s r c / t e s t s / r u n t e s t s . t c l \" "
lappend fields " \" s t a t u s \" : [ r u n t e s t s _ j s o n _ s t r i n g $ s t a t u s ] "
lappend fields " \" s t a t u s \" : [ r u n t e s t s _ j s o n _ s t r i n g $ s t a t u s ] "
lappend fields " \" e l a p s e d _ s e c o n d s \" : $ e l a p s e d _ s e c o n d s "
lappend fields " \" t o t a l \" : [ d i c t g e t $ t a l l y d i c t t o t a l ] "
lappend fields " \" t o t a l \" : [ d i c t g e t $ t a l l y d i c t t o t a l ] "
lappend fields " \" p a s s e d \" : [ d i c t g e t $ t a l l y d i c t p a s s e d ] "
lappend fields " \" p a s s e d \" : [ d i c t g e t $ t a l l y d i c t p a s s e d ] "
lappend fields " \" s k i p p e d \" : [ d i c t g e t $ t a l l y d i c t s k i p p e d ] "
lappend fields " \" s k i p p e d \" : [ d i c t g e t $ t a l l y d i c t s k i p p e d ] "
@ -127,8 +128,8 @@ proc runtests_status {tallydict} {
return pass
return pass
}
}
proc runtests_emit_result_line { status tallydict file_summaries} {
proc runtests_emit_result_line { status tallydict file_summaries elapsed_seconds } {
puts stdout " R U N T E S T S _ R E S U L T s t a t u s = $ s t a t u s t o t a l = [ d i c t g e t $ t a l l y d i c t t o t a l ] p a s s e d = [ d i c t g e t $ t a l l y d i c t p a s s e d ] s k i p p e d = [ d i c t g e t $ t a l l y d i c t s k i p p e d ] f a i l e d = [ d i c t g e t $ t a l l y d i c t f a i l e d ] w a r n i n g s = [ l l e n g t h [ d i c t g e t $ t a l l y d i c t f i l e s _ w i t h _ w a r n i n g s ] ] f i l e s = [ l l e n g t h $ f i l e _ s u m m a r i e s ] f i l e s _ f a i l e d = [ l l e n g t h [ d i c t g e t $ t a l l y d i c t f i l e s _ w i t h _ f a i l s ] ] "
puts stdout " R U N T E S T S _ R E S U L T s t a t u s = $ s t a t u s t o t a l = [ d i c t g e t $ t a l l y d i c t t o t a l ] p a s s e d = [ d i c t g e t $ t a l l y d i c t p a s s e d ] s k i p p e d = [ d i c t g e t $ t a l l y d i c t s k i p p e d ] f a i l e d = [ d i c t g e t $ t a l l y d i c t f a i l e d ] w a r n i n g s = [ l l e n g t h [ d i c t g e t $ t a l l y d i c t f i l e s _ w i t h _ w a r n i n g s ] ] f i l e s = [ l l e n g t h $ f i l e _ s u m m a r i e s ] f i l e s _ f a i l e d = [ l l e n g t h [ d i c t g e t $ t a l l y d i c t f i l e s _ w i t h _ f a i l s ] ] e l a p s e d _ s e c o n d s = $ e l a p s e d _ s e c o n d s "
}
}
proc runtests_warning_summary { code message summaryline_detected} {
proc runtests_warning_summary { code message summaryline_detected} {
@ -1255,18 +1256,19 @@ foreach testfile_relative $testfiles {
}
}
set status [ runtests_status $tallydict ]
set status [ runtests_status $tallydict ]
set slowest_tests [ runtests_slowest_tests $all_passes $opt_slowest ]
set slowest_tests [ runtests_slowest_tests $all_passes $opt_slowest ]
set elapsed_seconds [ expr { [ clock seconds] - $ts_start } ]
if { $jobs_mode } {
if { $jobs_mode } {
dict set runtests_phase_times processing_s [ format % .1f [ expr { ( [ clock milliseconds] - $_phase_t2 ) / 1000.0 } ] ]
dict set runtests_phase_times processing_s [ format % .1f [ expr { ( [ clock milliseconds] - $_phase_t2 ) / 1000.0 } ] ]
if { ! $report_json_only } {
if { ! $report_json_only } {
puts stdout " j o b s p h a s e t i m e s : p a r a l l e l [ d i c t g e t $ r u n t e s t s _ p h a s e _ t i m e s p a r a l l e l _ s ] s , s e r i a l t a i l [ d i c t g e t $ r u n t e s t s _ p h a s e _ t i m e s s e r i a l _ s ] s , p r o c e s s i n g [ d i c t g e t $ r u n t e s t s _ p h a s e _ t i m e s p r o c e s s i n g _ s ] s "
puts stdout " j o b s p h a s e t i m e s : p a r a l l e l [ d i c t g e t $ r u n t e s t s _ p h a s e _ t i m e s p a r a l l e l _ s ] s , s e r i a l t a i l [ d i c t g e t $ r u n t e s t s _ p h a s e _ t i m e s s e r i a l _ s ] s , p r o c e s s i n g [ d i c t g e t $ r u n t e s t s _ p h a s e _ t i m e s p r o c e s s i n g _ s ] s "
}
}
}
}
runtests_udptee_event run-end status $status total [ dict get $tallydict total] passed [ dict get $tallydict passed] skipped [ dict get $tallydict skipped] failed [ dict get $tallydict failed] files [ llength $file_summaries ] elapsed_seconds [ expr { [ clock seconds] - $ts_start } ] { * } $runtests_phase_times
runtests_udptee_event run-end status $status total [ dict get $tallydict total] passed [ dict get $tallydict passed] skipped [ dict get $tallydict skipped] failed [ dict get $tallydict failed] files [ llength $file_summaries ] elapsed_seconds $elapsed_seconds { * } $runtests_phase_times
if { ! $report_json_only } {
if { ! $report_json_only } {
puts stdout " # # r u n t e s t s s u m m a r y "
puts stdout " # # r u n t e s t s s u m m a r y "
puts stdout " "
puts stdout " "
runtests_emit_result_line $status $tallydict $file_summaries
runtests_emit_result_line $status $tallydict $file_summaries $elapsed_seconds
puts stdout " "
puts stdout " "
}
}
@ -1374,7 +1376,7 @@ if {$report_emit_json} {
puts stdout " "
puts stdout " "
puts stdout " ` ` ` j s o n "
puts stdout " ` ` ` j s o n "
}
}
puts stdout [ runtests_json_report $status $tallydict $file_summaries $slowest_tests ]
puts stdout [ runtests_json_report $status $tallydict $file_summaries $slowest_tests $elapsed_seconds ]
if { ! $report_json_only } {
if { ! $report_json_only } {
puts stdout " ` ` ` "
puts stdout " ` ` ` "
puts stdout " "
puts stdout " "
@ -1382,7 +1384,7 @@ if {$report_emit_json} {
}
}
if { ! $report_json_only } {
if { ! $report_json_only } {
puts stdout " # # # r u n t e s t s D O N E a t [ c l o c k f o r m a t [ c l o c k s e c o n d s ] - f o r m a t " % Y - % m - % d % H : % M : % S " ] "
puts stdout " # # # r u n t e s t s D O N E a t [ c l o c k f o r m a t [ c l o c k s e c o n d s ] - f o r m a t " % Y - % m - % d % H : % M : % S " ] ( e l a p s e d $ { e l a p s e d _ s e c o n d s } s ) "
puts stdout " "
puts stdout " "
}
}