diff options
Diffstat (limited to 'tools/regression/xsl_reports/xsl/v2/common.xsl')
-rw-r--r-- | tools/regression/xsl_reports/xsl/v2/common.xsl | 668 |
1 files changed, 0 insertions, 668 deletions
diff --git a/tools/regression/xsl_reports/xsl/v2/common.xsl b/tools/regression/xsl_reports/xsl/v2/common.xsl deleted file mode 100644 index 14023f0395..0000000000 --- a/tools/regression/xsl_reports/xsl/v2/common.xsl +++ /dev/null @@ -1,668 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - -Copyright MetaCommunications, Inc. 2003-2005. - -Distributed under the Boost Software License, Version 1.0. (See -accompanying file LICENSE_1_0.txt or copy at -http://www.boost.org/LICENSE_1_0.txt) - ---> - -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - xmlns:func="http://exslt.org/functions" - xmlns:date="http://exslt.org/dates-and-times" - xmlns:str="http://exslt.org/strings" - xmlns:set="http://exslt.org/sets" - xmlns:meta="http://www.meta-comm.com" - extension-element-prefixes="func" - exclude-result-prefixes="exsl func date str set meta" - version="1.0"> - - <xsl:variable name="output_directory" select="'output'"/> - - <!-- general --> - - <func:function name="meta:iif"> - <xsl:param name="condition"/> - <xsl:param name="if_true"/> - <xsl:param name="if_false"/> - - <xsl:choose> - <xsl:when test="$condition"> - <func:result select="$if_true"/> - </xsl:when> - <xsl:otherwise> - <func:result select="$if_false"/> - </xsl:otherwise> - </xsl:choose> - </func:function> - - <!-- structural --> - - <func:function name="meta:test_structure"> - <xsl:param name="document"/> - <xsl:param name="release"/> - <xsl:variable name="required_toolsets" select="$explicit_markup//mark-toolset[ @status='required' ]"/> - - <xsl:variable name="runs" select="$document//test-run"/> - <xsl:variable name="platforms" select="set:distinct( $document//test-run/@platform )"/> - - - <xsl:variable name="run_toolsets_f"> - <platforms> - <xsl:for-each select="$platforms"> - <xsl:sort select="."/> - <xsl:variable name="platform" select="."/> - <platform name="{$platform}"> - <runs> - <xsl:for-each select="$runs[ @platform = $platform ]"> - <xsl:sort select="@platform"/> - <run - runner="{@runner}" - timestamp="{@timestamp}" - platform="{@platform}" - run-type="{@run-type}" - source="{@source}" - revision="{@revision}"> - - <comment><xsl:value-of select="comment"/></comment> - <xsl:variable name="not_ordered_toolsets" select="set:distinct( .//test-log[ meta:is_test_log_a_test_case(.) and meta:show_toolset( @toolset, $release ) ]/@toolset ) "/> - - <xsl:variable name="not_ordered_toolsets_with_info_f"> - <xsl:for-each select="$not_ordered_toolsets"> - <xsl:sort select="." order="ascending"/> - <xsl:variable name="toolset" select="."/> - <xsl:variable name="required"> - <xsl:choose> - <xsl:when test="count( $required_toolsets[ @name = $toolset ] ) > 0">yes</xsl:when> - <xsl:otherwise>no</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="required_sort_hint"> - <xsl:choose> - <xsl:when test="$required = 'yes'">sort hint A</xsl:when> - <xsl:otherwise>sort hint B</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <toolset name="{$toolset}" required="{$required}" required_sort_hint="{$required_sort_hint}"/> - </xsl:for-each> - </xsl:variable> - - <xsl:variable name="not_ordered_toolsets_with_info" select="exsl:node-set( $not_ordered_toolsets_with_info_f )"/> - - <xsl:for-each select="$not_ordered_toolsets_with_info/toolset"> - <xsl:sort select="concat( @required_sort_hint, '-', @name )" order="ascending"/> - <xsl:copy-of select="."/> - </xsl:for-each> - </run> - </xsl:for-each> - </runs> - </platform> - </xsl:for-each> - </platforms> - </xsl:variable> - <func:result select="exsl:node-set( $run_toolsets_f )"/> - </func:function> - - - <func:function name="meta:test_case_status"> - <xsl:param name="explicit_markup"/> - <xsl:param name="test_log"/> - - <xsl:variable name="status"> - <xsl:choose> - <xsl:when test="meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset )"> - <xsl:text>unusable</xsl:text> - </xsl:when> - <xsl:when test="$test_log/@result='fail' and $test_log/@status='unexpected' and $test_log/@is-new='no'"> - <xsl:text>fail-unexpected</xsl:text> - </xsl:when> - <xsl:when test="$test_log/@result='fail' and $test_log/@status='unexpected' and $test_log/@is-new='yes'"> - <xsl:text>fail-unexpected-new</xsl:text> - </xsl:when> - <xsl:when test="$test_log/@result='success' and $test_log/@status='unexpected'"> - <xsl:text>success-unexpected</xsl:text> - </xsl:when> - <xsl:when test="$test_log/@status='expected'"> - <xsl:text>expected</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>other</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <func:result select="$status"/> - </func:function> - - <func:function name="meta:is_toolset_required"> - <xsl:param name="toolset"/> - <func:result select="count( $explicit_markup/explicit-failures-markup/mark-toolset[ @name = $toolset and @status='required' ] ) > 0"/> - </func:function> - - <func:function name="meta:is_library_beta"> - <xsl:param name="library"/> - <func:result select="count( $explicit_markup/explicit-failures-markup/library[ @name = $library and @status='beta' ] ) > 0"/> - </func:function> - - <func:function name="meta:is_test_log_a_test_case"> - <xsl:param name="test_log"/> - <xsl:variable name="type" select="$test_log/@test-type"/> - <func:result select="$type='compile' or $type='compile_fail' or $type='link' or $type='link_fail' - or $type='run' or $type='run_fail' or $type='run_pyd' or $type='run_mpi'"/> - </func:function> - - - <func:function name="meta:is_unusable_"> - <xsl:param name="explicit_markup"/> - <xsl:param name="library"/> - <xsl:param name="toolset"/> - - <func:result select="count( $explicit_markup//library[ @name = $library ]/mark-unusable/toolset[ meta:re_match( @name, $toolset ) ] ) > 0"/> - </func:function> - - <func:function name="meta:is_unusable"> - <xsl:param name="explicit_markup"/> - <xsl:param name="library"/> - <xsl:param name="toolset"/> - - <func:result select="count( $explicit_markup//library[ @name = $library ]/mark-unusable/toolset[ meta:re_match( @name, $toolset ) ] ) > 0"/> - </func:function> - - <func:function name="meta:re_match"> - <xsl:param name="pattern"/> - <xsl:param name="text"/> - - <xsl:choose> - <xsl:when test="not( contains( $pattern, '*' ) )"> - <func:result select="$text = $pattern"/> - </xsl:when> - <xsl:when test="$pattern = '*'"> - <func:result select="1 = 1"/> - </xsl:when> - <xsl:when test="substring( $pattern, 1, 1 ) = '*' and substring( $pattern, string-length($pattern), 1 ) = '*' "> - <func:result select="contains( $text, substring( $pattern, 2, string-length($pattern) - 2 ) ) "/> - </xsl:when> - <xsl:when test="substring( $pattern, 1, 1 ) = '*'"> - <xsl:variable name="pattern_tail" select="substring( $pattern, 2, string-length($pattern) - 1 )"/> - <func:result select="substring( $text, string-length($text) - string-length($pattern_tail) + 1, string-length($pattern_tail) ) = $pattern_tail"/> - </xsl:when> - <xsl:when test="substring( $pattern, string-length($pattern), 1 ) = '*' "> - <xsl:variable name="pattern_head" select="substring( $pattern, 1, string-length($pattern) - 1 )"/> - <func:result select="starts-with( $text, $pattern_head )"/> - </xsl:when> - <xsl:when test="contains( $pattern, '*' ) "> - <xsl:variable name="pattern_head" select="substring-before( $pattern, '*' )"/> - <xsl:variable name="pattern_tail" select="substring-after( $pattern, '*' )"/> - <func:result select="starts-with( $text, $pattern_head ) and substring( $text, string-length($text) - string-length($pattern_tail) + 1, string-length($pattern_tail) ) = $pattern_tail"/> - </xsl:when> - </xsl:choose> - </func:function> - - <!-- date-time --> - - <func:function name="meta:timestamp_difference"> - <xsl:param name="x"/> - <xsl:param name="y"/> - - <xsl:variable name="duration" select="date:difference( $x, $y )"/> - <xsl:choose> - <xsl:when test="contains( $duration, 'D' )"> - <xsl:variable name="days" select="substring-before( $duration, 'D' )"/> - <func:result select="substring-after( $days, 'P' )"/> - </xsl:when> - <xsl:otherwise> - <func:result select="0"/> - </xsl:otherwise> - </xsl:choose> - - </func:function> - - <func:function name="meta:format_timestamp"> - <xsl:param name="timestamp"/> - <xsl:choose> - <xsl:when test="date:date( $timestamp ) = ''"> - <func:result select="$timestamp"/> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="time" select="substring-before( date:time( $timestamp ), 'Z' )"/> - <xsl:variable name="day" select="date:day-in-month( $timestamp )"/> - <xsl:variable name="day_abbrev" select="date:day-abbreviation( $timestamp )"/> - <xsl:variable name="month_abbrev" select="date:month-abbreviation( $timestamp )"/> - <xsl:variable name="year" select="date:year( $timestamp )"/> - <func:result select="concat( $day_abbrev, ', ', $day, ' ', $month_abbrev, ' ', $year, ' ', $time, ' +0000' )"/> - </xsl:otherwise> - </xsl:choose> - - </func:function> - - <!-- path --> - - <func:function name="meta:encode_path"> - <xsl:param name="path"/> - <func:result select="translate( translate( $path, '/', '-' ), './', '-' )"/> - </func:function> - - <func:function name="meta:output_file_path"> - <xsl:param name="path"/> - <func:result select="concat( $output_directory, '/', meta:encode_path( $path ), '.html' )"/> - </func:function> - - <func:function name="meta:log_file_path"> - <xsl:param name="test_log"/> - <xsl:param name="runner"/> - <xsl:param name="release_postfix" select="''"/> - <func:result> - <xsl:choose> - <xsl:when test="meta:show_output( $explicit_markup, $test_log )"> - <xsl:value-of select="meta:output_file_path( concat( $runner, '-', $test_log/@target-directory, $release_postfix ) )"/> - </xsl:when> - <xsl:otherwise> - <xsl:text></xsl:text> - </xsl:otherwise> - </xsl:choose> - </func:result> - </func:function> - - <!-- presentation --> - - <func:function name="meta:show_library"> - <xsl:param name="library"/> - <xsl:param name="release" select="'no'"/> - <func:result select="$release != 'yes' or not( meta:is_library_beta( $library ) )"/> - </func:function> - - <func:function name="meta:show_output"> - <xsl:param name="explicit_markup"/> - <xsl:param name="test_log"/> - <func:result select="( $test_log/@result != 'success' or $test_log/@show-run-output = 'true' or - $test_log/@result = 'success' and $test_log/@status = 'unexpected' ) - and not( meta:is_unusable( $explicit_markup, $test_log/@library, $test_log/@toolset ) ) - "/> - </func:function> - - <func:function name="meta:show_toolset"> - <xsl:param name="toolset"/> - <xsl:param name="release" select="'no'"/> - <func:result select="$release != 'yes' or meta:is_toolset_required( $toolset )"/> - </func:function> - - <func:function name="meta:result_cell_class"> - <xsl:param name="library"/> - <xsl:param name="toolset"/> - <xsl:param name="test_logs"/> - - <func:result> - <xsl:choose> - <xsl:when test="meta:is_unusable( $explicit_markup, $library, $toolset )"> - <xsl:text>unusable</xsl:text> - </xsl:when> - - <xsl:when test="count( $test_logs ) < 1"> - <xsl:text>missing</xsl:text> - </xsl:when> - - <xsl:when test="count( $test_logs[@result='fail' and @status='unexpected' and @is-new='no'] )"> - <xsl:text>fail-unexpected</xsl:text> - </xsl:when> - - <xsl:when test="count( $test_logs[@result='fail' and @status='unexpected' and @is-new='yes'] )"> - <xsl:text>fail-unexpected-new</xsl:text> - </xsl:when> - - - <xsl:when test="count( $test_logs[@result='fail' and @expected-reason != '' ] )"> - <xsl:text>fail-expected-unresearched</xsl:text> - </xsl:when> - - <xsl:when test="count( $test_logs[@result='fail'] )"> - <xsl:text>fail-expected</xsl:text> - </xsl:when> - - - <xsl:when test="count( $test_logs[@result='success' and @status='unexpected'] )"> - <xsl:text>success-unexpected</xsl:text> - </xsl:when> - - <xsl:when test="count( $test_logs[@status='expected'] )"> - <xsl:text>success-expected</xsl:text> - </xsl:when> - - <xsl:otherwise> - <xsl:text>unknown</xsl:text> - </xsl:otherwise> - </xsl:choose> - </func:result> - </func:function> - - <xsl:template name="insert_report_header"> - <xsl:param name="run_date"/> - <xsl:param name="warnings"/> - <xsl:param name="purpose"/> - - <div class="report-info"> - <div> - <b>Report Time: </b> <xsl:value-of select="meta:format_timestamp( $run_date )"/> - </div> - - <xsl:if test="$purpose"> - <div> - <b>Purpose: </b> <xsl:value-of select="$purpose"/> - </div> - </xsl:if> - - <xsl:if test="$warnings"> - <xsl:for-each select="str:split( $warnings, '+' )"> - <div class="report-warning"> - <b>Warning: </b> - <a href="mailto:boost-testing@lists.boost.org?subject=[Report Pages] {.} ({meta:format_timestamp( $run_date )})" class="warning-link"> - <xsl:value-of select="."/> - </a> - </div> - </xsl:for-each> - </xsl:if> - - </div> - - </xsl:template> - - - <xsl:template name="insert_view_link"> - <xsl:param name="page"/> - <xsl:param name="release"/> - <xsl:param name="class"/> - - <xsl:choose> - <xsl:when test="$release='yes'"> - <a href="{$page}.html" class="{$class}" target="_top"> - <xsl:text>Full View</xsl:text> - </a> - </xsl:when> - <xsl:otherwise> - <a href="{$page}_release.html" class="{$class}" target="_top"> - <xsl:text>Release View</xsl:text> - </a> - </xsl:otherwise> - </xsl:choose> - - </xsl:template> - - - <xsl:template name="insert_page_links"> - <xsl:param name="page"/> - <xsl:param name="release"/> - <xsl:param name="mode"/> - - <div class="links"> - <xsl:copy-of select="document( 'html/make_tinyurl.html' )"/> - <xsl:text> | </xsl:text> - <xsl:call-template name="insert_view_link"> - <xsl:with-param name="page" select="$page"/> - <xsl:with-param name="class" select="''"/> - <xsl:with-param name="release" select="$release"/> - </xsl:call-template> - - <xsl:variable name="release_postfix"> - <xsl:if test="$release='yes'">_release</xsl:if> - </xsl:variable> - - <xsl:text> | </xsl:text> - <a href="../{$mode}/{$page}{$release_postfix}.html" class="view-link" target="_top"> - <xsl:value-of select="$mode"/><xsl:text> View</xsl:text> - </a> - - <xsl:text> | </xsl:text> - <a href="{$page}{$release_postfix}_.html#legend"> - <xsl:text>Legend</xsl:text> - </a> - - </div> - - </xsl:template> - - - <xsl:template name="insert_runners_rows"> - <xsl:param name="mode"/> - <xsl:param name="top_or_bottom"/> - <xsl:param name="run_toolsets"/> - <xsl:param name="run_date"/> - - <xsl:variable name="colspan"> - <xsl:choose> - <xsl:when test="$mode = 'summary'">1</xsl:when> - <xsl:when test="$mode = 'details'">2</xsl:when> - </xsl:choose> - </xsl:variable> - - - <xsl:if test="$top_or_bottom = 'top'"> - <tr> - <td colspan="{$colspan}"> </td> - <xsl:for-each select="$run_toolsets/platforms/platform"> - <xsl:if test="count(./runs/run/toolset) > 0"> - <td colspan="{count(./runs/run/toolset)}" class="runner"> - <xsl:value-of select="@name"/> - </td> - </xsl:if> - </xsl:for-each> - <td colspan="{$colspan}"> </td> - </tr> - </xsl:if> - - <tr> - <td colspan="{$colspan}"> </td> - <xsl:for-each select="$run_toolsets//runs/run[ count(toolset) > 0 ]"> - <td colspan="{count(toolset)}" class="runner"> - <a href="../{@runner}.html"> - <xsl:value-of select="@runner"/> - </a> - </td> - </xsl:for-each> - <td colspan="{$colspan}"> </td> - </tr> - - <tr> - <td colspan="{$colspan}"> </td> - <xsl:for-each select="$run_toolsets//runs/run[ count(toolset) > 0 ]"> - <td colspan="{count(toolset)}" class="revision"> - rev <xsl:value-of select="@revision"/> - </td> - </xsl:for-each> - <td colspan="{$colspan}"> </td> - </tr> - - <tr> - <td colspan="{$colspan}"> </td> - <xsl:for-each select="$run_toolsets//runs/run[ count(toolset) > 0 ]"> - <xsl:variable name="timestamp_diff" select="meta:timestamp_difference( @timestamp, $run_date )"/> - <xsl:variable name="age" select="meta:iif( $timestamp_diff < 30, $timestamp_diff, 30 )"/> - <td colspan="{count(toolset)}" class="timestamp"> - <span class="timestamp-{$age}"><xsl:value-of select="meta:format_timestamp( @timestamp )"/></span> - <xsl:if test="@run-type != 'full'"> - <span class="run-type-{@run-type}"><xsl:value-of select="substring( @run-type, 1, 1 )"/></span> - </xsl:if> - </td> - </xsl:for-each> - <td colspan="{$colspan}"> </td> - </tr> - - <xsl:if test="$top_or_bottom = 'bottom'"> - <tr> - <td colspan="{$colspan}"> </td> - <xsl:for-each select="$run_toolsets/platforms/platform"> - <xsl:if test="count(./runs/run/toolset) > 0"> - <td colspan="{count(./runs/run/toolset)}" class="runner"> - <xsl:value-of select="@name"/> - </td> - </xsl:if> - </xsl:for-each> - <td colspan="{$colspan}"> </td> - </tr> - </xsl:if> - - </xsl:template> - - <xsl:template name="insert_toolsets_row"> - <xsl:param name="mode"/> - <xsl:param name="library"/> - <xsl:param name="library_marks"/> - <xsl:param name="run_date"/> - - <tr valign="middle"> - <xsl:variable name="colspan"> - <xsl:choose> - <xsl:when test="$mode = 'summary'">1</xsl:when> - <xsl:when test="$mode = 'details'">2</xsl:when> - </xsl:choose> - </xsl:variable> - - <xsl:variable name="title"> - <xsl:choose> - <xsl:when test="$mode = 'summary'"> library / toolset </xsl:when> - <xsl:when test="$mode = 'details'"> test / toolset </xsl:when> - </xsl:choose> - </xsl:variable> - - <td class="head" colspan="{$colspan}" width="1%"><xsl:value-of select="$title"/></td> - - - <xsl:for-each select="$run_toolsets//runs/run/toolset"> - <xsl:variable name="toolset" select="@name"/> - - <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:variable name="age" select="meta:timestamp_difference( ../@timestamp, $run_date )"/> - <span class="timestamp-{$age}"> - - <!-- break toolset names into words --> - <xsl:for-each select="str:tokenize($toolset, '-')"> - <xsl:value-of select="." /> - <xsl:if test="position()!=last()"> - <xsl:text>- </xsl:text> - </xsl:if> - </xsl:for-each> - - <xsl:if test="$mode = 'details'"> - <!-- prepare toolset notes --> - <xsl:variable name="toolset_notes_fragment"> - <xsl:for-each select="$library_marks/note"> - <xsl:if test="count( ../toolset[meta:re_match( @name, $toolset )] ) > 0"> - <note index="{position()}"/> - </xsl:if> - </xsl:for-each> - </xsl:variable> - - <xsl:variable name="toolset_notes" select="exsl:node-set( $toolset_notes_fragment )/*"/> - <xsl:if test="count( $toolset_notes ) > 0"> - <span class="super"> - <xsl:for-each select="$toolset_notes"> - <xsl:variable name="note_index" select="@index"/> - <xsl:if test="generate-id( . ) != generate-id( $toolset_notes[1] )">, </xsl:if> - <a href="#{$library}-note-{$note_index}" title="Note {$note_index}"> - <xsl:value-of select="$note_index"/> - </a> - </xsl:for-each> - </span> - </xsl:if> - </xsl:if> - - </span> - </td> - </xsl:for-each> - - <td class="head" width="1%"><xsl:value-of select="$title"/></td> - </tr> - </xsl:template> - - <xsl:template name="show_notes"> - <xsl:param name="explicit_markup"/> - <xsl:param name="notes"/> - <div class="notes"> - <xsl:for-each select="$notes"> - <div> - <xsl:variable name="ref_id" select="@refid"/> - <xsl:call-template name="show_note"> - <xsl:with-param name="note" select="."/> - <xsl:with-param name="references" select="$ref_id"/> - </xsl:call-template> - </div> - </xsl:for-each> - </div> - </xsl:template> - - <xsl:template name="show_note"> - <xsl:param name="note"/> - <xsl:param name="references"/> - - <div class="note"> - <xsl:variable name="author"> - <xsl:choose> - <xsl:when test="$note/@author"> - <xsl:value-of select="$note/@author"/> - </xsl:when> - <xsl:otherwise> - <xsl:text/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:variable name="date"> - <xsl:choose> - <xsl:when test="$note/@date"> - <xsl:value-of select="$note/@date"/> - </xsl:when> - <xsl:otherwise> - <xsl:text/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <span class="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:if test="$references"> - <!-- lookup references (refid="17,18") --> - <xsl:for-each select="str:tokenize($references, ',')"> - <xsl:variable name="ref_id" select="."/> - <xsl:variable name="referenced_note" select="$explicit_markup//note[ $ref_id = @id ]"/> - - <xsl:choose> - <xsl:when test="$referenced_note"> - <xsl:copy-of select="$referenced_note/node()"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$ref_id"/> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </xsl:if> - - <xsl:copy-of select="$note/node()"/> - - </div> - </xsl:template> - -</xsl:stylesheet> |