blob: 0c38be1000c1d8a45081c560d8e5352470437ca6 [file] [log] [blame]
The Android Open Source Projectf8057102009-03-15 16:47:16 -07001<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2008 The Android Open Source Project
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16
17<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> ]>
18<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
19 <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
20
21 <xsl:template match="/">
22
23 <html>
Brian Muramatsu1d67e192012-01-18 15:24:23 -080024 <head>
25 <title>Test Report for <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_model" /> - <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@deviceID"/></title>
26 <script>
27 function toggle(id) {
28 e = document.getElementById(id)
29 e.style.display = e.style.display == "none" ? "block" : "none"
30 }
31 </script>
32 <STYLE type="text/css">
33 @import "cts_result.css";
34 </STYLE>
35 </head>
The Android Open Source Projectf8057102009-03-15 16:47:16 -070036 <body>
Brian Muramatsu1d67e192012-01-18 15:24:23 -080037 <DIV>
38 <TABLE class="title">
The Android Open Source Projectf8057102009-03-15 16:47:16 -070039 <TR>
40 <TD width="40%" align="left"><img src="logo.gif"></img></TD>
41 <TD width="60%" align="left">
Phil Dubachdebd3ce2009-05-11 13:28:23 -070042 <h1>Test Report for <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_model"/> -
Brian Muramatsub7ca3262010-10-26 11:00:24 -070043 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@deviceID"/>
44 </h1>
The Android Open Source Projectf8057102009-03-15 16:47:16 -070045 </TD>
46 </TR>
Brian Muramatsub7ca3262010-10-26 11:00:24 -070047 </TABLE>
48 </DIV>
49 <img src="newrule-green.png" align="left"></img>
The Android Open Source Projectf8057102009-03-15 16:47:16 -070050
Brian Muramatsub7ca3262010-10-26 11:00:24 -070051 <br></br>
Brian Muramatsu1d67e192012-01-18 15:24:23 -080052
53 <center>
54 <a href="#" onclick="toggle('summary');">Show Device Information</a>
55 </center>
56
Brian Muramatsub7ca3262010-10-26 11:00:24 -070057 <br></br>
The Android Open Source Projectf8057102009-03-15 16:47:16 -070058
Brian Muramatsu1d67e192012-01-18 15:24:23 -080059 <DIV id="summary" style="display: none">
60 <TABLE class="summary">
Brian Muramatsub7ca3262010-10-26 11:00:24 -070061 <TR>
Brian Muramatsudf9378a2012-01-19 16:09:14 -080062 <TH colspan="2">Device Information</TH>
Brian Muramatsub7ca3262010-10-26 11:00:24 -070063 </TR>
Brian Muramatsub7ca3262010-10-26 11:00:24 -070064 <TR>
Brian Muramatsudf9378a2012-01-19 16:09:14 -080065 <TD width="50%">
Brian Muramatsub7ca3262010-10-26 11:00:24 -070066 <!-- Device information -->
Brian Muramatsu1d67e192012-01-18 15:24:23 -080067 <TABLE>
68 <TR>
69 <TD class="rowtitle">Build Model</TD>
70 <TD>
71 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_model"/>
72 </TD>
73 </TR>
74 <TR>
75 <TD class="rowtitle">Build Name</TD>
76 <TD>
77 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@buildName"/>
78 </TD>
79 </TR>
80 <TR>
81 <TD class="rowtitle">Build Brand</TD>
82 <TD>
83 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_brand"/>
84 </TD>
85 </TR>
86 <TR>
87 <TD class="rowtitle">Build Manufacturer</TD>
88 <TD>
89 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_manufacturer"/>
90 </TD>
91 </TR>
92 <TR>
93 <TD class="rowtitle">Device ID</TD>
94 <TD>
95 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@deviceID"/>
96 </TD>
97 </TR>
98 <TR>
99 <TD class="rowtitle">Firmware Version</TD>
100 <TD>
101 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@buildVersion"/>
102 </TD>
103 </TR>
104 <TR>
105 <TD class="rowtitle">Firmware Build Number</TD>
106 <TD>
107 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@buildID"/>
108 </TD>
109 </TR>
110 <TR>
111 <TD class="rowtitle">Build Fingerprint</TD>
112 <TD>
113 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_fingerprint"/>
114 </TD>
115 </TR>
116 <TR>
117 <TD class="rowtitle">Build ABI</TD>
118 <TD>
119 <xsl:value-of
120 select="TestResult/DeviceInfo/BuildInfo/@build_abi"/>
121 </TD>
122 </TR>
123 <TR>
124 <TD class="rowtitle">Build ABI2</TD>
125 <TD>
126 <xsl:value-of
127 select="TestResult/DeviceInfo/BuildInfo/@build_abi2"/>
128 </TD>
129 </TR>
130 <TR>
131 <TD class="rowtitle">Android Platform Version</TD>
132 <TD>
133 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@androidPlatformVersion"/>
134 </TD>
135 </TR>
136 <TR>
137 <TD class="rowtitle">Supported Locales</TD>
138 <TD>
139 <xsl:call-template name="formatDelimitedString">
140 <xsl:with-param name="string" select="TestResult/DeviceInfo/BuildInfo/@locales"/>
141 </xsl:call-template>
142 </TD>
143 </TR>
144 <TR>
145 <TD class="rowtitle">Screen Size</TD>
146 <TD>
147 <xsl:value-of select="TestResult/DeviceInfo/Screen/@screen_size"/>
148 </TD>
149 </TR>
150 <TR>
151 <TD class="rowtitle">Resolution</TD>
152 <TD>
153 <xsl:value-of select="TestResult/DeviceInfo/Screen/@resolution"/>
154 </TD>
155 </TR>
156 <TR>
157 <TD class="rowtitle">Density</TD>
158 <TD>
159 <xsl:value-of select="TestResult/DeviceInfo/Screen/@screen_density"/>
160 (<xsl:value-of select="TestResult/DeviceInfo/Screen/@screen_density_bucket"/>)
161 </TD>
162 </TR>
163 <TR>
164 <TD class="rowtitle">Phone number</TD>
165 <TD>
166 <xsl:value-of select="TestResult/DeviceInfo/PhoneSubInfo/@subscriberId"/>
167 </TD>
168 </TR>
169 <TR>
170 <TD class="rowtitle">X dpi</TD>
171 <TD>
172 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@Xdpi"/>
173 </TD>
174 </TR>
175 <TR>
176 <TD class="rowtitle">Y dpi</TD>
177 <TD>
178 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@Ydpi"/>
179 </TD>
180 </TR>
181 <TR>
182 <TD class="rowtitle">Touch</TD>
183 <TD>
184 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@touch"/>
185 </TD>
186 </TR>
187 <TR>
188 <TD class="rowtitle">Navigation</TD>
189 <TD>
190 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@navigation"/>
191 </TD>
192 </TR>
193 <TR>
194 <TD class="rowtitle">Keypad</TD>
195 <TD>
196 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@keypad"/>
197 </TD>
198 </TR>
199 <TR>
200 <TD class="rowtitle">Network</TD>
201 <TD>
202 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@network"/>
203 </TD>
204 </TR>
205 <TR>
206 <TD class="rowtitle">IMEI</TD>
207 <TD>
208 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@imei"/>
209 </TD>
210 </TR>
211 <TR>
212 <TD class="rowtitle">IMSI</TD>
213 <TD>
214 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@imsi"/>
215 </TD>
216 </TR>
217 <TR>
218 <TD class="rowtitle">Open GL ES Version</TD>
219 <TD>
220 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@openGlEsVersion"/>
221 </TD>
222 </TR>
223 <TR>
224 <TD class="rowtitle">Open GL Compressed Texture Formats</TD>
225 <TD>
226 <UL>
227 <xsl:for-each select="TestResult/DeviceInfo/OpenGLCompressedTextureFormatsInfo/TextureFormat">
228 <LI><xsl:value-of select="@name" /></LI>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700229 </xsl:for-each>
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800230 </UL>
231 </TD>
232 </TR>
233 <TR>
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800234 <TD class="rowtitle">Root Processes</TD>
235 <TD>
236 <UL>
237 <xsl:for-each select="TestResult/DeviceInfo/ProcessInfo/Process[@uid='0']">
238 <LI><xsl:value-of select="@name" /></LI>
239 </xsl:for-each>
240 </UL>
241 </TD>
242 </TR>
243
244 </TABLE>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700245 </TD>
246
Brian Muramatsudf9378a2012-01-19 16:09:14 -0800247 <TD width="50%">
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800248 <TABLE>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700249
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800250 <TR>
251 <TD class="rowtitle">Features</TD>
252 <TD>
253 <xsl:for-each select="TestResult/DeviceInfo/FeatureInfo/Feature[@type='sdk']">
254 <xsl:text>[</xsl:text>
255 <xsl:choose>
256 <xsl:when test="@available = 'true'">
257 <xsl:text>X</xsl:text>
258 </xsl:when>
259 <xsl:otherwise>
260 <xsl:text>_</xsl:text>
261 </xsl:otherwise>
262 </xsl:choose>
263 <xsl:text>] </xsl:text>
264
265 <xsl:value-of select="@name" />
266 <br />
267 </xsl:for-each>
268 </TD>
269 </TR>
270 <TR>
271 <TD class="rowtitle">Other Features</TD>
272 <TD>
273 <UL>
274 <xsl:for-each select="TestResult/DeviceInfo/FeatureInfo/Feature[@type='other']">
275 <LI><xsl:value-of select="@name" /></LI>
276 </xsl:for-each>
277 </UL>
278 </TD>
279 </TR>
280 <TR>
Brian Muramatsudf9378a2012-01-19 16:09:14 -0800281 <TD class="rowtitle">System Libraries</TD>
282 <TD>
283 <UL>
284 <xsl:for-each select="TestResult/DeviceInfo/SystemLibrariesInfo/Library">
285 <LI><xsl:value-of select="@name" /></LI>
286 </xsl:for-each>
287 </UL>
288 </TD>
289 </TR>
290 <TR>
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800291 <TD class="rowtitle">Partitions</TD>
292 <TD>
293 <pre>
294 <xsl:call-template name="formatDelimitedString">
295 <xsl:with-param name="string" select="TestResult/DeviceInfo/BuildInfo/@partitions" />
296 <xsl:with-param name="numTokensPerRow" select="1" />
297 </xsl:call-template>
298 </pre>
299 </TD>
300 </TR>
301 </TABLE>
302 </TD>
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800303 </TR>
304 </TABLE>
305 <br />
306 <br />
307 </DIV>
308
309 <DIV>
310 <TABLE class="summary">
311 <TR>
312 <TH colspan="2">Test Summary</TH>
313 </TR>
314 <TR>
315 <TD class="rowtitle">CTS version</TD>
316 <TD>
317 <xsl:value-of select="TestResult/HostInfo/Cts/@version"/>
318 </TD>
319 </TR>
320 <TR>
321 <TD class="rowtitle">Test timeout</TD>
322 <TD>
323 <xsl:value-of select="TestResult/HostInfo/Cts/IntValue[@name='testStatusTimeoutMs']/@value" /> ms
324 </TD>
325 </TR>
326 <TR>
327 <TD class="rowtitle">Host Info</TD>
328 <TD>
329 <xsl:value-of select="TestResult/HostInfo/@name"/>
330 (<xsl:value-of select="TestResult/HostInfo/Os/@name"/> -
331 <xsl:value-of select="TestResult/HostInfo/Os/@version"/>)
332 </TD>
333 </TR>
334 <TR>
335 <TD class="rowtitle">Plan name</TD>
336 <TD>
337 <xsl:value-of select="TestResult/@testPlan"/>
338 </TD>
339 </TR>
340 <TR>
341 <TD class="rowtitle">Start time</TD>
342 <TD>
343 <xsl:value-of select="TestResult/@starttime"/>
344 </TD>
345 </TR>
346 <TR>
347 <TD class="rowtitle">End time</TD>
348 <TD>
349 <xsl:value-of select="TestResult/@endtime"/>
350 </TD>
351 </TR>
352 <TR>
353 <TD class="rowtitle">Tests Passed</TD>
354 <TD>
355 <xsl:value-of select="TestResult/Summary/@pass"/>
356 </TD>
357 </TR>
358 <TR>
359 <TD class="rowtitle">Tests Failed</TD>
360 <TD>
361 <xsl:value-of select="TestResult/Summary/@failed"/>
362 </TD>
363 </TR>
364 <TR>
365 <TD class="rowtitle">Tests Timed out</TD>
366 <TD>
367 <xsl:value-of select="TestResult/Summary/@timeout"/>
368 </TD>
369 </TR>
370 <TR>
371 <TD class="rowtitle">Tests Not Executed</TD>
372 <TD>
373 <xsl:value-of select="TestResult/Summary/@notExecuted"/>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700374 </TD>
375 </TR>
376 </TABLE>
377 </DIV>
378
379 <!-- High level summary of test execution -->
380 <h2 align="center">Test Summary by Package</h2>
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800381 <DIV>
382 <TABLE class="testsummary">
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700383 <TR>
384 <TH>Test Package</TH>
385 <TH>Passed</TH>
386 <TH>Failed</TH>
387 <TH>Timed Out</TH>
Brian Muramatsua0a70a42011-10-28 11:01:31 -0700388 <TH>Not Executed</TH>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700389 <TH>Total Tests</TH>
390 </TR>
391 <xsl:for-each select="TestResult/TestPackage">
392 <TR>
393 <TD>
Brett Chabotf6a4b2d2011-10-18 16:43:24 -0700394 <xsl:variable name="href"><xsl:value-of select="@appPackageName"/></xsl:variable>
395 <a href="#{$href}"><xsl:value-of select="@appPackageName"/></a>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700396 </TD>
397 <TD>
398 <xsl:value-of select="count(TestSuite//Test[@result = 'pass'])"/>
399 </TD>
400 <TD>
401 <xsl:value-of select="count(TestSuite//Test[@result = 'fail'])"/>
402 </TD>
403 <TD>
404 <xsl:value-of select="count(TestSuite//Test[@result = 'timeout'])"/>
405 </TD>
406 <TD>
Brian Muramatsua0a70a42011-10-28 11:01:31 -0700407 <xsl:value-of select="count(TestSuite//Test[@result = 'notExecuted'])"/>
408 </TD>
409 <TD>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700410 <xsl:value-of select="count(TestSuite//Test)"/>
411 </TD>
412 </TR>
413 </xsl:for-each> <!-- end package -->
414 </TABLE>
415 </DIV>
416
417 <xsl:call-template name="filteredResultTestReport">
418 <xsl:with-param name="header" select="'Test Failures'" />
419 <xsl:with-param name="resultFilter" select="'fail'" />
420 </xsl:call-template>
421
422 <xsl:call-template name="filteredResultTestReport">
423 <xsl:with-param name="header" select="'Test Timeouts'" />
424 <xsl:with-param name="resultFilter" select="'timeout'" />
425 </xsl:call-template>
426
427 <h2 align="center">Detailed Test Report</h2>
428 <xsl:call-template name="detailedTestReport" />
429
430 </body>
431 </html>
432 </xsl:template>
433
434 <xsl:template name="filteredResultTestReport">
435 <xsl:param name="header" />
436 <xsl:param name="resultFilter" />
437 <xsl:variable name="numMatching" select="count(TestResult/TestPackage/TestSuite//TestCase/Test[@result=$resultFilter])" />
438 <xsl:if test="$numMatching &gt; 0">
439 <h2 align="center"><xsl:value-of select="$header" /> (<xsl:value-of select="$numMatching"/>)</h2>
440 <xsl:call-template name="detailedTestReport">
441 <xsl:with-param name="resultFilter" select="$resultFilter"/>
442 </xsl:call-template>
443 </xsl:if>
444 </xsl:template>
445
446 <xsl:template name="detailedTestReport">
447 <xsl:param name="resultFilter" />
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800448 <DIV>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700449 <xsl:for-each select="TestResult/TestPackage">
450 <xsl:if test="$resultFilter=''
451 or count(TestSuite//TestCase/Test[@result=$resultFilter]) &gt; 0">
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700452
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800453 <TABLE class="testdetails">
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700454 <TR>
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800455 <TD class="package" colspan="3">
456 <xsl:variable name="href"><xsl:value-of select="@appPackageName"/></xsl:variable>
457 <a name="{$href}">Compatibility Test Package: <xsl:value-of select="@appPackageName"/></a>
458 </TD>
459 </TR>
460
461 <TR>
462 <TH width="30%">Test</TH>
463 <TH width="5%">Result</TH>
Keun young Park34246562012-09-18 11:18:20 -0700464 <TH>Details</TH>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700465 </TR>
466
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700467 <!-- test case -->
468 <xsl:for-each select="TestSuite//TestCase">
Phil Dubachd0e90c42009-03-26 10:29:43 -0700469
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700470 <xsl:if test="$resultFilter='' or count(Test[@result=$resultFilter]) &gt; 0">
471 <!-- emit a blank row before every test suite name -->
472 <xsl:if test="position()!=1">
473 <TR><TD class="testcasespacer" colspan="3"></TD></TR>
474 </xsl:if>
475
476 <TR>
477 <TD class="testcase" colspan="3">
478 <xsl:for-each select="ancestor::TestSuite">
479 <xsl:if test="position()!=1">.</xsl:if>
480 <xsl:value-of select="@name"/>
481 </xsl:for-each>
482 <xsl:text>.</xsl:text>
483 <xsl:value-of select="@name"/>
484 </TD>
485 </TR>
Phil Dubachd0e90c42009-03-26 10:29:43 -0700486 </xsl:if>
487
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700488 <!-- test -->
489 <xsl:for-each select="Test">
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700490 <xsl:if test="$resultFilter='' or $resultFilter=@result">
491 <TR>
492 <TD class="testname"> -- <xsl:value-of select="@name"/></TD>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700493
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700494 <!-- test results -->
495 <xsl:choose>
496 <xsl:when test="string(@KnownFailure)">
497 <!-- "pass" indicates the that test actually passed (results have been inverted already) -->
498 <xsl:if test="@result='pass'">
499 <TD class="pass">
500 <div style="text-align: center; margin-left:auto; margin-right:auto;">
501 known problem
502 </div>
503 </TD>
504 <TD class="failuredetails"></TD>
505 </xsl:if>
Gaurav Mathur86f896f2009-04-01 13:59:23 -0700506
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700507 <!-- "fail" indicates that a known failure actually passed (results have been inverted already) -->
508 <xsl:if test="@result='fail'">
509 <TD class="failed">
510 <div style="text-align: center; margin-left:auto; margin-right:auto;">
511 <xsl:value-of select="@result"/>
512 </div>
513 </TD>
514 <TD class="failuredetails">
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800515 <div class="details">
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700516 A test that was a known failure actually passed. Please check.
517 </div>
518 </TD>
519 </xsl:if>
520 </xsl:when>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700521
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700522 <xsl:otherwise>
523 <xsl:if test="@result='pass'">
524 <TD class="pass">
525 <div style="text-align: center; margin-left:auto; margin-right:auto;">
526 <xsl:value-of select="@result"/>
527 </div>
528 </TD>
529 <TD class="failuredetails"></TD>
530 </xsl:if>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700531
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700532 <xsl:if test="@result='fail'">
533 <TD class="failed">
534 <div style="text-align: center; margin-left:auto; margin-right:auto;">
535 <xsl:value-of select="@result"/>
536 </div>
537 </TD>
538 <TD class="failuredetails">
Brian Muramatsu1d67e192012-01-18 15:24:23 -0800539 <div class="details">
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700540 <xsl:value-of select="FailedScene/@message"/>
541 </div>
542 </TD>
543 </xsl:if>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700544
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700545 <xsl:if test="@result='timeout'">
546 <TD class="timeout">
547 <div style="text-align: center; margin-left:auto; margin-right:auto;">
548 <xsl:value-of select="@result"/>
549 </div>
550 <TD class="failuredetails"></TD>
551 </TD>
552 </xsl:if>
Phil Dubachd0e90c42009-03-26 10:29:43 -0700553
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700554 <xsl:if test="@result='notExecuted'">
555 <TD class="notExecuted">
556 <div style="text-align: center; margin-left:auto; margin-right:auto;">
557 <xsl:value-of select="@result"/>
558 </div>
559 </TD>
560 <TD class="failuredetails"></TD>
561 </xsl:if>
562 </xsl:otherwise>
563 </xsl:choose>
564 </TR> <!-- finished with a row -->
565 </xsl:if>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700566 </xsl:for-each> <!-- end test -->
567 </xsl:for-each> <!-- end test case -->
568 </TABLE>
Brian Muramatsub7ca3262010-10-26 11:00:24 -0700569 </xsl:if>
570 </xsl:for-each> <!-- end test package -->
571 </DIV>
Brian Muramatsuc193da82010-05-24 18:36:34 -0700572 </xsl:template>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700573
Brian Muramatsuc193da82010-05-24 18:36:34 -0700574 <!-- Take a delimited string and insert line breaks after a some number of elements. -->
575 <xsl:template name="formatDelimitedString">
576 <xsl:param name="string" />
577 <xsl:param name="numTokensPerRow" select="10" />
578 <xsl:param name="tokenIndex" select="1" />
579 <xsl:if test="$string">
580 <!-- Requires the last element to also have a delimiter after it. -->
581 <xsl:variable name="token" select="substring-before($string, ';')" />
582 <xsl:value-of select="$token" />
583 <xsl:text>&#160;</xsl:text>
584
585 <xsl:if test="$tokenIndex mod $numTokensPerRow = 0">
586 <br />
587 </xsl:if>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700588
Brian Muramatsuc193da82010-05-24 18:36:34 -0700589 <xsl:call-template name="formatDelimitedString">
590 <xsl:with-param name="string" select="substring-after($string, ';')" />
591 <xsl:with-param name="numTokensPerRow" select="$numTokensPerRow" />
592 <xsl:with-param name="tokenIndex" select="$tokenIndex + 1" />
593 </xsl:call-template>
594 </xsl:if>
595 </xsl:template>
The Android Open Source Projectf8057102009-03-15 16:47:16 -0700596
597</xsl:stylesheet>