diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2017-07-04 17:23:33 +0200 |
---|---|---|
committer | Morgan Richomme <morgan.richomme@orange.com> | 2017-08-09 16:45:43 +0200 |
commit | 980523c1c5fa65b4c4a786d6ddb1ddfb70a63bc6 (patch) | |
tree | 68072820e868a4688036c2425195966167fdd8fb /reporting/functest/template/index-status-tmpl.html | |
parent | 5eb90d88748ee25c0d1a858167d435a9498d175c (diff) |
Initiate packetization of Testing reporting
Testing reporting provides
- static reporting pages [1] (jinja2)
- landing pages including test case catalogue [2] (angular)
It consumes the Test API to build web pages providing status for
the testing projects (so far functest, yardstick, storperf and
qtip).
Dockerization has been initiated [3]. The goal is to replace the
static page hosted on testresults.opnfv.org by a docker regenerated
and redeployed when reporting code is changed
But the docker and more generally the testing reporting directory
must be refactored to
- manage dependencies properly
- leverage tox (py27, docs, pylint, pep8)
This patch
- setups tox (py27, pep8, pylint, docs)
- integrate the requirement management
- fix pep8 errors
- introduce 1 dummy unit test
This patch does not
- fix pylint errors
- create any doc
[1]: http://testresults.opnfv.org/reporting2/display/index.html
[2]: http://testresults.opnfv.org/reporting2/reporting/index.html
[3]: https://gerrit.opnfv.org/gerrit/#/c/36735/
Change-Id: I4613de7ca7036d6c6bbb8f58ade492b1d673599b
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
Diffstat (limited to 'reporting/functest/template/index-status-tmpl.html')
-rw-r--r-- | reporting/functest/template/index-status-tmpl.html | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/reporting/functest/template/index-status-tmpl.html b/reporting/functest/template/index-status-tmpl.html deleted file mode 100644 index cc4edaa..0000000 --- a/reporting/functest/template/index-status-tmpl.html +++ /dev/null @@ -1,157 +0,0 @@ - <html> - <head> - <meta charset="utf-8"> - <!-- Bootstrap core CSS --> - <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"> - <link href="../../css/default.css" rel="stylesheet"> - <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> - <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> - <script type="text/javascript" src="http://d3js.org/d3.v2.min.js"></script> - <script type="text/javascript" src="../../js/gauge.js"></script> - <script type="text/javascript" src="../../js/trend.js"></script> - <script> - function onDocumentReady() { - // Gauge management - {% for scenario in scenario_stats.iteritems() -%} - var gaugeScenario{{loop.index}} = gauge('#gaugeScenario{{loop.index}}'); - {%- endfor %} - - // assign success rate to the gauge - function updateReadings() { - {% for scenario,iteration in scenario_stats.iteritems() -%} - gaugeScenario{{loop.index}}.update({{scenario_results[scenario].getScorePercent()}}); - {%- endfor %} - } - updateReadings(); - } - - // trend line management - d3.csv("./scenario_history.txt", function(data) { - // *************************************** - // Create the trend line - {% for scenario,iteration in scenario_stats.iteritems() -%} - // for scenario {{scenario}} - // Filter results - var trend{{loop.index}} = data.filter(function(row) { - return row["scenario"]=="{{scenario}}" && row["installer"]=="{{installer}}"; - }) - // Parse the date - trend{{loop.index}}.forEach(function(d) { - d.date = parseDate(d.date); - d.score = +d.score - }); - // Draw the trend line - var mytrend = trend("#trend_svg{{loop.index}}",trend{{loop.index}}) - // **************************************** - {%- endfor %} - }); - if ( !window.isLoaded ) { - window.addEventListener("load", function() { - onDocumentReady(); - }, false); - } else { - onDocumentReady(); - } -</script> -<script type="text/javascript"> -$(document).ready(function (){ - $(".btn-more").click(function() { - $(this).hide(); - $(this).parent().find(".panel-default").show(); - }); -}) -</script> - - </head> - <body> - <div class="container"> - <div class="masthead"> - <h3 class="text-muted">Functest status page ({{version}}, {{date}})</h3> - <nav> - <ul class="nav nav-justified"> - <li class="active"><a href="../../index.html">Home</a></li> - <li><a href="status-apex.html">Apex</a></li> - <li><a href="status-compass.html">Compass</a></li> - <li><a href="status-fuel@x86.html">fuel@x86</a></li> - <li><a href="status-fuel@aarch64.html">fuel@aarch64</a></li> - <li><a href="status-joid.html">Joid</a></li> - </ul> - </nav> - </div> -<div class="row"> - <div class="col-md-1"></div> - <div class="col-md-10"> - <div class="page-header"> - <h2>{{installer}}</h2> - </div> - - <div class="scenario-overview"> - <div class="panel-heading"><h4><b>List of last scenarios ({{version}}) run over the last {{period}} days </b></h4></div> - <table class="table"> - <tr> - <th width="40%">Scenario</th> - <th width="20%">Status</th> - <th width="20%">Trend</th> - <th width="10%">Score</th> - <th width="10%">Iteration</th> - </tr> - {% for scenario,iteration in scenario_stats.iteritems() -%} - <tr class="tr-ok"> - <td><a href={{scenario_results[scenario].getUrlLastRun()}}>{{scenario}}</a></td> - <td><div id="gaugeScenario{{loop.index}}"></div></td> - <td><div id="trend_svg{{loop.index}}"></div></td> - <td>{{scenario_results[scenario].getScore()}}</td> - <td>{{iteration}}</td> - </tr> - {%- endfor %} - </table> - </div> - - - {% for scenario, iteration in scenario_stats.iteritems() -%} - <div class="scenario-part"> - <div class="page-header"> - <h3><span class="glyphicon glyphicon-chevron-right"> <b>{{scenario}}</b></h3> - </div> - <div class="panel panel-default"> - <div class="panel-heading"> - <span class="panel-header-item"> - </span> - </div> - <table class="table"> - <tr> - {% for test in items[scenario] -%} - <th> - {% if test.getCriteria() > -1 -%} - {{test.getDisplayName() }} - {%- endif %} - {% if test.getTier() > 3 -%} - * - {%- endif %} - </th> - {%- endfor %} - </tr> - <tr class="tr-weather-weather"> - {% for test in items[scenario] -%} - {% if test.getCriteria() > 2 -%} - <td><img src="../../img/weather-clear.png"></td> - {%- elif test.getCriteria() > 1 -%} - <td><img src="../../img/weather-few-clouds.png"></td> - {%- elif test.getCriteria() > 0 -%} - <td><img src="../../img/weather-overcast.png"></td> - {%- elif test.getCriteria() > -1 -%} - <td><img src="../../img/weather-storm.png"></td> - {%- endif %} - {%- endfor %} - </tr> - </table> - </div> - </div> - {%- endfor %} - see <a href="https://wiki.opnfv.org/pages/viewpage.action?pageId=6828617">Functest scoring wiki page</a> for details on scenario scoring - <div> <br> - <a href="./status-{{installer}}.pdf" class="myButtonPdf">Export to PDF</a> <a href="./scenario_history_{{installer}}.txt" class="myButtonCSV">Export to CSV</a> - </div> - </div> - <div class="col-md-1"></div> -</div> |