blob: c2a19da7a5a410111031a480838fa6ce7d03aa6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/usr/bin/tclsh
if {$tcl_platform(platform) == "unix"} {
fconfigure stdout -translation lf
}
lappend auto_path [file dirname [info script]]
proc rus {string} {
return $string
}
proc compare_order {el1 el2} {
global order
return [expr {$order($el1)-$order($el2)}]
}
set statsfile stats
if {$argc} {set statsfile [lindex $argv 0]}
set f [open $statsfile]
fconfigure $f -encoding utf-8
set ordno 0
while {[gets $f line] >=0} {
set script [lindex $line 0]
set a($script) [lrange $line 1 end]
if {![info exists order($script)]} {
set order($script) [incr ordno]
}
}
close $f
proc output {line} {
global out
puts $line
if {[info exists out]} {
puts $out $line
}
}
if {$argc > 1} {
set out [open [lindex $argv 1] w]
fconfigure $out -encoding utf-8
}
output [format "%-12s %-41s%5s %4s %4s %4s %4s" File "Test name" Total ok fail skip ign]
output [string repeat "-" 79]
array set gross {total 0 ok 0 fail 0 p_skip 0 c_skip 0}
foreach script [lsort -command compare_order [array names a] ] {
foreach {name total ok fail p_skip c_skip} $a($script) break
output [format "%-12s %-41s%5d %4d %4d %4d %4d" [string range [file tail [file rootname $script]] 0 11] [string range $name 0 40] $total $ok $fail $p_skip $c_skip]
incr gross(total) $total
incr gross(ok) $ok
incr gross(fail) $fail
incr gross(p_skip) $p_skip
incr gross(c_skip) $c_skip
}
output [string repeat "-" 79]
output [format "%-54s%5d %4d %4d %4d %4d" Total $gross(total) $gross(ok) $gross(fail) $gross(p_skip) $gross(c_skip)]
if {$gross(fail)} {
exit 1
}
|