From 4d09c8a6d630872b3f1d16d8357c83115e33f45a Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Mon, 9 Nov 2020 00:00:31 +0100 Subject: [PATCH] Prevent exception if no detailed_linter_results are available --- app/models/linter_check_run.rb | 2 +- lib/py_lint_adapter.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/models/linter_check_run.rb b/app/models/linter_check_run.rb index c53ce92c..3c84881f 100644 --- a/app/models/linter_check_run.rb +++ b/app/models/linter_check_run.rb @@ -6,7 +6,7 @@ class LinterCheckRun < ApplicationRecord belongs_to :file, class_name: 'CodeOcean::File' def self.create_from(testrun, assessment) - assessment[:detailed_linter_results].each do |linter_result| + assessment[:detailed_linter_results]&.each do |linter_result| check = LinterCheck.find_or_create_by!(code: linter_result[:code]) do |new_check| new_check.name = linter_result[:name] new_check.severity = linter_result[:severity] diff --git a/lib/py_lint_adapter.rb b/lib/py_lint_adapter.rb index e3e68681..b848bf4f 100644 --- a/lib/py_lint_adapter.rb +++ b/lib/py_lint_adapter.rb @@ -44,6 +44,8 @@ class PyLintAdapter < TestingFrameworkAdapter # The message will be translated once the results were stored in the database # See SubmissionScoring for actual function call + return assessment unless assessment[:detailed_linter_results].present? + assessment[:detailed_linter_results].map! do |message| severity = message[:severity] name = message[:name]