Merge pull request #165 from openHPI/parse-rfc-run-output

Parse rfc run output
This commit is contained in:
rteusner
2018-04-11 15:39:10 +02:00
committed by GitHub
2 changed files with 76 additions and 52 deletions

View File

@ -53,14 +53,21 @@
} }
} }
}
.testrun-assess-results { .testrun-assess-results {
.testrun-container {
display: flex; display: flex;
margin-bottom: 10px;
.testrun-output {
overflow-x: auto;
flex-grow: 1;
}
}
.result { .result {
margin-right: 10px; margin-right: 10px;
margin-top: 20px;
width: 10px; width: 10px;
height: 10px; height: 10px;
} }
@ -112,6 +119,7 @@
width: 100%; width: 100%;
height: 200px; height: 200px;
} }
}
#commentitor { #commentitor {
margin-bottom: 2rem; margin-bottom: 2rem;

View File

@ -43,10 +43,20 @@
<% output_runs = testruns.select { |run| run.cause == 'run' } %> <% output_runs = testruns.select { |run| run.cause == 'run' } %>
<% if output_runs.size > 0 %> <% if output_runs.size > 0 %>
<h5><%= t('request_for_comments.runtime_output') %></h5> <h5><%= t('request_for_comments.runtime_output') %></h5>
<div class="testrun-output text"> <div class="collapsed testrun-output text">
<span class="fa fa-chevron-up collapse-button"></span> <span class="fa fa-chevron-down collapse-button"></span>
<% output_runs.each do |testrun| %> <% output_runs.each do |testrun| %>
<pre><%= testrun.try(:output) or t('request_for_comments.no_output') %></pre> <%
output = testrun.try(:output)
if output
messages = output.scan(/{(?:(?:".+?":".+?")+?,?)+}/)
messages.map! {|el| JSON.parse(el)}
messages.keep_if {|message| message['cmd'] == 'write'}
messages.map! {|message| message['data']}
output = messages.join ''
end
%>
<pre><%= output or t('request_for_comments.no_output') %></pre>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>
@ -56,7 +66,13 @@
<h5><%= t('request_for_comments.test_results') %></h5> <h5><%= t('request_for_comments.test_results') %></h5>
<div class="testrun-assess-results"> <div class="testrun-assess-results">
<% assess_runs.each do |testrun| %> <% assess_runs.each do |testrun| %>
<div class="result <%= testrun.passed ? 'passed' : 'failed' %>" title="<%= testrun.output %>"></div> <div class="testrun-container">
<div class="result <%= testrun.passed ? 'passed' : 'failed' %>"></div>
<div class="collapsed testrun-output text">
<span class="fa fa-chevron-down collapse-button"></span>
<pre><%= testrun.output or t('request_for_comments.no_output')%></pre>
</div>
</div>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>