@@ -116,11 +116,13 @@ file copy -force -- {*}[glob kits/*] $WEBDIR set totaltests_count [llength [glob tests/*.tcl]] -foreach file [lsort -dictionary [glob -directory $WEBDIR *]] { +foreach file [lsort -dictionary [glob -tails -directory $WEBDIR * failed/*]] { + set shortfile $file + set file [file join $WEBDIR $file] if {[file isdirectory $file]} { continue } switch -glob -- $file { @@ -128,13 +130,19 @@ continue } } # Derive what we can from the filename - set shortfile [file tail $file] set buildfile "${shortfile}-build.log" set failedtests [glob -nocomplain -tails -directory $WEBDIR "${shortfile}-\[0-9\]\[0-9\]-*.log"] + + # If this kit represents a failed build, set the failed tests to that + set kitbuilt 1 + if {[file tail [file dirname $file]] == "failed"} { + set failedtests [list "${shortfile}-XX-build.log"] + set kitbuilt 0 + } ## Split the filename into parts and store each part set kitbuildinfo [split $shortfile -] set tclversion [lindex $kitbuildinfo 1] set kitbuildinfo [lsort -dictionary [lrange $kitbuildinfo 2 end]] @@ -163,15 +171,17 @@ # Generate array to describe this kit unset -nocomplain kitinfo set kitinfo(version) $tclversion set kitinfo(file) $shortfile + set kitinfo(fullfile) $file set kitinfo(buildfile) $buildfile set kitinfo(failedtests) $failedtests set kitinfo(buildflags) $kitbuildinfo set kitinfo(os) $kitos set kitinfo(cpu) $kitcpu + set kitinfo(built) $kitbuilt # Store kit information with all kits set key [list $tclversion $kitos $kitcpu] lappend allkitinfo($key) [array get kitinfo] } @@ -210,27 +220,42 @@ set testname [file rootname $test] set testname [split $testname -] for {set idx 0} {$idx < [llength $testname]} {incr idx} { set val [lindex $testname $idx] - if {[string match {[0-9][0-9]} $val]} { + if {[string match {[0-9X][0-9X]} $val]} { set testname [join [lrange $testname $idx end] -] + + set loglink 1 + if {[lindex [split $testname -] 0] == "XX"} { + set testname [join [lrange [split $testname -] 1 end] -] + set loglink 0 + } break } } if {[lsearch -exact $noncriticaltests $testname] == -1} { set bgcolor "red" } - lappend failedtestshtml "$testname" + if {$loglink} { + lappend failedtestshtml "$testname" + } else { + lappend failedtestshtml "$testname" + } } - puts $fd " [pretty_print_buildinfo $kitinfo(buildflags)]" - puts $fd " [pretty_print_size [file size [file join $WEBDIR $kitinfo(file)]]]" + set kitdesc [pretty_print_buildinfo $kitinfo(buildflags)] + if {$kitinfo(built)} { + puts $fd " $kitdesc" + } else { + puts $fd " $kitdesc" + } + puts $fd " [pretty_print_size [file size [file join $WEBDIR $kitinfo(fullfile)]]]" puts $fd " $status" puts $fd " ([pretty_print_size [file size [file join $WEBDIR $kitinfo(buildfile)]]])" puts $fd " [join $failedtestshtml {, }]" puts $fd " " }