|
|
@@ -13,7 +13,12 @@
|
|
|
|
|
|
-->
|
|
|
|
|
|
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
|
+<xsl:stylesheet
|
|
|
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
|
+ xmlns:exsl="http://exslt.org/common"
|
|
|
+ version="1.0">
|
|
|
+
|
|
|
+ <xsl:import href="common.xsl"/>
|
|
|
|
|
|
<xsl:output method="html"
|
|
|
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
@@ -21,16 +26,19 @@
|
|
|
indent="yes"
|
|
|
/>
|
|
|
|
|
|
+
|
|
|
<xsl:param name="links_file"/>
|
|
|
<xsl:param name="mode"/>
|
|
|
<xsl:param name="source"/>
|
|
|
<xsl:param name="run_date"/>
|
|
|
<xsl:param name="comment_file"/>
|
|
|
<xsl:param name="expected_results_file"/>
|
|
|
+ <xsl:param name="explicit_markup_file"/>
|
|
|
|
|
|
<!-- the author-specified expected test results -->
|
|
|
+ <xsl:variable name="explicit_markup" select="document( $explicit_markup_file )"/>
|
|
|
<xsl:variable name="expected_results" select="document( $expected_results_file )" />
|
|
|
-
|
|
|
+
|
|
|
<!-- necessary indexes -->
|
|
|
<xsl:key
|
|
|
name="test_name_key"
|
|
|
@@ -42,16 +50,58 @@
|
|
|
use="@library"/>
|
|
|
<xsl:key name="toolset_key" match="test-log" use="@toolset"/>
|
|
|
|
|
|
- <!-- -->
|
|
|
- <xsl:variable name="toolsets" select="//test-log[ @toolset != '' and generate-id(.) = generate-id( key('toolset_key',@toolset)[1] )]/@toolset"/>
|
|
|
+ <!-- toolsets -->
|
|
|
+
|
|
|
+ <xsl:variable name="not_ordered_toolsets" select="//test-log[ generate-id(.) = generate-id( key('toolset_key',@toolset)[1] ) and @toolset != '' ]/@toolset"/>
|
|
|
+
|
|
|
+ <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/>
|
|
|
+
|
|
|
+ <xsl:variable name="ordered_toolsets_fragment">
|
|
|
+ <xsl:call-template name="get_toolsets">
|
|
|
+ <xsl:with-param name="toolsets" select="$not_ordered_toolsets"/>
|
|
|
+ <xsl:with-param name="required_toolsets" select="$required_toolsets"/>
|
|
|
+ </xsl:call-template>
|
|
|
+ </xsl:variable>
|
|
|
+
|
|
|
+ <xsl:variable name="ordered_toolsets" select="exsl:node-set( $ordered_toolsets_fragment )"/>
|
|
|
+
|
|
|
+ <!-- libraries -->
|
|
|
<xsl:variable name="libraries" select="//test-log[ @library != '' and generate-id(.) = generate-id( key('library_key',@library)[1] ) ]/@library"/>
|
|
|
|
|
|
- <xsl:template name="toolsets_row">
|
|
|
- <tr>
|
|
|
+ <xsl:template name="insert_toolsets_row">
|
|
|
+ <xsl:param name="library"/>
|
|
|
+ <xsl:param name="library_marks"/>
|
|
|
+ <xsl:param name="toolsets"/>
|
|
|
+ <tr valign="middle">
|
|
|
<td class="head" colspan="2">test / toolset</td>
|
|
|
- <xsl:for-each select="$toolsets">
|
|
|
- <xsl:sort select="." order="ascending" />
|
|
|
- <td class="toolset-name"><xsl:value-of select="."/></td>
|
|
|
+
|
|
|
+ <xsl:variable name="library_notes" select="$library_marks/note"/>
|
|
|
+ <xsl:for-each select="$toolsets/toolset">
|
|
|
+ <xsl:variable name="toolset" select="@toolset"/>
|
|
|
+
|
|
|
+ <xsl:variable name="class">
|
|
|
+ <xsl:choose>
|
|
|
+ <xsl:when test="@required='yes'">
|
|
|
+ <xsl:text>required-toolset-name</xsl:text>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:otherwise>
|
|
|
+ <xsl:text>toolset-name</xsl:text>
|
|
|
+ </xsl:otherwise>
|
|
|
+ </xsl:choose>
|
|
|
+ </xsl:variable>
|
|
|
+
|
|
|
+ <td class="{$class}"><xsl:value-of select="$toolset"/>
|
|
|
+ <xsl:if test="$library_notes">
|
|
|
+ <span class="super">
|
|
|
+ <xsl:for-each select="$library_notes">
|
|
|
+ <xsl:if test="../@toolset=$toolset or ( ../toolset/@name=$toolset or ../toolset/@name = '*' )">
|
|
|
+ <xsl:variable name="note_index" select="position()"/>
|
|
|
+ <a href="#{$library}-note-{$note_index}" title="Note {$note_index}"><xsl:value-of select="$note_index"/></a>
|
|
|
+ </xsl:if>
|
|
|
+ </xsl:for-each>
|
|
|
+ </span>
|
|
|
+ </xsl:if>
|
|
|
+ </td>
|
|
|
</xsl:for-each>
|
|
|
<td class="head">toolset / test</td>
|
|
|
</tr>
|
|
|
@@ -100,24 +150,32 @@
|
|
|
<td class="header-item">Legend</td>
|
|
|
<td class="header-item-content">
|
|
|
|
|
|
- <table border="0" class="legend-table">
|
|
|
+ <table border="0" cellspacing="0" cellpadding="0" class="legend-table" summary="legend table">
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-user-success">pass</td></tr></table></td>
|
|
|
- <td class="legend-item">the test passes</td>
|
|
|
+ <td><table width="100%" summary="success legend"><tr class="detail-row-single"><td class="detail-user-success">pass</td></tr></table></td>
|
|
|
+ <td class="legend-item">
|
|
|
+ the test passes
|
|
|
+ </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-user-fail-expected">fail</td></tr></table></td>
|
|
|
+ <td><table width="100%" summary="fail legend"><tr><td class="detail-user-fail-expected">fail</td></tr></table></td>
|
|
|
<td class="legend-item">
|
|
|
a known test failure; click on the link to see the log
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-user-fail-unexpected">unexp.</td></tr></table></td>
|
|
|
+ <td><table width="100%" summary="unexpected fail legend"><tr><td class="detail-user-fail-unexpected">unexp.</td></tr></table></td>
|
|
|
<td class="legend-item">
|
|
|
the test is known to pass, but is currently failing;
|
|
|
click on the link to see the log
|
|
|
</td>
|
|
|
</tr>
|
|
|
+ <tr>
|
|
|
+ <td><table width="100%" summary="unusable legend"><tr><td class="detail-unusable">...</td></tr></table></td>
|
|
|
+ <td class="legend-item">
|
|
|
+ the library author marked it as unusable on particular platform/toolset
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
</table>
|
|
|
|
|
|
</td>
|
|
|
@@ -127,34 +185,42 @@
|
|
|
<tr>
|
|
|
<td class="header-item">Legend</td>
|
|
|
<td class="header-item-content">
|
|
|
- <table border="0" class="legend-table">
|
|
|
+ <table border="0" class="legend-table" summary="legend">
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-success-expected">pass</td></tr></table></td>
|
|
|
- <td>
|
|
|
+ <td><table width="100%" summary="success legend"><tr class="detail-row-single"><td class="detail-success-expected">pass</td></tr></table></td>
|
|
|
+ <td class="legend-item">
|
|
|
success
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-success-unexpected">pass</td></tr></table></td>
|
|
|
- <td>
|
|
|
+ <td><table width="100%" summary="unexpected pass legend"><tr class="detail-row-single"><td class="detail-success-unexpected">pass</td></tr></table></td>
|
|
|
+ <td class="legend-item">
|
|
|
unexpected success
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-fail-expected">fail</td></tr></table></td>
|
|
|
- <td>
|
|
|
+ <td><table width="100%" summary="expected fail legend"><tr class="detail-row-single"><td class="detail-fail-expected">fail</td></tr></table></td>
|
|
|
+ <td class="legend-item">
|
|
|
expected failure
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-fail-unexpected-new">fail</td></tr></table></td>
|
|
|
+ <td><table width="100%" summary="unexpected new fail legend"><tr class="detail-row-single"><td class="detail-fail-unexpected-new">fail</td></tr></table></td>
|
|
|
<td class="legend-item">
|
|
|
failure on a newly added test/compiler
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td><table><tr><td class="result-fail-unexpected">fail</td></tr></table></td>
|
|
|
- <td>unexpected failure</td>
|
|
|
+ <td><table width="100%" summary="unexpected fail legend"><tr class="detail-row-single"><td class="detail-fail-unexpected">fail</td></tr></table></td>
|
|
|
+ <td class="legend-item">
|
|
|
+ unexpected failure
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td><table width="100%" summary="unusable legend"><tr class="detail-row-single"><td class="detail-unusable">...</td></tr></table></td>
|
|
|
+ <td class="legend-item">
|
|
|
+ the library author marked it as unusable on particular platform/toolset
|
|
|
+ </td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
</td>
|
|
|
@@ -164,7 +230,7 @@
|
|
|
</xsl:variable>
|
|
|
|
|
|
<div>
|
|
|
- <table border="0">
|
|
|
+ <table border="0" summary="report header">
|
|
|
<tr>
|
|
|
<td><img border="0" src="../c++boost.gif" width="277" height="86" alt="Boost logo"></img></td>
|
|
|
<td>
|
|
|
@@ -181,7 +247,7 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
- <table border="0" class="header-table">
|
|
|
+ <table border="0" class="header-table" summary="report description" >
|
|
|
<tr>
|
|
|
<td class="header-item">Purpose</td>
|
|
|
<td class="header-item-content">
|
|
|
@@ -192,28 +258,18 @@
|
|
|
<xsl:copy-of select="$legend"/>
|
|
|
</table>
|
|
|
<div class="legend">
|
|
|
- To specify the expected failures for specific test cases create an .xml file
|
|
|
- "boost/status/<your library>/expected_results.xml" along these lines:
|
|
|
-<pre>
|
|
|
-<expected-failures>
|
|
|
-<!-- Example:
|
|
|
-<test-result library="mpl" test-name="is_sequence" toolset="bcc-5.5.1" />
|
|
|
-<test-result library="mpl" test-name="is_sequence" toolset="cwpro-8.3" />
|
|
|
--->
|
|
|
-
|
|
|
-</expected-failures>
|
|
|
-</pre>
|
|
|
+ To specify the explicit markup edit status/explicit-failure-markup.xml
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<!-- TOC -->
|
|
|
- <div class="toc">
|
|
|
+ <div class="detail-toc">
|
|
|
<a name="toc"></a>
|
|
|
<ul>
|
|
|
<xsl:for-each select="$libraries">
|
|
|
<xsl:sort select="." order="ascending" />
|
|
|
- <li class="toc-entry">
|
|
|
- <a href="#{.}" class="toc-entry">
|
|
|
+ <li class="detail-toc-entry">
|
|
|
+ <a href="#{.}" class="detail-toc-entry">
|
|
|
<xsl:value-of select="."/>
|
|
|
</a>
|
|
|
</li>
|
|
|
@@ -231,56 +287,132 @@
|
|
|
</a>
|
|
|
</div>
|
|
|
|
|
|
- <table border="1" cellspacing="0" cellpadding="0" class="detail-table">
|
|
|
+ <xsl:variable name="library_marks" select="$explicit_markup//mark-library[ @name = $library ]"/>
|
|
|
+
|
|
|
+ <table border="0" cellspacing="0" cellpadding="0" class="detail-table" summary="library results">
|
|
|
+
|
|
|
+ <thead>
|
|
|
+ <xsl:call-template name="insert_toolsets_row">
|
|
|
+ <xsl:with-param name="library_marks" select="$library_marks"/>
|
|
|
+ <xsl:with-param name="library" select="$library"/>
|
|
|
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
|
|
|
+ </xsl:call-template>
|
|
|
+ </thead>
|
|
|
+ <tfoot>
|
|
|
+ <xsl:call-template name="insert_toolsets_row">
|
|
|
+ <xsl:with-param name="library_marks" select="$library_marks"/>
|
|
|
+ <xsl:with-param name="library" select="$library"/>
|
|
|
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
|
|
|
+ </xsl:call-template>
|
|
|
+ </tfoot>
|
|
|
|
|
|
- <thead><xsl:call-template name="toolsets_row"/></thead>
|
|
|
- <tfoot><xsl:call-template name="toolsets_row"/></tfoot>
|
|
|
-
|
|
|
<tbody>
|
|
|
<xsl:variable name="lib_tests" select="//test-log[@library = $library]" />
|
|
|
<xsl:variable name="lib_unique_test_names"
|
|
|
select="$lib_tests[ generate-id(.) = generate-id( key('test_name_key', concat( @library, '>@<', @test-name ) ) ) ]" />
|
|
|
+ <xsl:variable name="lib_corner_case_tests_markup" select="$explicit_markup//mark-test[ @as='corner case' and @library = $library ]"/>
|
|
|
+
|
|
|
+ <xsl:variable name="lib_general_tests" select="$lib_unique_test_names[ not( @test-name = $lib_corner_case_tests_markup/@test ) ]"/>
|
|
|
+
|
|
|
+ <xsl:variable name="lib_corner_case_tests" select="$lib_unique_test_names[ @test-name = $lib_corner_case_tests_markup/@test ] " />
|
|
|
|
|
|
- <xsl:for-each select="$lib_unique_test_names">
|
|
|
+ <xsl:for-each select="$lib_general_tests">
|
|
|
<xsl:variable name="test_name" select="./@test-name"/>
|
|
|
- <xsl:variable name="test_program" select="./@test-program"/>
|
|
|
- <xsl:variable name="test_header">
|
|
|
- <td class="test-name">
|
|
|
- <a href="../{$test_program}" class="test-link">
|
|
|
- <xsl:value-of select="$test_name"/>
|
|
|
- </a>
|
|
|
- </td>
|
|
|
+ <xsl:variable name="line_mod">
|
|
|
+ <xsl:choose>
|
|
|
+ <xsl:when test="1 = last()">
|
|
|
+ <xsl:text>-single</xsl:text>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="generate-id( . ) = generate-id( $lib_general_tests[1] )">
|
|
|
+ <xsl:text>-first</xsl:text>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="generate-id( . ) = generate-id( $lib_general_tests[last()] )">
|
|
|
+ <xsl:text>-last</xsl:text>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:otherwise>
|
|
|
+ <xsl:text></xsl:text>
|
|
|
+ </xsl:otherwise>
|
|
|
+ </xsl:choose>
|
|
|
</xsl:variable>
|
|
|
+
|
|
|
+ <xsl:call-template name="insert-test-line">
|
|
|
+ <xsl:with-param name="test_results" select="$lib_tests[ @test-name = $test_name ]"/>
|
|
|
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
|
|
|
+ <xsl:with-param name="test_name" select="$test_name"/>
|
|
|
+ <xsl:with-param name="line_mod" select="$line_mod"/>
|
|
|
+ </xsl:call-template>
|
|
|
+ </xsl:for-each>
|
|
|
+
|
|
|
+ <xsl:if test="count( $lib_corner_case_tests ) > 0">
|
|
|
<tr>
|
|
|
- <xsl:copy-of select="$test_header"/>
|
|
|
- <xsl:call-template name="test_type_col"/>
|
|
|
+ <!--<td colspan="2"> </td> -->
|
|
|
+ <td class="detail-corner-case-header" colspan="{count($ordered_toolsets) + 3 }" align="center">Corner-case tests</td>
|
|
|
+ <!--<td> </td>-->
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <xsl:for-each select="$lib_corner_case_tests">
|
|
|
+ <xsl:variable name="test_name" select="@test-name"/>
|
|
|
|
|
|
- <xsl:for-each select="$toolsets">
|
|
|
- <xsl:sort select="@toolset" order="ascending" />
|
|
|
- <xsl:variable name="toolset" select="." />
|
|
|
- <xsl:variable name="test-result" select="$lib_tests[ @test-name = $test_name and @toolset=$toolset]"/>
|
|
|
+ <xsl:variable name="line_mod">
|
|
|
<xsl:choose>
|
|
|
- <xsl:when test="$mode='user'">
|
|
|
- <xsl:call-template name="insert_cell_user">
|
|
|
- <xsl:with-param name="test_log" select="$test-result"/>
|
|
|
- <xsl:with-param name="log_link" select="concat( $links_file, '#', $test_name, '-', $toolset )"/>
|
|
|
- </xsl:call-template>
|
|
|
+ <xsl:when test="1 = last()">
|
|
|
+ <xsl:text>-single</xsl:text>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="generate-id( . ) = generate-id( $lib_general_tests[1] )">
|
|
|
+ <xsl:text>-first</xsl:text>
|
|
|
</xsl:when>
|
|
|
- <xsl:when test="$mode='developer'">
|
|
|
- <xsl:call-template name="insert_cell_developer">
|
|
|
- <xsl:with-param name="test_log" select="$test-result"/>
|
|
|
- <xsl:with-param name="log_link" select="concat( $links_file, '#', $test_name, '-', $toolset )"/>
|
|
|
- </xsl:call-template>
|
|
|
+ <xsl:when test="generate-id( . ) = generate-id( $lib_general_tests[last()] )">
|
|
|
+ <xsl:text>-last</xsl:text>
|
|
|
</xsl:when>
|
|
|
+ <xsl:otherwise>
|
|
|
+ <xsl:text></xsl:text>
|
|
|
+ </xsl:otherwise>
|
|
|
</xsl:choose>
|
|
|
+ </xsl:variable>
|
|
|
+
|
|
|
+
|
|
|
+ <xsl:call-template name="insert-test-line">
|
|
|
+ <xsl:with-param name="test_results" select="$lib_tests[ @test-name = $test_name ]"/>
|
|
|
+ <xsl:with-param name="toolsets" select="$ordered_toolsets"/>
|
|
|
+ <xsl:with-param name="test_name" select="$test_name"/>
|
|
|
+ <xsl:with-param name="line_mod" select="$line_mod"/>
|
|
|
+ </xsl:call-template>
|
|
|
+ </xsl:for-each>
|
|
|
+
|
|
|
+ </xsl:if>
|
|
|
|
|
|
- </xsl:for-each>
|
|
|
- <xsl:copy-of select="$test_header"/>
|
|
|
- </tr>
|
|
|
- </xsl:for-each>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
- <div class="footer">
|
|
|
+ <xsl:if test="count( $library_marks ) > 0 ">
|
|
|
+ <table border="0" cellpadding="0" cellspacing="0" class="detail-library-notes" summary="library notes">
|
|
|
+ <xsl:for-each select="$library_marks/note">
|
|
|
+ <tr class="detail-library-note">
|
|
|
+ <td valign="top" width="3em">
|
|
|
+ <a name="{$library}-note-{position()}">
|
|
|
+ <span class="super"><xsl:value-of select="position()"/></span>
|
|
|
+ </a>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <span class="detail-library-note-header">
|
|
|
+ <xsl:choose>
|
|
|
+ <xsl:when test="@author and @date">
|
|
|
+ [ <xsl:value-of select="@author"/> <xsl:value-of select="@date"/> ]
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="@author">
|
|
|
+ [ <xsl:value-of select="@author"/> ]
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="@date">
|
|
|
+ [ <xsl:value-of select="@date"/> ]
|
|
|
+ </xsl:when>
|
|
|
+ </xsl:choose>
|
|
|
+ </span>
|
|
|
+ <xsl:copy-of select="node()"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </xsl:for-each>
|
|
|
+ </table>
|
|
|
+ </xsl:if>
|
|
|
+ <div class="detail-footer">
|
|
|
<a href="#toc" class="back-link">toc</a>
|
|
|
<xsl:text> | </xsl:text>
|
|
|
<a href="{$mode}_summary_page.html" class="back-link">summary</a>
|
|
|
@@ -312,10 +444,13 @@
|
|
|
<xsl:variable name="class">
|
|
|
<xsl:choose>
|
|
|
<xsl:when test="not( $test_log )">
|
|
|
- <xsl:text>result-missing</xsl:text>
|
|
|
+ <xsl:text>detail-missing</xsl:text>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="$explicit_markup//mark-library[ @name=$test_log/@library and ( @toolset = $test_log/@toolset or toolset/@name = $test_log/@toolset ) ]">
|
|
|
+ <xsl:text>detail-unusable</xsl:text>
|
|
|
</xsl:when>
|
|
|
<xsl:otherwise>
|
|
|
- <xsl:value-of select="concat( 'result-', $test_log/@result, '-', $test_log/@status, $is_new )"/>
|
|
|
+ <xsl:value-of select="concat( 'detail-', $test_log/@result, '-', $test_log/@status, $is_new )"/>
|
|
|
</xsl:otherwise>
|
|
|
</xsl:choose>
|
|
|
</xsl:variable>
|
|
|
@@ -343,7 +478,7 @@
|
|
|
</xsl:otherwise>
|
|
|
</xsl:choose>
|
|
|
<xsl:if test="count( $test_log ) > 1" >
|
|
|
- <div class="conf-problem">conf. problem</div>
|
|
|
+ <div class="detail-conf-problem">conf. problem</div>
|
|
|
</xsl:if>
|
|
|
</td>
|
|
|
</xsl:template>
|
|
|
@@ -356,16 +491,19 @@
|
|
|
<xsl:variable name="class">
|
|
|
<xsl:choose>
|
|
|
<xsl:when test="not( $test_log )">
|
|
|
- <xsl:text>result-missing</xsl:text>
|
|
|
+ <xsl:text>detail-missing</xsl:text>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="$explicit_markup//mark-library[ @name=$test_log/@library and ( @toolset = $test_log/@toolset or toolset/@name = $test_log/@toolset ) ]">
|
|
|
+ <xsl:text>detail-unusable</xsl:text>
|
|
|
</xsl:when>
|
|
|
<xsl:when test="$test_log[@result='fail' and @status='unexpected']">
|
|
|
- <xsl:text>result-user-fail-unexpected</xsl:text>
|
|
|
+ <xsl:text>detail-user-fail-unexpected</xsl:text>
|
|
|
</xsl:when>
|
|
|
<xsl:when test="$test_log[ @result='fail' and @status='expected' ]">
|
|
|
- <xsl:text>result-user-fail-expected</xsl:text>
|
|
|
+ <xsl:text>detail-user-fail-expected</xsl:text>
|
|
|
</xsl:when>
|
|
|
<xsl:when test="$test_log[ @result='success']">
|
|
|
- <xsl:text>result-user-success</xsl:text>
|
|
|
+ <xsl:text>detail-user-success</xsl:text>
|
|
|
</xsl:when>
|
|
|
<xsl:otherwise>
|
|
|
<xsl:message terminate="yes">
|
|
|
@@ -402,5 +540,51 @@
|
|
|
</td>
|
|
|
</xsl:template>
|
|
|
|
|
|
+ <xsl:template name="insert-test-line">
|
|
|
+ <xsl:param name="test_name"/>
|
|
|
+ <xsl:param name="test_results"/>
|
|
|
+ <xsl:param name="toolsets"/>
|
|
|
+ <xsl:param name="line_mod"/>
|
|
|
+
|
|
|
+ <xsl:variable name="test_program">
|
|
|
+ <xsl:value-of select="$test_results[1]/@test-program"/>
|
|
|
+ </xsl:variable>
|
|
|
+
|
|
|
+ <xsl:variable name="test_header">
|
|
|
+ <td class="test-name">
|
|
|
+ <a href="{$test_program}" class="test-link">
|
|
|
+ <xsl:value-of select="$test_name"/>
|
|
|
+ </a>
|
|
|
+ </td>
|
|
|
+ </xsl:variable>
|
|
|
+
|
|
|
+ <tr class="detail-row{$line_mod}">
|
|
|
+ <xsl:copy-of select="$test_header"/>
|
|
|
+ <xsl:call-template name="test_type_col"/>
|
|
|
+
|
|
|
+ <xsl:for-each select="$toolsets/toolset">
|
|
|
+ <xsl:variable name="toolset" select="@toolset" />
|
|
|
+
|
|
|
+ <xsl:variable name="test_result_for_toolset" select="$test_results[ @toolset = $toolset ]"/>
|
|
|
+ <xsl:choose>
|
|
|
+ <xsl:when test="$mode='user'">
|
|
|
+ <xsl:call-template name="insert_cell_user">
|
|
|
+ <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
|
|
|
+ <xsl:with-param name="log_link" select="concat( $links_file, '#', $test_name, '-', $toolset )"/>
|
|
|
+ </xsl:call-template>
|
|
|
+ </xsl:when>
|
|
|
+ <xsl:when test="$mode='developer'">
|
|
|
+ <xsl:call-template name="insert_cell_developer">
|
|
|
+ <xsl:with-param name="test_log" select="$test_result_for_toolset"/>
|
|
|
+ <xsl:with-param name="log_link" select="concat( $links_file, '#', $test_name, '-', $toolset )"/>
|
|
|
+ </xsl:call-template>
|
|
|
+ </xsl:when>
|
|
|
+ </xsl:choose>
|
|
|
+
|
|
|
+ </xsl:for-each>
|
|
|
+ <xsl:copy-of select="$test_header"/>
|
|
|
+ </tr>
|
|
|
+ </xsl:template>
|
|
|
+
|
|
|
|
|
|
</xsl:stylesheet>
|