diff --git a/app/assets/javascripts/editor/editor.js.erb b/app/assets/javascripts/editor/editor.js.erb index 6be9d5dd..bf2c7215 100644 --- a/app/assets/javascripts/editor/editor.js.erb +++ b/app/assets/javascripts/editor/editor.js.erb @@ -453,13 +453,13 @@ configureEditors: function () { ul.setAttribute('class', 'error_messages_list'); errorMessagesToShow.forEach(function (item) { var li = document.createElement("li"); - var text = document.createTextNode(item); - li.appendChild(text); + var text = $.parseHTML(item); + $(li).append(text); ul.append(li); }) targetNode.append(ul); } else { - targetNode.text(errorMessagesToShow.join('')); + targetNode.html(errorMessagesToShow.join('')); } } //card.find('.row .col-sm-9').eq(4).find('a').attr('href', '#output-' + index); diff --git a/lib/py_unit_adapter.rb b/lib/py_unit_adapter.rb index cef2801f..a7921d9c 100644 --- a/lib/py_unit_adapter.rb +++ b/lib/py_unit_adapter.rb @@ -3,7 +3,7 @@ class PyUnitAdapter < TestingFrameworkAdapter FAILURES_REGEXP = /FAILED \(.*failures=(\d+).*\)/ ERRORS_REGEXP = /FAILED \(.*errors=(\d+).*\)/ # The regex below also catches new line separators. - ASSERTION_ERROR_REGEXP = /AssertionError:\s(.*)\s\s----------------------------------------------------------------------/m + ASSERTION_ERROR_REGEXP = /AssertionError:\s(.*?)\s\s----------------------------------------------------------------------/m def self.framework_name 'PyUnit' @@ -15,7 +15,7 @@ class PyUnitAdapter < TestingFrameworkAdapter failed = failures_matches ? failures_matches.captures.try(:first).to_i : 0 error_matches = ERRORS_REGEXP.match(output[:stderr]) errors = error_matches ? error_matches.captures.try(:first).to_i : 0 - assertion_error_matches = ASSERTION_ERROR_REGEXP.match(output[:stderr]).try(:captures) || [] + assertion_error_matches = output[:stderr].scan(ASSERTION_ERROR_REGEXP).flatten || [] {count: count, failed: failed + errors, error_messages: assertion_error_matches} end end