File tree Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -1111,13 +1111,9 @@ def open(self):
11111111 self .stats [msg_cat ] = 0
11121112
11131113 def generate_reports (self ):
1114- """close the whole package /module, it's time to make reports !
1115-
1116- if persistent run, pickle results for later comparison
1117- """
1118- # Display whatever messages are left on the reporter.
1119- self .reporter .display_messages (report_nodes .Section ())
1114+ """Close the whole package /module, it's time to make reports !
11201115
1116+ if persistent run, pickle results for later comparison."""
11211117 if self .file_state .base_name is not None :
11221118 # load previous results if any
11231119 previous_stats = config .load_results (self .file_state .base_name )
@@ -1136,6 +1132,8 @@ def generate_reports(self):
11361132 else :
11371133 self .reporter .on_close (self .stats , {})
11381134 score_value = None
1135+ # Display whatever messages are left on the reporter.
1136+ self .reporter .display_messages (report_nodes .Section ())
11391137 return score_value
11401138
11411139 def _report_evaluation (self ):
Original file line number Diff line number Diff line change 1111# For details: https://github.com/PyCQA/pylint/blob/master/COPYING
1212
1313"""JSON reporter"""
14+ import io
1415import json
1516import sys
1617
1718from pylint .interfaces import IReporter
1819from pylint .reporters .base_reporter import BaseReporter
20+ from pylint .reporters .ureports .text_writer import TextWriter
1921
2022
2123class JSONReporter (BaseReporter ):
@@ -50,7 +52,10 @@ def display_messages(self, layout):
5052 print (json .dumps (self .messages , indent = 4 ), file = self .out )
5153
5254 def display_reports (self , layout ):
53- """Don't do anything in this reporter."""
55+ output = io .StringIO ()
56+ TextWriter ().format (layout , output )
57+ score = output .getvalue ().split ("\n " )[1 ]
58+ self .messages .append ({"score" : score })
5459
5560 def _display (self , layout ):
5661 """Do nothing."""
Original file line number Diff line number Diff line change @@ -392,7 +392,7 @@ def test_json_report_does_not_escape_quotes(self):
392392 self ._runtest ([module ], code = 4 , reporter = JSONReporter (out ))
393393 output = json .loads (out .getvalue ())
394394 assert isinstance (output , list )
395- assert len (output ) == 1
395+ assert len (output ) == 2
396396 assert isinstance (output [0 ], dict )
397397 expected = {
398398 "symbol" : "unused-variable" ,
@@ -403,10 +403,13 @@ def test_json_report_does_not_escape_quotes(self):
403403 "line" : 4 ,
404404 "type" : "warning" ,
405405 }
406+
406407 message = output [0 ]
407408 for key , value in expected .items ():
408409 assert key in message
409410 assert message [key ] == value
411+ expected = {"score" : "Your code has been rated at 7.50/10" }
412+ assert output [- 1 ] == expected
410413
411414 def test_information_category_disabled_by_default (self ):
412415 expected = "Your code has been rated at 10.00/10"
You can’t perform that action at this time.
0 commit comments