123 lines
5.1 KiB
HTML
123 lines
5.1 KiB
HTML
<header class="bs-header">
|
|
<div class="container">
|
|
<h1 class="page-header">{{ testCtrl.testShortName }}</h1>
|
|
<crumb-menu show-resolution="true" show-period="true">
|
|
<li>Test: {{testCtrl.testShortName }}</li>
|
|
</crumb-menu>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<loading-indicator></loading-indicator>
|
|
<fresh-check></fresh-check>
|
|
</div>
|
|
</div>
|
|
<div class=row>
|
|
<div class="col-lg-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Run Time</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<chart-scatter data="testCtrl.timeData" width="100%" height="450" force-y="[0]" ></chart-scatter>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Passes and Failures</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<chart-stack-area data="testCtrl.statusData" width="100%" height="450"></chart-stack-area>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Total Test Status Counts</h3>
|
|
</div>
|
|
<table class="table table-hover default-cols">
|
|
<thead>
|
|
<tr>
|
|
<th>Status</th>
|
|
<th>Count</th>
|
|
<th>Percentage</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Successes</td>
|
|
<td>{{testCtrl.totalCounts.passes}}</td>
|
|
<td>{{testCtrl.totalCounts.passPercent|number:2}}%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Failures</td>
|
|
<td>{{testCtrl.totalCounts.fails}}</td>
|
|
<td>{{testCtrl.totalCounts.failPercent|number:2}}%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Skips</td>
|
|
<td>{{testCtrl.totalCounts.skips}}</td>
|
|
<td>{{testCtrl.totalCounts.skipPercent|number:2}}%</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Recent Failures</h3>
|
|
</div>
|
|
<div class="table-responsive">
|
|
<table table-sort data="testCtrl.recentRuns"
|
|
class="table table-hover default-cols">
|
|
<thead>
|
|
<tr>
|
|
<th sort-field="job_name">Job Name</th>
|
|
<th sort-field="provider">Node Provider</th>
|
|
<th sort-default sort-field="run_at">Run At</th>
|
|
<th sort-field="artifacts">Link</th>
|
|
<th sort-field="bugs">Likely Bugs</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr table-ref="table" ng-repeat="run in table.dataSorted">
|
|
<td><a ui-sref="job({ jobName: run.job_name })">{{ run.job_name }}</a></td>
|
|
<td><a ui-sref="groupedRuns({ runMetadataKey: 'node_provider', name: run.provider })">{{ run.provider }}</a></td>
|
|
<td class="nowrap">{{ run.run_at | date:'M/d/yyyy HH:mm' }}</td>
|
|
<td>
|
|
<a target="_blank" href="{{ run.artifacts }}">
|
|
{{ run.artifacts }}
|
|
<fa name="external-link"></fa>
|
|
</a>
|
|
</td>
|
|
<td>
|
|
<span ng-if="!!value.bugs">
|
|
<a ng-repeat="bug in value.bugs"
|
|
href="https://launchpad.net/bugs/{{bug}}"
|
|
uib-tooltip="Launchpad Bugs: {{bug}}"
|
|
target="_blank">{{bug}} <fa name="external-link"></fa>
|
|
</a>
|
|
</span>
|
|
<span ng-if="!value.bugs">-</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|